expm1l: Don't override undeclared system function on IRIX 6.5.
[gnulib.git] / ChangeLog
1 2012-03-07  Bruno Haible  <bruno@clisp.org>
2
3         expm1l: Don't override undeclared system function on IRIX 6.5.
4         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
5         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
6         it exists. Set HAVE_DECL_EXPM1L.
7         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
8         HAVE_EXPM1L.
9         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
10         HAVE_EXPM1L.
11         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
12
13 2012-03-07  Bruno Haible  <bruno@clisp.org>
14
15         remainderl: Don't override undeclared system function on IRIX 6.5.
16         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
17         HAVE_REMAINDERL.
18         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
19         declared when it exists. Set HAVE_DECL_REMAINDERL.
20         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
21         not HAVE_REMAINDERL.
22         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
23         HAVE_REMAINDERL.
24         * doc/posix-functions/remainderl.texi: Mention missing declaration
25         problem.
26
27 2012-03-07  Bruno Haible  <bruno@clisp.org>
28
29         rintf: Don't override undeclared system function on IRIX 6.5.
30         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
31         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
32         exists. Set HAVE_DECL_RINTF.
33         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
34         HAVE_RINTF.
35         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
36         HAVE_RINTF.
37         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
38
39 2012-03-07  Bruno Haible  <bruno@clisp.org>
40
41         roundl: Avoid compilation error on AIX.
42         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
43         AIX 5.2..7.1.
44
45 2012-03-07  Bruno Haible  <bruno@clisp.org>
46
47         roundl: Don't override undeclared system function on IRIX 6.5.
48         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
49         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
50         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
51         * modules/roundl (configure.ac): For replacement code, test
52         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
53         (Depends-on): Update conditions.
54         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
55
56 2012-03-07  Bruno Haible  <bruno@clisp.org>
57
58         roundf: Don't override undeclared system function on IRIX 6.5.
59         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
60         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
61         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
62         * modules/roundf (configure.ac): For replacement code, test
63         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
64         (Depends-on): Update conditions.
65         * modules/roundf-ieee (Depends-on): Update conditions.
66         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
67
68 2012-03-07  Bruno Haible  <bruno@clisp.org>
69
70         round: Don't override undeclared system function on IRIX 6.5.
71         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
72         argument.
73         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
74         also when it is not declared. Set HAVE_ROUND. For replacement code,
75         test HAVE_ROUND, not HAVE_DECL_ROUND.
76         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
77         not HAVE_DECL_ROUND.
78         (Depends-on): Update conditions.
79         * modules/round-ieee (Depends-on): Update conditions.
80         * doc/posix-functions/round.texi: Mention the IRIX problem.
81
82 2012-03-07  Bruno Haible  <bruno@clisp.org>
83
84         copysignf: Don't override undeclared system function on IRIX 6.5.
85         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
86         HAVE_COPYSIGNF.
87         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
88         declared when it exists. Set HAVE_DECL_COPYSIGNF.
89         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
90         not HAVE_COPYSIGNF.
91         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
92         HAVE_COPYSIGNF.
93         * doc/posix-functions/copysignf.texi: Mention missing declaration
94         problem.
95
96 2012-03-07  Jim Meyering  <meyering@redhat.com>
97
98         readtokens: add tests
99         * modules/readtokens-tests: New file.
100         * tests/test-readtokens.c: New file.
101
102 2012-03-07  Jim Meyering  <meyering@redhat.com>
103
104         quotearg: the module must now include quote.h
105         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
106         So must the module.
107         * modules/quotearg (Files): Add quote.h.
108
109 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
110
111         readtokens: avoid core dumps with unusual calling patterns
112         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
113         * lib/readtokens.c: Include limits.h.
114         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
115         (readtoken): Don't cache the delimiters; the cache code was buggy
116         if !delim && saved_delim, or if the new n_delim differs from the old.
117         Also, it wasn't thread-safe.
118
119 2012-03-07  Bruno Haible  <bruno@clisp.org>
120
121         quote: Adhere to common module description layout.
122         * modules/quote (Makefile.am): Add back empty section.
123
124 2012-03-06  Akim Demaille  <demaille@gostai.com>
125
126         quote: fuse into quotearg
127         This patch is made for the benefit of Bison.
128         quote does not leave the choice of the quoting style to the user.
129         quoting_style provides poor customizability, yet quoting_options,
130         which is very rich, is hidden inside quotearg.c.  So in order to
131         allow quote customization, move its implementation to quotearg.c.
132         * lib/quote.c: Remove.
133         * modules/quote: Adjust.
134         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
135         warning: provide all the members of literal structs.
136         (quote_quoting_options): New.
137         (quote, quote_n): Import implementation from quote.c.
138         * lib/quote.h: Import the comments from quote.c.
139         (quote_quoting_options): New.
140
141 2012-03-06  Bruno Haible  <bruno@clisp.org>
142
143         Tests for module 'expm1l-ieee'.
144         * modules/expm1l-ieee-tests: New file.
145         * tests/test-expm1l-ieee.c: New file.
146
147         New module 'expm1l-ieee'.
148         * modules/expm1l-ieee: New file.
149
150         Tests for module 'expm1f-ieee'.
151         * modules/expm1f-ieee-tests: New file.
152         * tests/test-expm1f-ieee.c: New file.
153
154         New module 'expm1f-ieee'.
155         * modules/expm1f-ieee: New file.
156
157         Tests for module 'expm1-ieee'.
158         * modules/expm1-ieee-tests: New file.
159         * tests/test-expm1-ieee.c: New file.
160         * tests/test-expm1-ieee.h: New file.
161
162         New module 'expm1-ieee'.
163         * modules/expm1-ieee: New file.
164         * m4/expm1-ieee.m4: New file.
165         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
166         whether expm1 works with a minus zero argument. Replace it if not.
167         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
168         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
169         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
170         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
171         (Depends-on): Update conditions.
172         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
173         AIX problem.
174
175 2012-03-06  Bruno Haible  <bruno@clisp.org>
176
177         Work around expm1f bug on IRIX 6.5.
178         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
179         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
180         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
181         not work.
182         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
183         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
184         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
185         (Depends-on): Update conditions.
186         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
187
188 2012-03-06  Bruno Haible  <bruno@clisp.org>
189
190         Tests for module 'expm1l'.
191         * modules/expm1l-tests: New file.
192         * tests/test-expm1l.c: New file.
193
194         New module 'expm1l'.
195         * lib/math.in.h (expm1l): New declaration.
196         * lib/expm1l.c: New file.
197         * m4/expm1l.m4: New file.
198         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
199         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
200         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
201         * modules/expm1l: New file.
202         * tests/test-math-c++.cc: Check the declaration of expm1l.
203         * doc/posix-functions/expm1l.texi: Mention the new module.
204
205 2012-03-06  Bruno Haible  <bruno@clisp.org>
206
207         Tests for module 'expm1f'.
208         * modules/expm1f-tests: New file.
209         * tests/test-expm1f.c: New file.
210
211         New module 'expm1f'.
212         * lib/math.in.h (expm1f): New declaration.
213         * lib/expm1f.c: New file.
214         * m4/expm1f.m4: New file.
215         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
216         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
217         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
218         * modules/expm1f: New file.
219         * tests/test-math-c++.cc: Check the declaration of expm1f.
220         * doc/posix-functions/expm1f.texi: Mention the new module.
221
222 2012-03-06  Bruno Haible  <bruno@clisp.org>
223
224         Tests for module 'expm1'.
225         * modules/expm1-tests: New file.
226         * tests/test-expm1.c: New file.
227         * tests/test-expm1.h: New file.
228
229         New module 'expm1'.
230         * lib/math.in.h (expm1): New declaration.
231         * lib/expm1.c: New file.
232         * m4/expm1.m4: New file.
233         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
234         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
235         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
236         * modules/expm1: New file.
237         * tests/test-math-c++.cc: Check the declaration of expm1.
238         * doc/posix-functions/expm1.texi: Mention the new module.
239
240 2012-03-06  Bruno Haible  <bruno@clisp.org>
241
242         math: Ensure declarations of math functions.
243         * modules/acosf (Depends-on): Add 'extensions'.
244         * modules/asinf (Depends-on): Likewise.
245         * modules/atan2f (Depends-on): Likewise.
246         * modules/atanf (Depends-on): Likewise.
247         * modules/cbrt (Depends-on): Likewise.
248         * modules/cbrtf (Depends-on): Likewise.
249         * modules/cbrtl (Depends-on): Likewise.
250         * modules/copysignf (Depends-on): Likewise.
251         * modules/copysignl (Depends-on): Likewise.
252         * modules/cosf (Depends-on): Likewise.
253         * modules/coshf (Depends-on): Likewise.
254         * modules/expf (Depends-on): Likewise.
255         * modules/fabsf (Depends-on): Likewise.
256         * modules/fabsl (Depends-on): Likewise.
257         * modules/fmaf (Depends-on): Likewise.
258         * modules/fmal (Depends-on): Likewise.
259         * modules/fmodf (Depends-on): Likewise.
260         * modules/fmodl (Depends-on): Likewise.
261         * modules/frexpf (Depends-on): Likewise.
262         * modules/frexpl (Depends-on): Likewise.
263         * modules/hypot (Depends-on): Likewise.
264         * modules/hypotf (Depends-on): Likewise.
265         * modules/hypotl (Depends-on): Likewise.
266         * modules/ldexpf (Depends-on): Likewise.
267         * modules/ldexpl (Depends-on): Likewise.
268         * modules/log10f (Depends-on): Likewise.
269         * modules/log10l (Depends-on): Likewise.
270         * modules/log1p (Depends-on): Likewise.
271         * modules/logb (Depends-on): Likewise.
272         * modules/logf (Depends-on): Likewise.
273         * modules/modff (Depends-on): Likewise.
274         * modules/modfl (Depends-on): Likewise.
275         * modules/powf (Depends-on): Likewise.
276         * modules/remainderf (Depends-on): Likewise.
277         * modules/remainderl (Depends-on): Likewise.
278         * modules/rintf (Depends-on): Likewise.
279         * modules/rintl (Depends-on): Likewise.
280         * modules/sinf (Depends-on): Likewise.
281         * modules/sinhf (Depends-on): Likewise.
282         * modules/sqrtf (Depends-on): Likewise.
283         * modules/tanf (Depends-on): Likewise.
284         * modules/tanhf (Depends-on): Likewise.
285         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
286         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
287         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
288         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
289         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
290         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
291         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
292         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
293         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
294         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
295         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
296         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
297         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
298         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
299         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
300         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
301         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
302         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
303         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
304         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
305         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
306         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
307         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
308         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
309         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
310         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
311         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
312         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
313         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
314         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
315         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
316         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
317         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
318         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
319         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
320         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
321         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
322         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
323         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
324         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
325         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
326
327 2012-03-06  Bruno Haible  <bruno@clisp.org>
328
329         math: Update module names in warnings.
330         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
331         tanl): Use specific module name in warn-on-use warning.
332
333 2012-03-06  Bruno Haible  <bruno@clisp.org>
334
335         expl: Simplify computation.
336         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
337
338 2012-03-05  Bruno Haible  <bruno@clisp.org>
339
340         exp* tests: More tests.
341         * tests/test-exp.h: New file.
342         * tests/test-exp.c: Include <float.h> and test-exp.h.
343         (main): Invoke test_function.
344         * tests/test-expf.c: Include <float.h> and test-exp.h.
345         (main): Invoke test_function.
346         * tests/test-expl.c: Include <float.h> and test-exp.h.
347         (main): Invoke test_function.
348         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
349         (Makefile.am): Add randomd.c to test_exp_SOURCES.
350         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
351         (Makefile.am): Add randomf.c to test_expf_SOURCES.
352         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
353         (Depends-on): Add 'float'.
354         (Makefile.am): Add randoml.c to test_expl_SOURCES.
355
356         expl: Fix precision of computed result.
357         * lib/expl.c: Completely rewritten.
358         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
359         (Maintainer): Add me.
360         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
361
362 2012-03-05  Bruno Haible  <bruno@clisp.org>
363
364         cbrt* tests: More tests.
365         * tests/test-cbrt.h: New file.
366         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
367         (main): Invoke test_function.
368         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
369         (main): Invoke test_function.
370         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
371         (main): Invoke test_function.
372         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
373         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
374         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
375         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
376         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
377         (Depends-on): Add 'float'.
378         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
379
380 2012-03-05  Bruno Haible  <bruno@clisp.org>
381
382         hypot* tests: More tests.
383         * tests/test-hypot.h: New file, partially extracted from
384         tests/test-hypotl.c.
385         * tests/test-hypot.c: Include test-hypot.h.
386         (main): Invoke test_function.
387         * tests/test-hypotf.c: Include test-hypot.h.
388         (main): Invoke test_function.
389         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
390         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
391         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
392         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
393         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
394         tests/randomf.c.
395         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
396         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
397         tests/randoml.c.
398         (Depends-on): Add 'fpucw', 'float'.
399         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
400
401 2012-03-05  Bruno Haible  <bruno@clisp.org>
402
403         fpucw: Doc about FreeBSD.
404         * lib/fpucw.h: Mention FreeBSD in comments.
405
406 2012-03-04  Bruno Haible  <bruno@clisp.org>
407
408         sqrt* tests: More tests.
409         * tests/test-sqrt.h: New file.
410         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
411         (main): Invoke test_function.
412         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
413         (main): Invoke test_function.
414         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
415         (main): Invoke test_function.
416         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
417         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
418         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
419         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
420         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
421         (Depends-on): Add 'float'.
422         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
423
424 2012-03-04  Bruno Haible  <bruno@clisp.org>
425
426         remainder* tests: More tests.
427         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
428         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
429         (main): Invoke test_function.
430         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
431         (main): Invoke test_function.
432         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
433         (main): Invoke test_function.
434         * modules/remainder-tests (Files): Add tests/test-remainder.h,
435         tests/randomd.c.
436         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
437         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
438         tests/randomf.c.
439         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
440         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
441         tests/randoml.c.
442         (Depends-on): Add 'float'.
443         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
444
445 2012-03-04  Bruno Haible  <bruno@clisp.org>
446
447         remainder, remainderf, remainderl: Fix computation for large quotients.
448         * lib/remainder.c: Completely rewritten.
449         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
450         USE_FLOAT.
451         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
452         USE_LONG_DOUBLE.
453         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
454         isnand, isinf. Remove round, fma.
455         * modules/remainderf (Files): Add lib/remainder.c.
456         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
457         Remove roundf, fmaf.
458         * modules/remainderl (Files): Add lib/remainder.c.
459         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
460         isinf. Remove roundl, fmal.
461         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
462         REMAINDER_LIBM.
463         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
464         REMAINDERF_LIBM.
465         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
466         REMAINDERL_LIBM.
467
468 2012-03-04  Bruno Haible  <bruno@clisp.org>
469
470         fmod* tests: More tests.
471         * tests/test-fmod.h (my_ldexp): New function.
472         (test_function): Reduce amount of random numbers to test. Add tests
473         of very large quotients x / y.
474         * tests/test-fmod.c (MAX_EXP): New macro.
475         * tests/test-fmodf.c (MAX_EXP): Likewise.
476         * tests/test-fmodl.c (MAX_EXP): Likewise.
477
478 2012-03-04  Bruno Haible  <bruno@clisp.org>
479
480         fmod, fmodl: Fix computation for large quotients x / y.
481         * lib/fmod.c: Completely rewritten.
482         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
483         USE_LONG_DOUBLE.
484         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
485         isnand. Remove fma.
486         * modules/fmodl (Files): Add lib/fmod.c.
487         (Depends-on): Add float, isfinite, signbit, fabsl,
488         frexpl, ldexpl, isnanl. Remove fma.
489         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
490         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
491
492 2012-03-03  Bruno Haible  <bruno@clisp.org>
493
494         fmod* tests: More tests.
495         * tests/test-fmod.h: New file.
496         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
497         (main): Invoke test_function.
498         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
499         (main): Invoke test_function.
500         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
501         (main): Invoke test_function.
502         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
503         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
504         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
505         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
506         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
507         (Depends-on): Add 'float'.
508         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
509
510 2012-03-03  Bruno Haible  <bruno@clisp.org>
511
512         rint* tests: More tests.
513         * tests/test-rint.h: New file, partially extracted from
514         tests/test-rintl.c.
515         * tests/test-rint.c: Include test-rint.h.
516         (main): Invoke test_function.
517         * tests/test-rintf.c: Include test-rint.h.
518         (main): Invoke test_function.
519         * tests/test-rintl.c: Include test-rint.h.
520         (main): Invoke test_function.
521         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
522         (Makefile.am): Add randomd.c to test_rint_SOURCES.
523         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
524         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
525         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
526         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
527
528 2012-03-03  Bruno Haible  <bruno@clisp.org>
529
530         modf* tests: More tests.
531         * tests/test-modf.h: New file.
532         * tests/test-modf.c: Include <float.h> and test-modf.h.
533         (main): Invoke test_function.
534         * tests/test-modff.c: Include <float.h> and test-modf.h.
535         (main): Invoke test_function.
536         * tests/test-modfl.c: Include <float.h> and test-modf.h.
537         (main): Invoke test_function.
538         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
539         (Makefile.am): Add randomd.c to test_modf_SOURCES.
540         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
541         (Makefile.am): Add randomf.c to test_modff_SOURCES.
542         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
543         (Depends-on): Add 'float'.
544         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
545
546 2012-03-03  Bruno Haible  <bruno@clisp.org>
547
548         fabs* tests: More tests.
549         * tests/test-fabs.h: New file, partially extracted from
550         tests/test-fabsl.c.
551         * tests/test-fabs.c (RANDOM): New macro.
552         * tests/test-fabsf.c (RANDOM): New macro.
553         * tests/test-fabsl.c (RANDOM): New macro.
554         * modules/fabs-tests (Files): Add tests/randomd.c.
555         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
556         * modules/fabsf-tests (Files): Add tests/randomf.c.
557         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
558         * modules/fabsl-tests (Files): Add tests/randoml.c.
559         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
560
561 2012-03-03  Bruno Haible  <bruno@clisp.org>
562
563         ldexp* tests: More tests.
564         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
565         * tests/test-ldexp.c (RANDOM): New macro.
566         * tests/test-ldexpf.c (RANDOM): New macro.
567         * tests/test-ldexpl.c (RANDOM): New macro.
568         * modules/ldexp-tests (Files): Add tests/randomd.c.
569         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
570         * modules/ldexpf-tests (Files): Add tests/randomf.c.
571         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
572         * modules/ldexpl-tests (Files): Add tests/randoml.c.
573         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
574
575 2012-03-03  Bruno Haible  <bruno@clisp.org>
576
577         frexp* tests: More tests.
578         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
579         * tests/test-frexp.c (RANDOM): New macro.
580         * tests/test-frexpf.c (RANDOM): New macro.
581         * tests/test-frexpl.c (RANDOM): New macro.
582         * modules/frexp-tests (Files): Add tests/randomd.c.
583         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
584         * modules/frexpf-tests (Files): Add tests/randomf.c.
585         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
586         * modules/frexpl-tests (Files): Add tests/randoml.c.
587         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
588
589 2012-03-03  Bruno Haible  <bruno@clisp.org>
590
591         Support for pseudo-random numbers in tests.
592         * tests/randomf.c: New file.
593         * tests/randomd.c: New file.
594         * tests/randoml.c: New file.
595         * tests/macros.h (randomf, randomd, randoml): New declarations.
596
597 2012-03-03  Bruno Haible  <bruno@clisp.org>
598
599         frexp* tests: Refactor.
600         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
601         * tests/test-frexp.c: Include and use it.
602         * tests/test-frexpf.c: Likewise.
603         * tests/test-frexpl.c: Likewise.
604         * modules/frexp-tests (Files): Add tests/test-frexp.h.
605         * modules/frexpf-tests (Files): Likewise.
606         * modules/frexpl-tests (Files): Likewise.
607
608 2012-03-02  Jim Meyering  <meyering@redhat.com>
609
610         maint: don't specify XZ_OPT=-9ev in dist-related rule
611         Using xz's -9 option is warranted only if you have a very large
612         tarball (see xz's documentation for the sizes vs. presets), and
613         requires 64MiB of memory at decompression time.
614         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
615         Automake's default of just "-e" is fine.  Override on a
616         per-package basis by setting XZ_OPT e.g., in cfg.mk.
617
618 2012-03-01  Eric Blake  <eblake@redhat.com>
619
620         maint.mk: allow announcement for non-gnulib project
621         * maint.mk (announcement): Skip gnulib version if not used.
622
623 2012-03-01  Jim Meyering  <meyering@redhat.com>
624
625         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
626         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
627         envvar settings cannot interfere.  Otherwise, setting envvars like
628         prohibit=foo require=bar, etc. would cause spurious test failures.
629
630 2012-03-01  Eric Blake  <eblake@redhat.com>
631
632         maint.mk: add per-line exclusions to prohibitions
633         * maint.mk (_sc_search_regexp): Add $exclude parameter.
634         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
635         (sc_const_long_option): Use it.
636
637 2012-03-01  Bruno Haible  <bruno@clisp.org>
638
639         Tests for module 'expl-ieee'.
640         * modules/expl-ieee-tests: New file.
641         * tests/test-expl-ieee.c: New file.
642
643         New module 'expl-ieee'.
644         * modules/expl-ieee: New file.
645
646         Tests for module 'exp-ieee'.
647         * modules/exp-ieee-tests: New file.
648         * tests/test-exp-ieee.c: New file.
649
650         New module 'exp-ieee'.
651         * modules/exp-ieee: New file.
652
653         Tests for module 'expf-ieee'.
654         * modules/expf-ieee-tests: New file.
655         * tests/test-expf-ieee.c: New file.
656         * tests/test-exp-ieee.h: New file.
657
658         New module 'expf-ieee'.
659         * modules/expf-ieee: New file.
660
661 2012-02-29  Bruno Haible  <bruno@clisp.org>
662
663         cbrtl-ieee: Work around test failure on IRIX 6.5.
664         * m4/cbrtl-ieee.m4: New file.
665         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
666         test whether cbrtl works with a minus zero argument. Replace it if not.
667         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
668         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
669         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
670         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
671         (Depends-on): Update conditions.
672         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
673         m4/signbit.m4.
674         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
675         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
676         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
677
678         Tests for module 'cbrtl-ieee'.
679         * modules/cbrtl-ieee-tests: New file.
680         * tests/test-cbrtl-ieee.c: New file.
681
682         New module 'cbrtl-ieee'.
683         * modules/cbrtl-ieee: New file.
684
685         Tests for module 'cbrt-ieee'.
686         * modules/cbrt-ieee-tests: New file.
687         * tests/test-cbrt-ieee.c: New file.
688
689         New module 'cbrt-ieee'.
690         * modules/cbrt-ieee: New file.
691
692         Tests for module 'cbrtf-ieee'.
693         * modules/cbrtf-ieee-tests: New file.
694         * tests/test-cbrtf-ieee.c: New file.
695         * tests/test-cbrt-ieee.h: New file.
696
697         New module 'cbrtf-ieee'.
698         * modules/cbrtf-ieee: New file.
699
700 2012-02-29  Bruno Haible  <bruno@clisp.org>
701
702         cbrtf: Work around bug in IRIX 6.5 system function.
703         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
704         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
705         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
706         work.
707         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
708         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
709         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
710         (Depends-on): Update conditions.
711         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
712
713 2012-02-29  Bruno Haible  <bruno@clisp.org>
714
715         Tests for module 'cbrtl'.
716         * modules/cbrtl-tests: New file.
717         * tests/test-cbrtl.c: New file.
718
719         New module 'cbrtl'.
720         * lib/math.in.h (cbrtl): New declaration.
721         * lib/cbrtl.c: New file.
722         * m4/cbrtl.m4: New file.
723         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
724         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
725         HAVE_DECL_CBRTL.
726         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
727         HAVE_DECL_CBRTL.
728         * modules/cbrtl: New file.
729         * tests/test-math-c++.cc: Check the declaration of cbrtl.
730         * doc/posix-functions/cbrtl.texi: Mention the new module.
731
732 2012-02-29  Bruno Haible  <bruno@clisp.org>
733
734         Tests for module 'cbrtf'.
735         * modules/cbrtf-tests: New file.
736         * tests/test-cbrtf.c: New file.
737
738         New module 'cbrtf'.
739         * lib/math.in.h (cbrtf): New declaration.
740         * lib/cbrtf.c: New file.
741         * m4/cbrtf.m4: New file.
742         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
743         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
744         HAVE_DECL_CBRTF.
745         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
746         HAVE_DECL_CBRTF.
747         * modules/cbrtf: New file.
748         * tests/test-math-c++.cc: Check the declaration of cbrtf.
749         * doc/posix-functions/cbrtf.texi: Mention the new module.
750
751 2012-02-29  Bruno Haible  <bruno@clisp.org>
752
753         cbrt: Provide replacement on MSVC and Minix.
754         * lib/math.in.h (cbrt): New declaration.
755         * lib/cbrt.c: New file.
756         * m4/cbrt.m4: New file.
757         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
758         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
759         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
760         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
761         (Depends-on): Add dependencies.
762         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
763         * tests/test-math-c++.cc: Check the declaration of cbrt.
764         * doc/posix-functions/cbrt.texi: Mention that the module provides a
765         replacement.
766
767 2012-02-29  Bruno Haible  <bruno@clisp.org>
768
769         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
770         * m4/hypotl-ieee.m4: New file.
771         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
772         test whether hypotl works with mixed NaN and Infinity arguments.
773         Replace it if not.
774         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
775         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
776         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
777         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
778         (Depends-on): Update conditions.
779         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
780         (Depends-on): Add hypot-ieee.
781         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
782         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
783
784         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
785         * m4/hypotf-ieee.m4: New file.
786         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
787         test whether hypotf works with mixed NaN and Infinity arguments.
788         Replace it if not.
789         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
790         (Depends-on): Add hypot-ieee.
791         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
792         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
793
794         hypot-ieee: Work around test failure on OSF/1 and native Windows.
795         * lib/math.in.h (hypot): New declaration.
796         * lib/hypot.c: New file.
797         * m4/hypot-ieee.m4: New file.
798         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
799         whether hypot works with mixed NaN and Infinity arguments. Replace it
800         if not.
801         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
802         REPLACE_HYPOT.
803         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
804         * modules/hypot (Files): Add lib/hypot.c.
805         (Depends-on): Add dependencies.
806         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
807         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
808         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
809         * tests/test-math-c++.cc: Check the declaration of hypot.
810         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
811
812         Tests for module 'hypotl-ieee'.
813         * modules/hypotl-ieee-tests: New file.
814         * tests/test-hypotl-ieee.c: New file.
815
816         New module 'hypotl-ieee'.
817         * modules/hypotl-ieee: New file.
818
819         Tests for module 'hypot-ieee'.
820         * modules/hypot-ieee-tests: New file.
821         * tests/test-hypot-ieee.c: New file.
822
823         New module 'hypot-ieee'.
824         * modules/hypot-ieee: New file.
825
826         Tests for module 'hypotf-ieee'.
827         * modules/hypotf-ieee-tests: New file.
828         * tests/test-hypotf-ieee.c: New file.
829         * tests/test-hypot-ieee.h: New file.
830
831         New module 'hypotf-ieee'.
832         * modules/hypotf-ieee: New file.
833
834 2012-02-29  Bruno Haible  <bruno@clisp.org>
835
836         Remove unused variables.
837         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
838         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
839         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
840         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
841
842 2012-02-29  Eric Blake  <eblake@redhat.com>
843
844         termios: fix pid_t always, not just for tcgetsid
845         * doc/posix-headers/termios.texi (termios.h): Mention problem.
846         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
847         just when building tcgetsid.
848
849 2012-02-29  Bruno Haible  <bruno@clisp.org>
850
851         Tests for module 'hypotl'.
852         * modules/hypotl-tests: New file.
853         * tests/test-hypotl.c: New file.
854
855         New module 'hypotl'.
856         * lib/math.in.h (hypotl): New declaration.
857         * lib/hypotl.c: New file.
858         * m4/hypotl.m4: New file.
859         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
860         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
861         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
862         * modules/hypotl: New file.
863         * tests/test-math-c++.cc: Check the hypotl declaration.
864         * doc/posix-functions/hypotl.texi: Mention the new module.
865
866 2012-02-29  Eric Blake  <eblake@redhat.com>
867
868         tcgetsid: fix cygwin header bug
869         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
870
871         docs: update cygwin progress
872         * doc/posix-functions/llround.texi (llround): Added in cygwin
873         1.7.8.
874         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
875         * doc/glibc-functions/program_invocation_name.texi
876         (program_invocation_name): Likewise.
877         * doc/glibc-functions/program_invocation_short_name.texi
878         (program_invocation_short_name): Likewise.
879         * doc/glibc-functions/madvise.texi (madvise): Likewise.
880         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
881         Likewise.
882         * doc/posix-functions/pthread_spin_destroy.texi
883         (pthread_spin_destroy): Added in cygwin 1.7.10.
884         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
885         Likewise.
886         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
887         Likewise.
888         * doc/posix-functions/pthread_spin_trylock.texi
889         (pthread_spin_trylock): Likewise.
890         * doc/posix-functions/pthread_spin_unlock.texi
891         (pthread_spin_unlock): Likewise.
892         * doc/posix-functions/pthread_setschedprio.texi
893         (pthread_setschedprio): Likewise.
894         * doc/posix-functions/pthread_attr_getstack.texi
895         (pthread_attr_getstack): Likewise.
896         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
897         (pthread_attr_getstackaddr): Likewise.
898         * doc/glibc-functions/pthread_getattr_np.texi
899         (pthread_getattr_np): Likewise.
900         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
901         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
902         * doc/posix-functions/clock_settime.texi (clock_settime):
903         Likewise.
904         * doc/posix-functions/pthread_attr_getguardsize.texi
905         (pthread_attr_getguardsize): Likewise.
906         * doc/posix-functions/pthread_attr_setguardsize.texi
907         (pthread_attr_setguardsize): Likewise.
908         * doc/posix-functions/pthread_attr_setstack.texi
909         (pthread_attr_setstack): Likewise.
910         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
911         (pthread_attr_setstackaddr): Likewise.
912         * doc/posix-functions/clock_getcpuclockid.texi
913         (clock_getcpuclockid): Likewise.
914         * doc/posix-functions/pthread_getcpuclockid.texi
915         (pthread_getcpuclockid): Likewise.
916         * doc/glibc-functions/error.texi (error): Likewise.
917         * doc/glibc-functions/error_at_line.texi (error_at_line):
918         Likewise.
919         * doc/glibc-functions/error_message_count.texi
920         (error_message_count): Likewise.
921         * doc/glibc-functions/error_one_per_line.texi
922         (error_one_per_line): Likewise.
923         * doc/glibc-functions/error_print_progname.texi
924         (error_print_progname): Likewise.
925         * doc/posix-functions/pthread_condattr_getclock.texi
926         (pthread_condattr_getclock): Likewise.
927         * doc/posix-functions/pthread_condattr_setclock.texi
928         (pthread_condattr_setclock): Likewise.
929         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
930         Likewise.
931         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
932         * doc/glibc-functions/getpt.texi (getpt): Likewise.
933         * doc/glibc-functions/get_current_dir_name.texi
934         (get_current_dir_name): Likewise.
935         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
936         Likewise.
937         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
938         wrong return type.
939         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
940         1.7.11.
941
942 2012-02-29  Bruno Haible  <bruno@clisp.org>
943
944         Tests for module 'hypotf'.
945         * modules/hypotf-tests: New file.
946         * tests/test-hypotf.c: New file.
947
948         New module 'hypotf'.
949         * lib/math.in.h (hypotf): New declaration.
950         * lib/hypotf.c: New file.
951         * m4/hypotf.m4: New file.
952         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
953         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
954         REPLACE_HYPOTF.
955         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
956         REPLACE_HYPOTF.
957         * modules/hypotf: New file.
958         * tests/test-math-c++.cc: Check the hypotf declaration.
959         * doc/posix-functions/hypotf.texi: Mention the new module.
960
961         hypot: Prepare for hypotf module.
962         * m4/hypot.m4: New file.
963         * modules/hypot (Files): Add m4/hypot.m4.
964         (configure.ac): Invoke gl_FUNC_HYPOT.
965
966 2012-02-29  Bruno Haible  <bruno@clisp.org>
967
968         hypot tests: More tests.
969         * tests/test-hypot.c: Include <float.h>.
970         (main): Add tests about overflow and underflow.
971
972 2012-02-29  Bruno Haible  <bruno@clisp.org>
973
974         math code: Add comments.
975         * lib/acosl.c: Add comment about related glibc source files.
976         * lib/asinl.c: Likewise.
977         * lib/atanl.c: Likewise.
978         * lib/expl.c: Likewise.
979         * lib/logl.c: Likewise.
980         * lib/sincosl.c: Likewise.
981         * lib/sinl.c: Likewise.
982         * lib/tanl.c: Likewise.
983         * lib/trigl.c: Likewise.
984         * lib/cosl.c: Likewise. Fix comments.
985
986 2012-02-28  Bruno Haible  <bruno@clisp.org>
987
988         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
989         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
990         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
991         HUGE_VALL are defined.
992         (numeric_equald): Renamed from numeric_equal.
993         (numeric_equalf, numeric_equall): New functions.
994         (main): Check also HUGE_VALF, HUGE_VALL.
995         * modules/math-tests (Files): Add tests/macros.h.
996         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
997         HUGE_VALL.
998
999 2012-02-28  Bruno Haible  <bruno@clisp.org>
1000
1001         doc: Move ISO C11 feature notes into POSIX chapters.
1002         * doc/posix-functions/aligned_alloc.texi: Renamed from
1003         doc/glibc-functions/aligned_alloc.texi.
1004         * doc/posix-functions/quick_exit.texi: Renamed from
1005         doc/glibc-functions/quick_exit.texi.
1006         * doc/posix-headers/uchar.texi: Renamed from
1007         doc/glibc-headers/uchar.texi.
1008         * doc/posix-functions/c16rtomb.texi: Renamed from
1009         doc/glibc-functions/c16rtomb.texi.
1010         * doc/posix-functions/c32rtomb.texi: Renamed from
1011         doc/glibc-functions/c32rtomb.texi.
1012         * doc/posix-functions/mbrtoc16.texi: Renamed from
1013         doc/glibc-functions/mbrtoc16.texi.
1014         * doc/posix-functions/mbrtoc32.texi: Renamed from
1015         doc/glibc-functions/mbrtoc32.texi.
1016         * doc/gnulib.texi: Update.
1017         (Glibc uchar.h): Remove section.
1018         Suggested by Eric Blake.
1019
1020 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
1021
1022         stdnoreturn: port to MSVC better
1023         MSVC standard headers use __declspec(noreturn), so #define noreturn
1024         to empty on that platform.  Reported by Bruno Haible in
1025         <http://lists.gnu.org/archive/html/bug-gnulib/2012-02/msg00152.html>.
1026         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
1027         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
1028
1029 2012-02-28  Bruno Haible  <bruno@clisp.org>
1030
1031         doc: Mention new glibc headers and functions.
1032         * doc/glibc-headers/uchar.texi: New file.
1033         * doc/glibc-functions/aligned_alloc.texi: New file.
1034         * doc/glibc-functions/c16rtomb.texi: New file.
1035         * doc/glibc-functions/c32rtomb.texi: New file.
1036         * doc/glibc-functions/clock_adjtime.texi: New file.
1037         * doc/glibc-functions/fanotify_init.texi: New file.
1038         * doc/glibc-functions/fanotify_mark.texi: New file.
1039         * doc/glibc-functions/inet6_opt_append.texi: New file.
1040         * doc/glibc-functions/inet6_opt_find.texi: New file.
1041         * doc/glibc-functions/inet6_opt_finish.texi: New file.
1042         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
1043         * doc/glibc-functions/inet6_opt_init.texi: New file.
1044         * doc/glibc-functions/inet6_opt_next.texi: New file.
1045         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
1046         * doc/glibc-functions/inet6_rth_add.texi: New file.
1047         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
1048         * doc/glibc-functions/inet6_rth_init.texi: New file.
1049         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
1050         * doc/glibc-functions/inet6_rth_segments.texi: New file.
1051         * doc/glibc-functions/inet6_rth_space.texi: New file.
1052         * doc/glibc-functions/login.texi: New file.
1053         * doc/glibc-functions/mbrtoc16.texi: New file.
1054         * doc/glibc-functions/mbrtoc32.texi: New file.
1055         * doc/glibc-functions/name_to_handle_at.texi: New file.
1056         * doc/glibc-functions/ntp_gettimex.texi: New file.
1057         * doc/glibc-functions/open_by_handle_at.texi: New file.
1058         * doc/glibc-functions/prlimit.texi: New file.
1059         * doc/glibc-functions/process_vm_readv.texi: New file.
1060         * doc/glibc-functions/process_vm_writev.texi: New file.
1061         * doc/glibc-functions/recvmmsg.texi: New file.
1062         * doc/glibc-functions/scandirat.texi: New file.
1063         * doc/glibc-functions/sendmmsg.texi: New file.
1064         * doc/glibc-functions/setns.texi: New file.
1065         * doc/glibc-functions/timespec_get.texi: New file.
1066         * doc/gnulib.texi: Include them.
1067         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
1068         sections.
1069         Reported by Eric Blake.
1070
1071 2012-02-28  Bruno Haible  <bruno@clisp.org>
1072
1073         Avoid compilation errors with MSVC option -fp:strict.
1074         * lib/floor.c: Use MSVC specific pragma fenv_access.
1075         * lib/ceil.c: Likewise.
1076         * lib/trunc.c: Likewise.
1077         * lib/round.c: Likewise.
1078         * lib/rint.c: Likewise.
1079         * lib/fma.c: Likewise.
1080         * lib/integer_length.c: Likewise.
1081         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
1082         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
1083         * tests/test-floor2.c: Likewise.
1084         * tests/test-floorf2.c: Likewise.
1085         * tests/test-ceil2.c: Likewise.
1086         * tests/test-ceilf2.c: Likewise.
1087         * tests/test-trunc2.c: Likewise.
1088         * tests/test-truncf2.c: Likewise.
1089         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
1090
1091 2012-02-27  Bruno Haible  <bruno@clisp.org>
1092
1093         Tests for module 'sqrtl-ieee'.
1094         * modules/sqrtl-ieee-tests: New file.
1095         * tests/test-sqrtl-ieee.c: New file.
1096
1097         New module 'sqrtl-ieee'.
1098         * modules/sqrtl-ieee: New file.
1099
1100         Tests for module 'sqrt-ieee'.
1101         * modules/sqrt-ieee-tests: New file.
1102         * tests/test-sqrt-ieee.c: New file.
1103
1104         New module 'sqrt-ieee'.
1105         * modules/sqrt-ieee: New file.
1106
1107         Tests for module 'sqrtf-ieee'.
1108         * modules/sqrtf-ieee-tests: New file.
1109         * tests/test-sqrtf-ieee.c: New file.
1110         * tests/test-sqrt-ieee.h: New file.
1111
1112         New module 'sqrtf-ieee'.
1113         * modules/sqrtf-ieee: New file.
1114
1115 2012-02-27  Bruno Haible  <bruno@clisp.org>
1116
1117         remainderl-ieee: Work around test failure on OSF/1.
1118         * m4/remainderl-ieee.m4: New file.
1119         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
1120         present, test whether remainderl works with a zero second argument.
1121         Replace it if not.
1122         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
1123         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
1124         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
1125         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
1126         (Depends-on): Update conditions.
1127         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
1128         (Depends-on): Add remainder-ieee.
1129         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
1130         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
1131         module.
1132
1133         remainderf-ieee: Work around test failure on OSF/1.
1134         * m4/remainderf-ieee.m4: New file.
1135         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
1136         present, test whether remainderf works with a zero second argument.
1137         Replace it if not.
1138         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
1139         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
1140         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
1141         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
1142         (Depends-on): Update conditions.
1143         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
1144         (Depends-on): Add remainder-ieee.
1145         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
1146         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
1147         module.
1148
1149         remainder-ieee: Work around test failure on OSF/1.
1150         * m4/remainder-ieee.m4: New file.
1151         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
1152         present, test whether remainder works with a zero second argument.
1153         Replace it if not.
1154         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
1155         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
1156         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
1157         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
1158         (Depends-on): Update dependencies.
1159         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
1160         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
1161         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
1162
1163         Tests for module 'remainderl-ieee'.
1164         * modules/remainderl-ieee-tests: New file.
1165         * tests/test-remainderl-ieee.c: New file.
1166
1167         New module 'remainderl-ieee'.
1168         * modules/remainderl-ieee: New file.
1169
1170         Tests for module 'remainder-ieee'.
1171         * modules/remainder-ieee-tests: New file.
1172         * tests/test-remainder-ieee.c: New file.
1173
1174         New module 'remainder-ieee'.
1175         * modules/remainder-ieee: New file.
1176
1177         Tests for module 'remainderf-ieee'.
1178         * modules/remainderf-ieee-tests: New file.
1179         * tests/test-remainderf-ieee.c: New file.
1180         * tests/test-remainder-ieee.h: New file.
1181
1182         New module 'remainderf-ieee'.
1183         * modules/remainderf-ieee: New file.
1184
1185 2012-02-27  Bruno Haible  <bruno@clisp.org>
1186
1187         modff, modfl: Fix configure syntax error.
1188         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
1189         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
1190
1191 2012-02-27  Bruno Haible  <bruno@clisp.org>
1192
1193         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
1194         * m4/fmodl-ieee.m4: New file.
1195         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
1196         whether fmodl works with zero arguments. Replace it if not.
1197         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
1198         (Depends-on): Add fmod-ieee.
1199         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
1200         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
1201
1202         fmodf-ieee: Work around test failure on OSF/1.
1203         * m4/fmodf-ieee.m4: New file.
1204         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
1205         whether fmodf works with zero arguments. Replace it if not.
1206         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
1207         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
1208         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
1209         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
1210         (Depends-on): Update dependencies.
1211         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
1212         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
1213         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
1214
1215         fmodf-ieee: Work around test failure on MSVC 9.
1216         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
1217         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
1218
1219         fmod-ieee: Work around test failures on OSF/1, mingw.
1220         * m4/fmod-ieee.m4: New file.
1221         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
1222         whether fmod works with zero arguments. Replace it if not.
1223         * lib/math.in.h (fmod): New declaration.
1224         * lib/fmod.c: New file.
1225         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
1226         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
1227         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
1228         * modules/fmod (Files): Add lib/fmod.c.
1229         (Depends-on): Add math, isinf, trunc, fma.
1230         (configure.ac): Arrange to compile lib/fmod.c if needed.
1231         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
1232         m4/signbit.m4.
1233         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
1234         * tests/test-math-c++.cc: Check the declaration of fmod.
1235         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
1236
1237         fmodl-ieee: Fix test failures.
1238         * lib/fmodl.c (fmodl): Treat Inf specially.
1239         * modules/fmodl (Depends-on): Add isinf.
1240
1241         Tests for module 'fmodl-ieee'.
1242         * modules/fmodl-ieee-tests: New file.
1243         * tests/test-fmodl-ieee.c: New file.
1244
1245         New module 'fmodl-ieee'.
1246         * modules/fmodl-ieee: New file.
1247
1248         Tests for module 'fmod-ieee'.
1249         * modules/fmod-ieee-tests: New file.
1250         * tests/test-fmod-ieee.c: New file.
1251
1252         New module 'fmod-ieee'.
1253         * modules/fmod-ieee: New file.
1254
1255         Tests for module 'fmodf-ieee'.
1256         * modules/fmodf-ieee-tests: New file.
1257         * tests/test-fmodf-ieee.c: New file.
1258         * tests/test-fmod-ieee.h: New file.
1259
1260         New module 'fmodf-ieee'.
1261         * modules/fmodf-ieee: New file.
1262
1263 2012-02-27  Bruno Haible  <bruno@clisp.org>
1264
1265         Tests for module 'rintl-ieee'.
1266         * modules/rintl-ieee-tests: New file.
1267         * tests/test-rintl-ieee.c: New file.
1268
1269         New module 'rintl-ieee'.
1270         * modules/rintl-ieee: New file.
1271
1272         Tests for module 'rint-ieee'.
1273         * modules/rint-ieee-tests: New file.
1274         * tests/test-rint-ieee.c: New file.
1275
1276         New module 'rint-ieee'.
1277         * modules/rint-ieee: New file.
1278
1279         Tests for module 'rintf-ieee'.
1280         * modules/rintf-ieee-tests: New file.
1281         * tests/test-rintf-ieee.c: New file.
1282         * tests/test-rint-ieee.h: New file.
1283
1284         New module 'rintf-ieee'.
1285         * modules/rintf-ieee: New file.
1286
1287 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
1288
1289         regex: re_search etc. should return -2 when memory exhausted
1290         This bug was uncovered when testing 'grep'.  Without the fix,
1291         re_search and friends return -1 when memory is exhausted, but -1
1292         means no match, and this causes grep to falsely report no-match
1293         instead of memory-exhaustion.  See
1294         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
1295         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
1296         trouble; this can occur if re_search_internal ran out of memory.
1297
1298 2012-02-26  Bruno Haible  <bruno@clisp.org>
1299
1300         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
1301         * m4/modfl-ieee.m4: New file.
1302         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
1303         whether modfl works with Inf. Replace it if not.
1304         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
1305         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
1306         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
1307         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
1308         (Depends-on): Update dependencies.
1309         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
1310         m4/signbit.m4.
1311         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
1312         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
1313
1314         modfl-ieee: Fix dependencies.
1315         * modules/modfl-ieee (Depends-on): Add modf-ieee.
1316
1317         modfl-ieee: Fix test failures.
1318         * lib/modfl.c (modfl): Treat NaN and Inf specially.
1319         * modules/modfl (Depends-on): Add isfinite, isinf.
1320
1321         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
1322         * m4/modff-ieee.m4: New file.
1323         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
1324         whether modff works with NaN and Inf. Replace it if not.
1325         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
1326         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
1327         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
1328         * modules/modff (configure.ac): Consider REPLACE_MODFF.
1329         (Depends-on): Update dependencies.
1330         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
1331         m4/signbit.m4.
1332         (Depends-on): Add modf-ieee.
1333         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
1334         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
1335
1336         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
1337         * m4/modf-ieee.m4: New file.
1338         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
1339         whether modf works with NaN and Inf. Replace it if not.
1340         * lib/math.in.h (modf): New declaration.
1341         * lib/modf.c: New file.
1342         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
1343         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
1344         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
1345         * modules/modf (Files): Add lib/modf.c.
1346         (Depends-on): Add math, isfinite, trunc, isinf.
1347         (configure.ac): Addrange to compile lib/modf.c if needed.
1348         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
1349         m4/signbit.m4.
1350         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
1351         * tests/test-math-c++.cc: Check the declaration of modf.
1352         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
1353
1354         Tests for module 'modfl-ieee'.
1355         * modules/modfl-ieee-tests: New file.
1356         * tests/test-modfl-ieee.c: New file.
1357
1358         New module 'modfl-ieee'.
1359         * modules/modfl-ieee: New file.
1360
1361         Tests for module 'modf-ieee'.
1362         * modules/modf-ieee-tests: New file.
1363         * tests/test-modf-ieee.c: New file.
1364
1365         New module 'modf-ieee'.
1366         * modules/modf-ieee: New file.
1367
1368         Tests for module 'modff-ieee'.
1369         * modules/modff-ieee-tests: New file.
1370         * tests/test-modff-ieee.c: New file.
1371         * tests/test-modf-ieee.h: New file.
1372
1373         New module 'modff-ieee'.
1374         * modules/modff-ieee: New file.
1375
1376 2012-02-26  Bruno Haible  <bruno@clisp.org>
1377
1378         Tests for module 'fabsl-ieee'.
1379         * modules/fabsl-ieee-tests: New file.
1380         * tests/test-fabsl-ieee.c: New file.
1381
1382         New module 'fabsl-ieee'.
1383         * modules/fabsl-ieee: New file.
1384
1385         Tests for module 'fabs-ieee'.
1386         * modules/fabs-ieee-tests: New file.
1387         * tests/test-fabs-ieee.c: New file.
1388
1389         New module 'fabs-ieee'.
1390         * modules/fabs-ieee: New file.
1391
1392         Tests for module 'fabsf-ieee'.
1393         * modules/fabsf-ieee-tests: New file.
1394         * tests/test-fabsf-ieee.c: New file.
1395         * tests/test-fabs-ieee.h: New file.
1396
1397         New module 'fabsf-ieee'.
1398         * modules/fabsf-ieee: New file.
1399
1400 2012-02-26  Bruno Haible  <bruno@clisp.org>
1401
1402         Tests for module 'fmal-ieee'.
1403         * modules/fmal-ieee-tests: New file.
1404         * tests/test-fmal-ieee.c: New file.
1405
1406         New module 'fmal-ieee'.
1407         * modules/fmal-ieee: New file.
1408
1409         Tests for module 'fma-ieee'.
1410         * modules/fma-ieee-tests: New file.
1411         * tests/test-fma-ieee.c: New file.
1412
1413         New module 'fma-ieee'.
1414         * modules/fma-ieee: New file.
1415
1416         Tests for module 'fmaf-ieee'.
1417         * modules/fmaf-ieee-tests: New file.
1418         * tests/test-fmaf-ieee.c: New file.
1419         * tests/test-fma-ieee.h: New file.
1420
1421         New module 'fmaf-ieee'.
1422         * modules/fmaf-ieee: New file.
1423
1424 2012-02-26  Bruno Haible  <bruno@clisp.org>
1425
1426         Tests for module 'ldexpl-ieee'.
1427         * modules/ldexpl-ieee-tests: New file.
1428         * tests/test-ldexpl-ieee.c: New file.
1429
1430         New module 'ldexpl-ieee'.
1431         * modules/ldexpl-ieee: New file.
1432
1433         Tests for module 'ldexp-ieee'.
1434         * modules/ldexp-ieee-tests: New file.
1435         * tests/test-ldexp-ieee.c: New file.
1436
1437         New module 'ldexp-ieee'.
1438         * modules/ldexp-ieee: New file.
1439
1440         Tests for module 'ldexpf-ieee'.
1441         * modules/ldexpf-ieee-tests: New file.
1442         * tests/test-ldexpf-ieee.c: New file.
1443         * tests/test-ldexp-ieee.h: New file.
1444
1445         New module 'ldexpf-ieee'.
1446         * modules/ldexpf-ieee: New file.
1447
1448 2012-02-26  Bruno Haible  <bruno@clisp.org>
1449
1450         Refactor frexp*-ieee tests.
1451         * tests/test-frexp-ieee.h: New file.
1452         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
1453         (main): Just call test_function.
1454         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
1455         (main): Just call test_function.
1456         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
1457         (main): Just call test_function.
1458         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
1459         * modules/frexp-ieee-tests (Files): Likewise.
1460         * modules/frexpl-ieee-tests (Files): Likewise.
1461
1462         Tests for module 'frexpl-ieee'.
1463         * modules/frexpl-ieee-tests: New file.
1464         * tests/test-frexpl-ieee.c: New file.
1465
1466         New module 'frexpl-ieee'.
1467         * modules/frexpl-ieee: New file.
1468
1469         Tests for module 'frexp-ieee'.
1470         * modules/frexp-ieee-tests: New file.
1471         * tests/test-frexp-ieee.c: New file.
1472
1473         New module 'frexp-ieee'.
1474         * modules/frexp-ieee: New file.
1475
1476         Tests for module 'frexpf-ieee'.
1477         * modules/frexpf-ieee-tests: New file.
1478         * tests/test-frexpf-ieee.c: New file.
1479
1480         New module 'frexpf-ieee'.
1481         * modules/frexpf-ieee: New file.
1482
1483 2012-02-26  Bruno Haible  <bruno@clisp.org>
1484
1485         roundl-ieee tests: More tests.
1486         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
1487         (main): Add tests for [MX] shaded specification in POSIX.
1488         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1489         (Depends-on): Add isnanl-nolibm.
1490
1491         round-ieee tests: More tests.
1492         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
1493         (main): Add tests for [MX] shaded specification in POSIX.
1494         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1495         (Depends-on): Add isnand-nolibm.
1496
1497         roundf-ieee tests: More tests.
1498         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
1499         (main): Add tests for [MX] shaded specification in POSIX.
1500         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1501         (Depends-on): Add isnanf-nolibm.
1502
1503         truncl-ieee tests: More tests.
1504         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
1505         (main): Add tests for [MX] shaded specification in POSIX.
1506         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1507         (Depends-on): Add isnanl-nolibm.
1508
1509         trunc-ieee tests: More tests.
1510         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
1511         (main): Add tests for [MX] shaded specification in POSIX.
1512         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1513         (Depends-on): Add isnand-nolibm.
1514
1515         truncf-ieee tests: More tests.
1516         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
1517         (main): Add tests for [MX] shaded specification in POSIX.
1518         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1519         (Depends-on): Add isnanf-nolibm.
1520
1521         ceill-ieee tests: More tests.
1522         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
1523         (main): Add tests for [MX] shaded specification in POSIX.
1524         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1525         (Depends-on): Add isnanl-nolibm.
1526
1527         ceil-ieee tests: More tests.
1528         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
1529         (main): Add tests for [MX] shaded specification in POSIX.
1530         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1531         (Depends-on): Add isnand-nolibm.
1532
1533         ceilf-ieee tests: More tests.
1534         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
1535         (main): Add tests for [MX] shaded specification in POSIX.
1536         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1537         (Depends-on): Add isnanf-nolibm.
1538
1539         floorl-ieee tests: More tests.
1540         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
1541         (main): Add tests for [MX] shaded specification in POSIX.
1542         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1543         (Depends-on): Add isnanl-nolibm.
1544
1545         floor-ieee tests: More tests.
1546         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
1547         (main): Add tests for [MX] shaded specification in POSIX.
1548         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1549         (Depends-on): Add isnand-nolibm.
1550
1551         floorf-ieee tests: More tests.
1552         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
1553         (main): Add tests for [MX] shaded specification in POSIX.
1554         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1555         (Depends-on): Add isnanf-nolibm.
1556
1557 2012-02-26  Bruno Haible  <bruno@clisp.org>
1558
1559         fpieee: More comments.
1560         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
1561
1562 2012-02-25  Bruno Haible  <bruno@clisp.org>
1563
1564         Tests for module 'log10l'.
1565         * modules/log10l-tests: New file.
1566         * tests/test-log10l.c: New file.
1567         * tests/test-math-c++.cc: Check the declaration of log10l.
1568
1569         New module 'log10l'.
1570         * lib/math.in.h (log10l): New declaration.
1571         * lib/log10l.c: New file.
1572         * m4/log10l.m4: New file.
1573         * modules/log10l: New file.
1574         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
1575         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
1576         HAVE_DECL_LOG10L.
1577         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
1578         HAVE_DECL_LOG10L.
1579         * doc/posix-functions/log10l.texi: Mention the new module.
1580
1581 2012-02-25  Bruno Haible  <bruno@clisp.org>
1582
1583         fmodl, remainder*: Avoid wrong results due to rounding errors.
1584         * lib/fmodl.c (fmodl): Correct the result if it is not within the
1585         expected bounds.
1586         * lib/remainderf.c (remainderf): Likewise.
1587         * lib/remainder.c (remainder): Likewise.
1588         * lib/remainderl.c (remainderl): Likewise.
1589
1590 2012-02-25  Bruno Haible  <bruno@clisp.org>
1591
1592         Tests for module 'remainderl'.
1593         * modules/remainderl-tests: New file.
1594         * tests/test-remainderl.c: New file.
1595         * tests/test-math-c++.cc: Check the declaration of remainderl.
1596
1597         New module 'remainderl'.
1598         * lib/math.in.h (remainderl): New declaration.
1599         * lib/remainderl.c: New file.
1600         * m4/remainderl.m4: New file.
1601         * modules/remainderl: New file.
1602         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
1603         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
1604         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
1605         HAVE_REMAINDERL.
1606         * doc/posix-functions/remainderl.texi: Mention the new module.
1607
1608 2012-02-25  Bruno Haible  <bruno@clisp.org>
1609
1610         Tests for module 'remainderf'.
1611         * modules/remainderf-tests: New file.
1612         * tests/test-remainderf.c: New file.
1613         * tests/test-math-c++.cc: Check the declaration of remainderf.
1614
1615         New module 'remainderf'.
1616         * lib/math.in.h (remainderf): New declaration.
1617         * lib/remainderf.c: New file.
1618         * m4/remainderf.m4: New file.
1619         * modules/remainderf: New file.
1620         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
1621         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
1622         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
1623         HAVE_REMAINDERF.
1624         * doc/posix-functions/remainderf.texi: Mention the new module.
1625
1626 2012-02-25  Bruno Haible  <bruno@clisp.org>
1627
1628         remainder: Support for MSVC.
1629         * lib/math.in.h (remainder): New declaration.
1630         * lib/remainder.c: New file.
1631         * m4/remainder.m4: New file.
1632         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
1633         (Depends-on): Add math, round, fma.
1634         (configure.ac): Use results of gl_FUNC_REMAINDER.
1635         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
1636         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
1637         HAVE_DECL_REMAINDER.
1638         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
1639         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
1640         * tests/test-math-c++.cc: Check the declaration of remainder.
1641         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
1642         problems are fixed.
1643
1644 2012-02-25  Bruno Haible  <bruno@clisp.org>
1645
1646         Tests for module 'fmodl'.
1647         * modules/fmodl-tests: New file.
1648         * tests/test-fmodl.c: New file.
1649         * tests/test-math-c++.cc: Check the declaration of fmodl.
1650
1651         New module 'fmodl'.
1652         * lib/math.in.h (fmodl): New declaration.
1653         * lib/fmodl.c: New file.
1654         * m4/fmodl.m4: New file.
1655         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
1656         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
1657         REPLACE_FMODL.
1658         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
1659         REPLACE_FMODL.
1660         * modules/fmodl: New file.
1661         * doc/posix-functions/fmodl.texi: Mention the new module.
1662
1663 2012-02-25  Bruno Haible  <bruno@clisp.org>
1664
1665         Tests for module 'modfl'.
1666         * modules/modfl-tests: New file.
1667         * tests/test-modfl.c: New file.
1668         * tests/test-math-c++.cc: Check the declaration of modfl.
1669
1670         New module 'modfl'.
1671         * lib/math.in.h (modfl): New declaration.
1672         * lib/modfl.c: New file.
1673         * m4/modfl.m4: New file.
1674         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
1675         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
1676         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
1677         * modules/modfl: New file.
1678         * doc/posix-functions/modfl.texi: Mention the new module.
1679
1680 2012-02-25  Bruno Haible  <bruno@clisp.org>
1681
1682         Tests for module 'fabsl'.
1683         * modules/fabsl-tests: New file.
1684         * tests/test-fabsl.c: New file.
1685         * tests/test-math-c++.cc: Check the declaration of fabsl.
1686
1687         New module 'fabsl'.
1688         * lib/math.in.h (fabsl): New declaration.
1689         * lib/fabsl.c: New file.
1690         * m4/fabsl.m4: New file.
1691         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
1692         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
1693         REPLACE_FABSL.
1694         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
1695         REPLACE_FABSL.
1696         * modules/fabsl: New file.
1697         * doc/posix-functions/fabsl.texi: Mention the new module.
1698
1699 2012-02-25  Bruno Haible  <bruno@clisp.org>
1700
1701         fabs tests: More tests.
1702         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
1703         (zero): New variable.
1704         (main): Add tests for signed zero.
1705         * modules/fabs-tests (Files): Add tests/minus-zero.h.
1706
1707         fabsf tests: More tests.
1708         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
1709         (zero): New variable.
1710         (main): Add tests for signed zero.
1711         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
1712
1713 2012-02-24  Bruno Haible  <bruno@clisp.org>
1714
1715         atanl: Provide function definition on MSVC.
1716         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
1717         function pointer.
1718         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
1719
1720 2012-02-24  Bruno Haible  <bruno@clisp.org>
1721
1722         acosl: Provide function definition on MSVC.
1723         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
1724         function pointer.
1725         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
1726
1727 2012-02-24  Bruno Haible  <bruno@clisp.org>
1728
1729         asinl: Provide function definition on MSVC.
1730         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
1731         function pointer.
1732         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
1733
1734 2012-02-24  Bruno Haible  <bruno@clisp.org>
1735
1736         tanl: Provide function definition on MSVC.
1737         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
1738         function pointer.
1739         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
1740
1741 2012-02-24  Bruno Haible  <bruno@clisp.org>
1742
1743         cosl: Provide function definition on MSVC.
1744         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
1745         function pointer.
1746         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
1747
1748 2012-02-24  Bruno Haible  <bruno@clisp.org>
1749
1750         sinl: Provide function definition on MSVC.
1751         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
1752         function pointer.
1753         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
1754
1755 2012-02-24  Bruno Haible  <bruno@clisp.org>
1756
1757         logl: Provide function definition on MSVC.
1758         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
1759         function pointer.
1760         * lib/math.in.h (logl): Undefine if it does not exist as a function.
1761
1762 2012-02-24  Bruno Haible  <bruno@clisp.org>
1763
1764         expl: Provide function definition on MSVC.
1765         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
1766         function pointer.
1767         * lib/math.in.h (expl): Undefine if it does not exist as a function.
1768
1769 2012-02-24  Bruno Haible  <bruno@clisp.org>
1770
1771         sqrtl: Provide function definition on MSVC.
1772         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
1773         a function pointer.
1774         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
1775
1776 2012-02-24  Bruno Haible  <bruno@clisp.org>
1777
1778         ceill: Provide function definition on MSVC.
1779         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
1780         used as a function pointer.
1781         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
1782
1783 2012-02-24  Bruno Haible  <bruno@clisp.org>
1784
1785         floorl: Provide function definition on MSVC.
1786         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
1787         used as a function pointer.
1788         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
1789
1790 2012-02-24  Bruno Haible  <bruno@clisp.org>
1791
1792         ceilf: Provide function definition on MSVC.
1793         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
1794         used as a function pointer.
1795         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
1796
1797 2012-02-24  Bruno Haible  <bruno@clisp.org>
1798
1799         floorf: Provide function definition on MSVC.
1800         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
1801         used as a function pointer.
1802         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
1803
1804 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
1805
1806         stdnoreturn: new module
1807         This implements a replacement for C11's <stdnoreturn.h>.
1808         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
1809         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
1810         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
1811         * tests/test-stdnoreturn.c: New files.
1812
1813 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
1814
1815         regex: fix false multibyte matches in some regular expressions
1816         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
1817         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
1818         * lib/regex_internal.c (re_string_skip_chars):
1819         Fix miscomputation of remain_len that may cause incomplete
1820         multi-byte character and false match.
1821
1822 2012-02-24  Jim Meyering  <meyering@redhat.com>
1823
1824         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
1825         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
1826         uses with "==" *before* the call, e.g., 0 == strcmp (...)
1827         Remove now-unnecessary str''cmp obfuscation.
1828         Suggested by Akim Demaille.
1829
1830 2012-02-24  Bruno Haible  <bruno@clisp.org>
1831
1832         streq: Rename macro.
1833         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
1834         * NEWS: Mention the change.
1835         * lib/mbrtowc.c (mbrtowc): Update.
1836         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
1837         * lib/wcwidth.c (wcwidth): Update.
1838         Suggested by Akim Demaille and Jim Meyering.
1839
1840 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
1841
1842         regex: fix typo in definition of MIN
1843         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
1844         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
1845
1846 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
1847             Bruno Haible  <bruno@clisp.org>
1848
1849         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
1850         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
1851         entries into a stack-allocated buffer directly.
1852         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
1853
1854 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
1855             Bruno Haible  <bruno@clisp.org>
1856
1857         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
1858
1859          - There were several instances of this pattern:
1860
1861              for (;;) {
1862                n = acl (f, GETACLCNT, 0, NULL);
1863                [ allocate an array A of size N ]
1864                if (acl (f, GETACL, n, a) == n)
1865                  break;
1866              }
1867
1868            This loop might never terminate if some other process is constantly
1869            manipulating the file's ACL.  The loop should be rewritten to
1870            terminate.
1871
1872          - The acl (... GETACLNT ...) call is merely an optimization; its value
1873            is merely a hint as to how big to make the array.  A better
1874            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
1875            and just guess a reasonably-big size, growing the size and trying
1876            again if it's not large enough.  This guarantees termination, and
1877            saves a system call.
1878
1879         * lib/acl-internal.h: Include <limits.h>.
1880         (MIN, SIZE_MAX): New macros.
1881         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
1882         a stack-allocated buffer, and use malloc if it does not fit. Don't
1883         use GETACLCNT.
1884         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
1885
1886 2012-02-19  Bruno Haible  <bruno@clisp.org>
1887
1888         acl: Fix endless loop on Solaris with vxfs.
1889         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
1890         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
1891         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
1892         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
1893         * tests/test-sameacls.c (main)[Solaris]: Likewise.
1894         Reported by Bill Jones in
1895         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
1896
1897 2012-02-19  Bruno Haible  <bruno@clisp.org>
1898
1899         acl: Fix copy-acl test failure on Solaris 11 2011-11.
1900         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
1901         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
1902         that this function returns 0 in some more cases.
1903
1904 2012-02-19  Bruno Haible  <bruno@clisp.org>
1905
1906         acl: Update doc references.
1907         * doc/acl-resources.txt: Update links to Solaris documentation.
1908
1909 2012-02-19  Bruno Haible  <bruno@clisp.org>
1910
1911         Fix test failure in many locales on Solaris 11.
1912         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
1913         'tr' arguments.
1914         * tests/test-pipe-filter-ii1.c (main): Likewise.
1915         * build-aux/bootstrap (check_versions): Run 'tr' command with range
1916         expressions in the C locale.
1917         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
1918         * m4/host-os.m4 (gl_HOST_OS): Likewise.
1919
1920 2012-02-19  Bruno Haible  <bruno@clisp.org>
1921
1922         gnulib-tool: Improve usage message.
1923         * gnulib-tool (func_usage): Move doc of --help and --version to the
1924         section "Operation modes".
1925
1926 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
1927
1928         README-release: make it easier to execute commands
1929         * top/README-release: break commands out on to separate lines.
1930
1931 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
1932
1933         GNUmakefile: simplify detection of unconfigured trees
1934         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
1935         whether the tree make is being run from is already configured or
1936         not.  Related simplifications.
1937
1938 2012-02-13  Simon Josefsson  <simon@josefsson.org>
1939
1940         * gnulib-tool (func_usage): Document --help and --version.
1941
1942 2012-02-11  Jim Meyering  <meyering@redhat.com>
1943
1944         bootstrap: don't exit 0 upon gnulib-tool failure
1945         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
1946         its exit status, not 0.
1947
1948 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
1949
1950         README-release: various improvements
1951         * top/README-release: Give a command to push changes for the
1952         release.  Add "distcheck" to list of other pre-release checks.
1953         Fix instance of "make stable" which should be "make TYPE".
1954
1955 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
1956
1957         maint: replace FSF snail-mail addresses with URLs
1958         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
1959         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
1960         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
1961         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
1962         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
1963         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
1964         * lib/check-version.c, lib/check-version.h, lib/config.charset:
1965         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
1966         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
1967         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
1968         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
1969         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
1970         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
1971         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
1972         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
1973         * lib/glthread/thread.c, lib/glthread/thread.h:
1974         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
1975         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
1976         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
1977         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
1978         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
1979         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
1980         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
1981         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
1982         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
1983         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
1984         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
1985         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
1986         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
1987         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
1988         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
1989         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
1990         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
1991         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
1992         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
1993         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
1994         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
1995         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
1996         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
1997         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
1998         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
1999         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
2000         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
2001         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
2002         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
2003         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
2004         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
2005         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
2006         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
2007         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
2008         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
2009         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
2010         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
2011         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
2012         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
2013         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
2014         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
2015         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
2016         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
2017         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
2018         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
2019         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
2020         * tests/test-poll.c, tests/test-quotearg-simple.c:
2021         * tests/test-quotearg.c, tests/test-quotearg.h:
2022         * tests/test-round-ieee.c, tests/test-round1.c:
2023         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
2024         * tests/test-roundl-ieee.c, tests/test-roundl.c:
2025         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
2026         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
2027         * tests/test-strerror.c, tests/test-strerror_r.c:
2028         * tests/test-strsignal.c, tests/test-strverscmp.c:
2029         * tests/test-xmemdup0.c:
2030         Replace FSF snail mail addresses with URLs, as per GNU coding
2031         standards.  See glibc bug
2032         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
2033
2034 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
2035
2036         README-release: capitalize a word and split a line
2037         * top/README-release: Fix punctuation and spacing.
2038
2039 2012-02-08  Akim Demaille  <demaille@gostai.com>
2040
2041         fatal-signal: use C prototypes (with explicit void).
2042         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
2043         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
2044
2045 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
2046
2047         regex: spelling fix
2048         * lib/regexec.c: spelling fix
2049
2050         regex: rely on stdint.h for SIZE_MAX
2051         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
2052
2053 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
2054
2055         regex: merge glibc changes
2056
2057         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
2058         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
2059         (init_word_char): Work even if bitset words are not exactly 32 or
2060         64 bits wide.  Don't assume there are no padding bits.
2061         * lib/regex.c [_LIBC]: Do not include <config.h>.
2062         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
2063         and -Wtype-limits.
2064         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
2065         needless disagreement with glibc.  All uses changed.  Define it to
2066         1 only if _GNU_SOURCE, to match glibc.
2067         (_REG_RM_NAME): Remove; no longer needed, since the names in
2068         question are now all protected by __USE_GNU.
2069         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
2070         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
2071         * lib/regex_internal.h (MIN): New macro.
2072
2073         2012-01-03 Ulrich Drepper <drepper@gmail.com>
2074         * lib/regcomp.c (init_word_char): Optimize regex a bit.
2075
2076         2011-12-30 Jakub Jelinek <jakub@redhat.com>
2077         * lib/regex_internal.c (re_string_fetch_byte_case):
2078         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
2079         is miscompiled, and it turns out it is because of an incorrect
2080         attribute on re_string_fetch_byte_case.  Unlike
2081         re_string_peek_byte_case, this one is really not pure, it modifies
2082         memory (increments pstr->cur_idx), and with the pure attribute GCC
2083         assumed it doesn't and it cached the presumed value of
2084         regexp->cur_idx in a variable across the
2085          for (;; ++i)
2086            {
2087              if (i >= BRACKET_NAME_BUF_SIZE)
2088                return REG_EBRACK;
2089              if (token->type == OP_OPEN_CHAR_CLASS)
2090                ch = re_string_fetch_byte_case (regexp);
2091              else
2092                ch = re_string_fetch_byte (regexp);
2093              if (re_string_eoi(regexp))
2094                return REG_EBRACK;
2095              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
2096                break;
2097              elem->opr.name[i] = ch;
2098            }
2099
2100         2011-11-29 Andreas Schwab <schwab@redhat.com>
2101         * lib/regcomp.c (build_equiv_class):
2102         Fix access after end of search string in regex matcher.
2103
2104         2011-11-12 Ulrich Drepper <drepper@redhat.com>
2105         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
2106
2107         2011-10-12 Ulrich Drepper <drepper@redhat.com>
2108         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
2109
2110         2011-10-11 Ulrich Drepper <drepper@redhat.com>
2111         * lib/regcomp.c (parse_branch, parse_sub_exp):
2112         More regex memory leak fixes and tests.
2113         (parse_sub_exp, parse_bracket_exp):
2114         Fix memory leak for some invalid regular expressions.
2115
2116         2011-05-28 Ulrich Drepper <drepper@gmail.com>
2117         * lib/regex_internal.c, lib/regexec.c:
2118         Fix unnecessary overallocation due to incomplete character.  When
2119         incomplete characters are found at the end of a string the code
2120         ran amok and allocated lots of memory.  Stricter limits are now in
2121         place.
2122
2123         2011-05-20 Reuben Thomas <rrt@sc3d.org>
2124         * lib/regex.h: Update documentation.
2125
2126         2011-05-16 Aharon Robbins <arnold@skeeve.com>
2127         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
2128
2129         2010-05-05 Andreas Schwab <schwab@redhat.com>
2130         * lib/regexec.c (find_collation_sequence_value):
2131         Fix lookup of collation sequence value during regexp matching.
2132
2133         2010-01-22 Ulrich Drepper <drepper@redhat.com>
2134         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
2135
2136         2008-01-16 Ulrich Drepper <drepper@redhat.com>
2137         * lib/regex.h: Cleanup namespace.
2138
2139         2007-11-26 Ulrich Drepper <drepper@redhat.com>
2140         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
2141
2142         2007-08-26 Ulrich Drepper <drepper@redhat.com>
2143         * lib/regex_internal.h: Prevent some declarations and definitions
2144         to be seen when used in tests.
2145
2146         2005-05-06 Ulrich Drepper <drepper@redhat.com>
2147         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
2148         __libc_lock_* macros if not _LIBC.
2149         (struct re_dfa_t): Add lock.
2150
2151 2012-02-07  Eric Blake  <eblake@redhat.com>
2152
2153         maint.mk: also prohibit lower-case @var@
2154         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
2155         lower case, like @top_srcdir@.
2156
2157 2012-02-04  Eric Blake  <eblake@redhat.com>
2158
2159         canonicalize: avoid uninitialized memory use
2160         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
2161         random '/' left in dest.
2162         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
2163
2164 2012-02-04  Bruno Haible  <bruno@clisp.org>
2165
2166         isatty: Fix test failure of ptsname_r on native Windows.
2167         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
2168         and don't set errno.
2169         (isatty): Test first whether fd is valid. Set errno when returning 0.
2170
2171 2012-02-04  Bruno Haible  <bruno@clisp.org>
2172
2173         spawn-pipe tests: Fix a NULL program name in a diagnostic.
2174         * tests/test-spawn-pipe-main.c: Include progname.h.
2175         (main): Invoke set_program_name.
2176         * modules/spawn-pipe-tests (Depends-on): Add progname.
2177
2178         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
2179         * tests/test-nonblocking-socket-main.c: Include progname.h.
2180         (main): Invoke set_program_name.
2181         * modules/nonblocking-socket-tests (Depends-on): Add progname.
2182
2183         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
2184         * tests/test-nonblocking-pipe-main.c: Include progname.h.
2185         (main): Invoke set_program_name.
2186         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
2187
2188 2012-02-04  Eric Blake  <eblake@redhat.com>
2189
2190         canonicalize-lgpl: fix // handling
2191         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
2192
2193         canonicalize: fix // handling
2194         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
2195         /// to //, since only // is special.
2196
2197 2012-02-04  Bruno Haible  <bruno@clisp.org>
2198
2199         ioctl: Fix test failure on native Windows.
2200         * lib/ioctl.c: Include msvc-nothrow.h.
2201         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
2202
2203 2012-02-04  Bruno Haible  <bruno@clisp.org>
2204
2205         fsync: Avoid test failure on native Windows.
2206         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
2207         read-only.
2208
2209 2012-02-04  Bruno Haible  <bruno@clisp.org>
2210
2211         sys_select: Avoid syntax error on OpenBSD 5.0.
2212         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
2213         currently being included, just include the system's <sys/select.h>.
2214
2215 2012-02-04  Bruno Haible  <bruno@clisp.org>
2216
2217         sys_select: Avoid syntax error on OpenBSD 5.0.
2218         * lib/sys_select.in.h: Include <signal.h> only after the include_next
2219         <sys/select.h>, not before.
2220         Reported by Jiri B <jirib@devio.us>.
2221
2222 2012-02-04  Bruno Haible  <bruno@clisp.org>
2223
2224         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
2225         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
2226         global variables.
2227         * tests/test-get-rusage-data.c (main): Likewise.
2228         Reported by Jim Meyering.
2229
2230 2012-02-04  Bruno Haible  <bruno@clisp.org>
2231
2232         stdioext: Fix last commit.
2233         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
2234
2235 2012-02-03  Bruno Haible  <bruno@clisp.org>
2236
2237         stdioext: Add tentative support for Plan9.
2238         * lib/stdio-impl.h: Include <errno.h>.
2239         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
2240         * lib/freadable.c (freadable): Likewise.
2241         * lib/fwritable.c (fwritable): Likewise.
2242         * lib/fbufmode.c (fbufmode): Likewise.
2243         * lib/freading.c (freading): Likewise.
2244         * lib/fwriting.c (fwriting): Likewise.
2245         * lib/freadptr.c (freadptr): Likewise.
2246         * lib/freadseek.c (freadptrinc): Likewise.
2247         * lib/freadahead.c (freadahead): Likewise.
2248         * lib/fpurge.c (fpurge): Likewise.
2249         * lib/fseeko.c (rpl_fseeko): Likewise.
2250         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
2251         Reported by Jens Staal <staal1978@gmail.com>.
2252
2253 2012-02-02  Jim Meyering  <meyering@redhat.com>
2254
2255         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
2256         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
2257         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
2258         not even to try to add the attribute.  Instead, add a pragma to suppress
2259         the suggestion/warning.
2260
2261 2012-01-31  Karl Berry  <karl@gnu.org>
2262
2263         setstate doc: typo.
2264         * doc/posix-functions/setstate.texi (setstate): { not (.
2265
2266 2012-01-31  Bruno Haible  <bruno@clisp.org>
2267
2268         popen: Make more robust on Windows.
2269         * lib/popen.c: On native Windows, use the _popen based code even if
2270         HAVE_POPEN is set.
2271         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
2272         environment variable on native Windows.
2273
2274 2012-01-30  Bruno Haible  <bruno@clisp.org>
2275
2276         pclose: Fix typo.
2277         * lib/stdio.in.h (pclose): Fix typo in warning message.
2278
2279 2012-01-30  Bruno Haible  <bruno@clisp.org>
2280
2281         doc about getlogin_r, setstate.
2282         * doc/posix-functions/getlogin_r.texi: List the incompatible
2283         declaration problem under "not fixed by gnulib".
2284         * doc/posix-functions/setstate.texi: Mention incompatible declaration
2285         problem on Solaris 11 and other platforms.
2286
2287 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
2288             Bruno Haible  <bruno@clisp.org>
2289
2290         poll tests: Make test more robust.
2291         * tests/test-poll.c: Include macros.h.
2292         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
2293         return value of various I/O operations.
2294         * modules/poll-tests (Files): Add tests/macros.h.
2295
2296 2012-01-30  Bruno Haible  <bruno@clisp.org>
2297
2298         sys_stat: Fix support for mingw64 and MSVC.
2299         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
2300         header files already do it.
2301         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
2302         stat itself.
2303         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
2304
2305 2012-01-30  Bruno Haible  <bruno@clisp.org>
2306
2307         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
2308         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
2309         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
2310
2311 2012-01-29  Bruno Haible  <bruno@clisp.org>
2312
2313         quotearg: Fix test failure on MacOS X 10.5.
2314         * tests/test-quotearg-simple.c: Include localcharset.h.
2315         (main): If the locale encoding is not ASCII, bypass the tests of
2316         locale_quoting_style and clocale_quoting_style.
2317         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
2318
2319 2012-01-29  Jim Meyering  <meyering@redhat.com>
2320
2321         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
2322         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
2323         detect uses of canonicalize_file_name.
2324
2325 2012-01-28  Bruno Haible  <bruno@clisp.org>
2326
2327         test-framework-sh: Fix test failure with AIX 7.1 diff.
2328         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
2329         in column 1, like 'diff -c' does.
2330         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
2331         whether 'diff -u' is used. Instead, test whether the output contains
2332         some '@' character.
2333
2334 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
2335
2336         strtoimax: eliminate need for stdint.h, inttypes.h checks
2337         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
2338         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
2339         the prerequisites for a recently-introduced strtoimax test.
2340         I guess this might cause strtoimax to be replaced when not
2341         strictly necessary on older hosts, but this shouldn't introduce
2342         any bugs and it should make Emacs 'configure' faster on typical
2343         modern hosts.  Problem discovered when importing the latest gnulib
2344         to an Emacs test version.
2345         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
2346
2347 2012-01-28  Bruno Haible  <bruno@clisp.org>
2348
2349         sys_time: Override 'struct timeval' on some native Windows platforms.
2350         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
2351         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
2352         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
2353         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
2354         needs to be overridden.
2355         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
2356         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
2357         * tests/test-sys_select.c: Check that the tv_sec member has the same
2358         size as a 'time_t'.
2359         * tests/test-sys_time.c: Likewise.
2360         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
2361         is set, set also REPLACE_GETTIMEOFDAY.
2362         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
2363         convert the resulting 'struct timeval' before returning.
2364         * lib/select.c: Include <sys/time.h>.
2365         (select, timeval): Undefine at the right place.
2366         * modules/select (Depends-on): Add sys_time.
2367         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
2368         some Windows platforms.
2369         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
2370
2371 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
2372
2373         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
2374         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
2375         an integer.
2376         * lib/fcntl.c (dupfd): Likewise.
2377         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
2378
2379 2012-01-28  Bruno Haible  <bruno@clisp.org>
2380
2381         fcntl: Avoid compilation error on native Windows.
2382         * modules/fcntl (Depends-on): Add 'close'.
2383
2384 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
2385
2386         select, poll, isatty: Avoid warnings on x86_64 mingw64.
2387         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
2388         pointer to an integer.
2389         * lib/poll.c (IsConsoleHandle): Likewise.
2390         * lib/isatty.c (IsConsoleHandle): Likewise.
2391
2392 2012-01-28  Jim Meyering  <meyering@redhat.com>
2393
2394         doc: clarify README-release
2395         * top/README-release: Clarify: you should make a point to have
2396         the latest stable versions of build tools in your PATH, and the
2397         reference to buildreq is solely for its list of tool names, not
2398         for its minimal-functional version numbers.
2399         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
2400
2401         maint.mk: use more readable (yet functionally equivalent) quoting
2402         It is common to quote a single quote in a single quoted string like
2403         this:  '...'\''...'.  Unless you know the idiom, that looks like
2404         gibberish, so prefer to double-quote the string when possible.
2405         Then you can use a more readable, lone single quote: "...'..."
2406         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
2407         "don't" is more readable than the equivalent 'don'\''t'.
2408         (sc_cast_of_x_alloc_return_value): Likewise.
2409         (sc_cast_of_alloca_return_value): Likewise.
2410         (sc_makefile_path_separator_check): Similar: use ":" in '...',
2411         rather than '\'':'\''.
2412
2413 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
2414
2415         stdalign: relax _Alignof and tighten _Alignas test
2416         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
2417         as it was too strict: alignof must divide offsetof, but it need
2418         not equal offsetof.  Inspired by Joseph S. Myers's comment
2419         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
2420         Conversely, tighten the _Alignas test a bit, as the resulting
2421         alignment must be exactly 8.
2422
2423 2012-01-27  Bruno Haible  <bruno@clisp.org>
2424
2425         stdalign: Document the last change.
2426         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
2427
2428 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
2429
2430         stdalign: check that alignof and offsetof are consistent
2431         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
2432         Problem reported for gnulib by Richard W.M. Jones in
2433         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00340.html>.
2434
2435 2012-01-27  Jim Meyering  <meyering@redhat.com>
2436
2437         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
2438         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
2439         convert a sequence with gaps to the minimal containing range.
2440         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
2441         * tests/test-update-copyright.sh: Test for this.
2442         The FSF confirmed it is ok to do this, assuming there is at
2443         least one significant change per year in the affected range:
2444         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
2445
2446 2012-01-26  Bruno Haible  <bruno@clisp.org>
2447
2448         pipe2: refine doc about thread-safety
2449         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
2450         multithread-safety problem.
2451         * doc/glibc-functions/accept4.texi: Likewise.
2452
2453 2012-01-26  Bruno Haible  <bruno@clisp.org>
2454
2455         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
2456         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
2457         In the test program, include <fcntl.h>, for O_RDONLY.
2458
2459 2012-01-26  Eric Blake  <eblake@redhat.com>
2460
2461         pipe2: document lack of thread-safety in replacement
2462         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
2463         issue in replacement.
2464         * doc/glibc-functions/accept4.texi (accept4): Likewise.
2465         Based on a report by Eric Wong.
2466
2467 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
2468             Bruno Haible  <bruno@clisp.org>
2469
2470         malloca: Avoid warnings on x86_64 mingw64.
2471         * lib/malloca.c: Include <stdint.h>.
2472         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
2473         * modules/malloca (Depends-on): Add stdint.
2474         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
2475
2476 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
2477
2478         obstack: remove __STDC__ conditionals
2479         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
2480         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
2481         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
2482         m4/include_next.m4 as the only gnulib-maintained places that still
2483         refer to __STDC__.
2484
2485 2012-01-24  Bruno Haible  <bruno@clisp.org>
2486
2487         havelib: Modern quoting.
2488         * build-aux/config.rpath: Quote 'like this', not `like this', as per
2489         the recent change to the GNU coding standards.
2490
2491 2012-01-24  Bruno Haible  <bruno@clisp.org>
2492
2493         stdint: Improve support for Android.
2494         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
2495         Reported by Simon Josefsson <simon@josefsson.org>.
2496
2497 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
2498
2499         doc: omit trailing empty lines from INSTALL etc.
2500         * doc/Makefile (INSTALL): Omit trailing empty lines.
2501         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
2502         omit trailing empty lines.  This simplifies the build procedure.
2503
2504 2012-01-23  Jim Meyering  <meyering@redhat.com>
2505
2506         tests: avoid spurious warnings about gl_sockets_startup
2507         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
2508         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
2509         reporting a "statement with no effect".
2510         * tests/test-accept.c (main): Mark as "(void)".
2511         * tests/test-accept4.c (main): Likewise.
2512         * tests/test-bind.c (main): Likewise.
2513         * tests/test-connect.c (main): Likewise.
2514         * tests/test-getpeername.c (main): Likewise.
2515         * tests/test-getsockname.c (main): Likewise.
2516         * tests/test-getsockopt.c (main): Likewise.
2517         * tests/test-listen.c (main): Likewise.
2518         * tests/test-recv.c (main): Likewise.
2519         * tests/test-recvfrom.c (main): Likewise.
2520         * tests/test-send.c (main): Likewise.
2521         * tests/test-sendto.c (main): Likewise.
2522         * tests/test-setsockopt.c (main): Likewise.
2523         * tests/test-shutdown.c (main): Likewise.
2524
2525 2012-01-21  Bruno Haible  <bruno@clisp.org>
2526
2527         locale-fr.m4: Fix for Android.
2528         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
2529         failure of the test program on Bionic libc.
2530
2531 2012-01-21  Jim Meyering  <meyering@redhat.com>
2532
2533         bootstrap: fail when bootstrap_post_import_hook fails
2534         Otherwise, it's far too easy to miss diagnostics emitted
2535         between gnulib-tool's output and that of running configure.
2536         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
2537
2538 2012-01-17  Jim Meyering  <meyering@redhat.com>
2539
2540         maint: enable sc_trailing_blank
2541         * build-aux/pmccabe.css: Remove trailing blanks.
2542         * doc/acl-cygwin.txt: Likewise.
2543         * doc/gnu-oids.texi: Likewise
2544         * cfg.mk: Enable sc_trailing_blank.
2545         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
2546
2547 2012-01-17  Jim Meyering  <meyering@redhat.com>
2548
2549         maint: enable sc_prohibit_openat_without_use
2550         * cfg.mk: Enable sc_prohibit_openat_without_use.
2551         Exempt lib/selinux-at.c.
2552
2553 2012-01-17  Jim Meyering  <meyering@redhat.com>
2554
2555         maint: enable sc_prohibit_cloexec_without_use
2556         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
2557         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
2558
2559 2012-01-17  Jim Meyering  <meyering@redhat.com>
2560
2561         maint: enable sc_prohibit_intprops_without_use
2562         * cfg.mk: Enable sc_prohibit_intprops_without_use
2563         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
2564
2565 2012-01-17  Jim Meyering  <meyering@redhat.com>
2566
2567         maint: enable sc_prohibit_hash_pjw_without_use
2568         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
2569         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
2570         to match any use of \<hash_pjw\>, i.e., not necessarily with a
2571         following " (".
2572
2573 2012-01-17  Jim Meyering  <meyering@redhat.com>
2574
2575         maint: enable double-word-prohibiting rule
2576         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
2577         Exempt three files.
2578
2579 2012-01-17  Jim Meyering  <meyering@redhat.com>
2580
2581         maint: remove empty lines at EOF, but excluding modules/*
2582         Apply syntax rules at home as well as abroad.  Most changes
2583         were induced by running this:
2584           make srcdir=. _build-aux=build-aux -f top/maint.mk \
2585             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
2586             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
2587         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
2588         Exempt modules/* and two binary files.
2589         Also exempt doc/INSTALL*, per request from Bruno Haible.
2590         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
2591         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
2592         * doc/Copyright/request-assign.future: Likewise.
2593         * doc/Copyright/request-disclaim.changes: Likewise.
2594         * doc/INSTALL: Likewise.
2595         * doc/INSTALL.ISO: Likewise.
2596         * doc/INSTALL.UTF-8: Likewise.
2597         * doc/acl-cygwin.txt: Likewise.
2598         * doc/acl-resources.txt: Likewise.
2599         * doc/fdl-1.2.texi: Likewise.
2600         * doc/fdl-1.3.texi: Likewise.
2601         * doc/fdl.texi: Likewise.
2602         * lib/argp-pin.c: Likewise.
2603         * lib/round.c: Likewise.
2604         * lib/unicase/u16-totitle.c: Likewise.
2605         * lib/unictype/block_test.c: Likewise.
2606         * lib/uninorm/canonical-decomposition.c: Likewise.
2607         * m4/README: Likewise.
2608         * m4/relocatable-lib.m4: Likewise.
2609         * tests/test-isnand-nolibm.c: Likewise.
2610         * tests/test-isnand.c: Likewise.
2611         * tests/uninorm/NormalizationTest.txt: Likewise.
2612
2613 2012-01-17  Jim Meyering  <meyering@redhat.com>
2614
2615         maint: add framework to run syntax-check rules against gnulib sources
2616         * cfg.mk: New file, to disable all currently-failing tests.
2617         We'll enable them one by one, as they are made to pass.
2618         * Makefile (sc_maint): New rule.
2619
2620 2012-01-21  Bruno Haible  <bruno@clisp.org>
2621
2622         stdint: Add support for Android.
2623         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
2624         include the system's <stdint.h>.
2625         Reported by Simon Josefsson <simon@josefsson.org>.
2626
2627 2012-01-19  Jim Meyering  <meyering@redhat.com>
2628
2629         bootstrap: add bootstrap_post_import_hook
2630         Bison does still need something like the gnulib_mk_hook whose
2631         invocation I had to remove along with slurp in commit 767ccd40.
2632         Technically, we could get along without it, but doing so would
2633         have required living with a warning and a mandatory post-bootstrap
2634         automake rerun.
2635         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
2636         (bootstrap_post_import_hook): New function.
2637         Invoke it after gnulib-tool --import and before autoreconf.
2638
2639 2012-01-18  Jim Meyering  <meyering@redhat.com>
2640
2641         gitlog-to-changelog: don't use "no_"-prefixed variable name
2642         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
2643         to enable both --cluster and --no-cluster.  Change variable name,
2644         s/\$no_cluster/$cluster/, and reverse usage to match.
2645
2646         gitlog-to-changelog: use "||", not "or" in expressions
2647         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
2648         expressions.
2649
2650 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
2651
2652         gitlog-to-changelog: new option --no-cluster
2653         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
2654         clustering of adjacent commit messages.
2655
2656 2012-01-17  Jim Meyering  <meyering@redhat.com>
2657
2658         maint: spell file systems with two words, not one
2659         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
2660         two words, not one.
2661
2662 2012-01-16  Jim Meyering  <meyering@redhat.com>
2663
2664         bootstrap: add a FIXME comment to ensure we eventually remove the hack
2665         * build-aux/bootstrap (gnulib_tool_options): Add comment.
2666
2667 2012-01-16  Eric Blake  <eblake@redhat.com>
2668
2669         bootstrap: cater to autoconf 2.59
2670         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
2671         is not available.
2672
2673         bootstrap: properly check for libtool
2674         * build-aux/bootstrap (libtoolize): Also run libtool when older
2675         usage is detected.
2676
2677 2012-01-15  Bruno Haible  <bruno@clisp.org>
2678
2679         Improve support for MSVC 9.
2680         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
2681         clashes on MSVC.
2682         * lib/fcntl.in.h: Likewise.
2683         * lib/stdlib.in.h: Likewise.
2684         * lib/sys_stat.in.h: Likewise.
2685
2686 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
2687
2688         gnupload: we hold the master copy of this script now
2689         For motivation and more information, see:
2690         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>
2691         * build-aux/gnupload: Make it clear in the heading comments that the
2692         master copy of this file is maintained by gnulib.  Since we are at
2693         it, bump its copyright year and ...
2694         ($scriptversion): ... the date in its version.
2695         ($usage): Patches and bug reports should be sent to the gnulib list,
2696         not the automake one.
2697         * config/srclist.txt: Don't try to sync 'gnupload' from automake
2698         anymore.
2699
2700 2012-01-15  Bruno Haible  <bruno@clisp.org>
2701
2702         Fix module 'random'.
2703         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
2704         initstate, setstate are declared.
2705
2706 2012-01-14  Bruno Haible  <bruno@clisp.org>
2707
2708         Tests for module 'random'.
2709         * modules/random-tests: New file.
2710         * tests/test-random.c: New file, based on tests/test-random_r.c.
2711
2712         New module 'random'.
2713         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
2714         declarations.
2715         * lib/random.c: New file, based on glibc/stdlib/random.c.
2716         * m4/random.m4: New file.
2717         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
2718         HAVE_RANDOM.
2719         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
2720         * modules/random: New file.
2721         * config/srclist.txt: Add an entry for random.c.
2722         * doc/posix-functions/random.texi: Mention the 'random' module.
2723         * doc/posix-functions/initstate.texi: Likewise.
2724         * doc/posix-functions/setstate.texi: Likewise.
2725         * doc/posix-functions/srandom.texi: Likewise.
2726
2727 2012-01-12  Bruno Haible  <bruno@clisp.org>
2728
2729         random_r: Use common idioms.
2730         * lib/random_r.c: Include <stdlib.h> first.
2731
2732         random_r: Override incompatible API on AIX, OSF/1.
2733         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
2734         Override the system function if REPLACE_RANDOM_R is 1.
2735         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
2736         and OSF/1, set REPLACE_RANDOM_R.
2737         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
2738         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
2739         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
2740         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
2741         * doc/glibc-functions/random_r.texi: Likewise.
2742         * doc/glibc-functions/setstate_r.texi: Likewise.
2743
2744         random_r: Support for MSVC 9.
2745         * lib/random_r.c: Include stdint.h, not inttypes.h.
2746
2747 2012-01-12  Eric Blake  <eblake@redhat.com>
2748
2749         inet_ntop: guard extra work by IF_LINT
2750         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
2751         better code generation when not checking for warnings.
2752         Suggested by Paul Eggert and Jim Meyering.
2753
2754         strptime: fix regression on mingw
2755         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
2756         Fix regression.  Reported by Bruno Haible.
2757
2758 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
2759             Bruno Haible  <bruno@clisp.org>
2760
2761         copy-file: add error-code-returning variant.
2762         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
2763         (qcopy_file_preserving): New declaration.
2764         * lib/copy-file.c (qcopy_file_preserving): Renamed from
2765         copy_file_preserving. Change return type to 'int'. Don't emit an error
2766         message here.
2767         (copy_file_preserving): New function.
2768         * tests/test-copy-file.c: Include <stdlib.h>.
2769         (main): Test qcopy_file_preserving if the environment variable
2770         NO_STDERR_OUTPUT is set.
2771         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
2772         with NO_STDERR_OUTPUT
2773         * tests/test-copy-file-2.sh: Likewise.
2774
2775 2012-01-10  Bruno Haible  <bruno@clisp.org>
2776
2777         copy-file: Use 'quote' module consistently.
2778         * lib/copy-file.c (copy_file_preserving): Use quote().
2779
2780         copy-file: Refactor.
2781         * lib/copy-file.c: Include quote.h.
2782         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
2783         message here.
2784         * modules/copy-file (Depends-on): Add quote.
2785
2786         acl: Export qcopy_acl.
2787         * lib/acl.h (qcopy_acl): New declaration.
2788         * lib/copy-acl.c (qcopy_acl): Make non-static.
2789
2790         acl: Rename a local variable.
2791         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
2792
2793         acl: Align return values of copy_acl and qcopy_acl.
2794         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
2795         maybe < -1.
2796
2797 2012-01-11  Eric Blake  <eblake@redhat.com>
2798
2799         strptime: silence gcc warnings
2800         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
2801         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
2802         Reported by Daniel P. Berrange.
2803
2804         inet_ntop: silence gcc warning
2805         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
2806         Reported by Daniel P. Berrange.
2807
2808 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
2809
2810         getloadavg test: skip the test on GNU/Linux without /proc mounted
2811         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
2812         file.  When /proc is not mounted, it always fails with ENOENT.
2813         * tests/test-getloadavg.c (main): Treat ENOENT return code from
2814         getloadavg(3) the same way as ENOSYS and ENOTSUP.
2815
2816 2012-01-10  Bruno Haible  <bruno@clisp.org>
2817
2818         regex: Avoid link error on MSVC 9.
2819         * modules/regex (Depends-on): Add wctype.
2820
2821 2012-01-10  Bruno Haible  <bruno@clisp.org>
2822
2823         doc: Mention --with-tests option.
2824         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
2825         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
2826         --with-tests.
2827         Reported by Reuben Thomas.
2828
2829 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
2830
2831         users.txt: order package names lexicographically.
2832         * users.txt: Order package names lexicographically.
2833
2834 2012-01-10  Jim Meyering  <meyering@redhat.com>
2835
2836         maint.mk: fix description in comment
2837         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
2838
2839         ignore-value: remove deprecated ignore_ptr function
2840         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
2841         * NEWS: Note this.
2842
2843 2012-01-09  Jim Meyering  <meyering@redhat.com>
2844
2845         test-init.sh: avoid a subshell
2846         * tests/test-init.sh: Remove protective subshell.
2847         Suggested by Bernhard Voelker.  While a subshell is normally
2848         required to protect against older shells (Solaris, FreeBSD) that
2849         warn about a missing program before performing redirection, the
2850         shell-selection tests performed by init.sh probably exclude any
2851         offending shell.
2852
2853 2012-01-08  Bruno Haible  <bruno@clisp.org>
2854
2855         setlocale tests: Avoid test failure on Solaris 11 2011-11.
2856         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
2857         variable.
2858
2859 2012-01-08  Bruno Haible  <bruno@clisp.org>
2860
2861         posix_spawn_file_actions_addopen: Work around Solaris 11 2011-11 bug.
2862         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
2863         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
2864         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
2865         macro.
2866         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
2867         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
2868         * lib/spawn_faction_addopen.c: Add workaround implementation if
2869         HAVE_WORKING_POSIX_SPAWN.
2870         * modules/spawn (Makefile): Substitute
2871         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
2872         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
2873         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
2874         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
2875         (Depends-on): Update conditions.
2876         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
2877         the Solaris 11 bug.
2878
2879 2012-01-08  Bruno Haible  <bruno@clisp.org>
2880
2881         posix_spawn_file_actions_adddup2: Work around Solaris 11 2011-11 bug.
2882         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
2883         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
2884         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
2885         macro.
2886         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
2887         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
2888         * lib/spawn_faction_adddup2.c: Add workaround implementation if
2889         HAVE_WORKING_POSIX_SPAWN.
2890         * modules/spawn (Makefile): Substitute
2891         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
2892         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
2893         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
2894         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
2895         (Depends-on): Update conditions.
2896         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
2897         the Solaris 11 bug.
2898
2899 2012-01-08  Bruno Haible  <bruno@clisp.org>
2900
2901         posix_spawn_file_actions_addclose: Work around Solaris 11 2011-11 bug.
2902         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
2903         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
2904         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
2905         HAVE_WORKING_POSIX_SPAWN.
2906         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
2907         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
2908         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
2909         * lib/spawn_faction_addclose.c: Add workaround implementation if
2910         HAVE_WORKING_POSIX_SPAWN.
2911         * modules/spawn (Makefile): Substitute
2912         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
2913         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
2914         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
2915         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
2916         (Depends-on): Update conditions.
2917         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
2918         the Solaris 11 bug.
2919
2920 2012-01-08  Bruno Haible  <bruno@clisp.org>
2921
2922         doc: Update for Solaris 11 2011-11.
2923         * doc/*/*.texi: Mention Solaris 11 2011-11 where appropriate.
2924         * m4/printf.m4: Update comments.
2925
2926 2012-01-08  Bruno Haible  <bruno@clisp.org>
2927
2928         mktime: Avoid compilation error on Solaris 11.
2929         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
2930
2931 2012-01-08  Bruno Haible  <bruno@clisp.org>
2932
2933         doc: Small fix.
2934         * doc/posix-headers/nl_types.texi: Correct platforms list.
2935
2936 2012-01-08  Simon Josefsson  <simon@josefsson.org>
2937
2938         Add lgpl-3.0 module.
2939         * MODULES.html.sh (Support for building documentation): Add
2940         lgpl-3.0.
2941         * modules/lgpl-3.0: New file.
2942
2943 2012-01-08  Jim Meyering  <meyering@redhat.com>
2944
2945         select.c: indent with spaces, not TABs
2946         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
2947
2948 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
2949
2950         quotearg: do not use grave accent for left quote
2951         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
2952         locale_quoting_style.
2953         (quotearg_buffer_restyled): Fix example.
2954         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
2955
2956 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
2957
2958         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
2959         Most programs do not have translation catalogs for English and much
2960         less separate catalogs for British and American English.  Drop the
2961         suggestion to translators about these two, and provide it
2962         automatically for Unicode locales.  Like most programs, even those
2963         using American English, we use single quotation marks.  This conflicts
2964         with the American typographic convention, but works better when you
2965         cite the entire error message within double quotes.  It also tries not
2966         to clash with established practice and with what non-gnulib programs
2967         will usually do.
2968         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
2969         using an UTF-8 or GB-18030 locale.  The list of other locales with
2970         quotes was provided by Bruno Haible.
2971         (quotearg_buffer_restyled): Adjust instructions to translators.
2972         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
2973         text, since this would be wrong when using Unicode.
2974         * modules/quotearg: Depend on c-strcaseeq.
2975
2976 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
2977
2978         quotearg: fix Wikipedia link
2979         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
2980
2981 2012-01-07  Simon Josefsson  <simon@josefsson.org>
2982
2983         Fix for mingw with MSVC9.
2984         * m4/ld-version-script.m4: Check that compiler rejects version
2985         scripts with syntax errors.  Reported by Bruno Haible
2986         <bruno@clisp.org>.
2987
2988 2012-01-06  Bruno Haible  <bruno@clisp.org>
2989
2990         Talk about "native Windows API", not "Woe32".
2991         * lib/accept4.c: Update comments to mention native Windows.
2992         * lib/execute.c: Likewise.
2993         * lib/fatal-signal.c: Likewise.
2994         * lib/localcharset.c: Likewise.
2995         * lib/nanosleep.c: Likewise.
2996         * lib/nl_langinfo.c: Likewise.
2997         * lib/pclose.c: Likewise.
2998         * lib/pipe-filter-gi.c: Likewise.
2999         * lib/pipe-filter-ii.c: Likewise.
3000         * lib/pipe.c: Likewise.
3001         * lib/pipe2.c: Likewise.
3002         * lib/popen.c: Likewise.
3003         * lib/progreloc.c: Likewise.
3004         * lib/relocatable.c: Likewise.
3005         * lib/sigaction.c: Likewise.
3006         * lib/sigprocmask.c: Likewise.
3007         * lib/spawn-pipe.h: Likewise.
3008         * lib/spawn-pipe.c: Likewise.
3009         * lib/spawni.c: Likewise.
3010         * lib/stat-time.h: Likewise.
3011         * lib/w32spawn.h: Likewise.
3012         * tests/test-isatty.c: Likewise.
3013         * lib/config.charset: More comments.
3014         * doc/gnulib-intro.texi: Mention native Windows.
3015         * doc/posix-functions/_Exit_C99.texi: Likewise.
3016         * doc/posix-headers/fcntl.texi: Likewise.
3017
3018 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
3019
3020         argp: Avoid crash if translator uses % characters in a translation.
3021         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
3022         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
3023
3024 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
3025
3026         doc: C11 and C++11 are now official
3027         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
3028         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
3029         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
3030         * modules/stdalign:
3031         Replace references to draft C1X to C11, and to draft C++0X to C++11.
3032
3033 2012-01-06  Bruno Haible  <bruno@clisp.org>
3034
3035         uc-is-grapheme-break tests: Tweak.
3036         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
3037         message.
3038
3039 2012-01-06  Bruno Haible  <bruno@clisp.org>
3040
3041         test-init.sh: correct the test for diff -u
3042         * tests/test-init.sh: Also redirect stdout to /dev/null.
3043
3044 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
3045
3046         Use ', not `, for quoting output.
3047         * build-aux/announce-gen (usage, sizes, print_news_deltas)
3048         (print_changelog_deltas, get_tool_versions, main program):
3049         * build-aux/git-version-gen:
3050         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
3051         * build-aux/move-if-change (help):
3052         * build-aux/useless-if-before-free (usage, main program):
3053         * check-module (parse_module_file, usage)
3054         (find_included_lib_files, check_module):
3055         * lib/argmatch.c (main) [TEST]:
3056         * lib/argp-help.c (_help):
3057         * lib/getopt1.c (main) [TEST]:
3058         * lib/git-merge-changelog.c (usage):
3059         * lib/xstrtol-error.c (xstrtol_error):
3060         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
3061         * m4/argz.m4 (gl_FUNC_ARGZ):
3062         * m4/bison.m4 (gl_BISON):
3063         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
3064         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
3065         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
3066         * m4/fpending.m4 (gl_PREREQ_FPENDING):
3067         * m4/gc-random.m4 (gl_GC_RANDOM):
3068         * m4/intl.m4 (gt_CHECK_DECL):
3069         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
3070         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
3071         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
3072         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
3073         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
3074         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
3075         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
3076         * tests/test-dirname.c (main):
3077         * tests/test-getpass.c (main):
3078         * tests/test-iconvme.c (main):
3079         * tests/test-parse-datetime.c (LOG):
3080         * tests/test-xstrtoimax.sh:
3081         * tests/test-xstrtol.sh:
3082         * tests/test-xstrtoll.sh:
3083         * tests/test-xstrtoumax.sh:
3084         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
3085         * top/GNUmakefile (abort-due-to-no-makefile):
3086         Quote 'like this', not `like this', as per the recent change to
3087         the GNU coding standards.
3088
3089 2012-01-05  Bruno Haible  <bruno@clisp.org>
3090
3091         strtoimax: Don't force a replacement on systems where intmax_t is int.
3092         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
3093         'intmax_t' is not larger than 'int'.
3094         Reported by Pádraig Brady <P@draigBrady.com>.
3095
3096 2012-01-05  Bruno Haible  <bruno@clisp.org>
3097
3098         doc: Mention NetBSD bugs.
3099         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
3100         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
3101
3102 2012-01-05  Bruno Haible  <bruno@clisp.org>
3103
3104         strtoumax tests: Enhance tests.
3105         * tests/test-strtoumax.c (main): Add tests for large values.
3106
3107 2012-01-05  Bruno Haible  <bruno@clisp.org>
3108
3109         strtoimax: Work around AIX 5.1 bug.
3110         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
3111         definition.
3112         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
3113         Set HAVE_STRTOIMAX.
3114         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
3115         REPLACE_STRTOIMAX.
3116         * modules/inttypes-incomplete (Makefile.am): Substitute
3117         REPLACE_STRTOIMAX.
3118         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
3119         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
3120         (Depends-on): Update conditions.
3121         * tests/test-strtoimax.c (main): Add tests for large values.
3122         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
3123
3124 2012-01-05  Bruno Haible  <bruno@clisp.org>
3125
3126         inttypes: Modernize.
3127         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
3128         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
3129         (Makefile.am): Update inttypes.h rule.
3130
3131 2012-01-05  Jim Meyering  <meyering@redhat.com>
3132
3133         init.sh: don't waste a subshell just to redirect stderr
3134         * tests/init.sh: In testing for diff -u and diff -c, use a
3135         stderr-redirecting exec inside `...` rather than a subshell.
3136
3137         test-init.sh: avoid failure on HP-UX 11.00
3138         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
3139         resolves to diff -c or cmp.  Reported by Bruno Haible.
3140
3141 2012-01-05  Bruno Haible  <bruno@clisp.org>
3142
3143         Tests for module 'strtoull'.
3144         * modules/strtoull-tests: New file.
3145         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
3146
3147 2012-01-05  Bruno Haible  <bruno@clisp.org>
3148
3149         Tests for module 'strtoll'.
3150         * modules/strtoll-tests: New file.
3151         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
3152
3153 2012-01-05  Bruno Haible  <bruno@clisp.org>
3154
3155         Tests for module 'strtoul'.
3156         * modules/strtoul-tests: New file.
3157         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
3158
3159 2012-01-05  Bruno Haible  <bruno@clisp.org>
3160
3161         Tests for module 'strtol'.
3162         * modules/strtol-tests: New file.
3163         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
3164
3165 2012-01-04  Jim Meyering  <meyering@redhat.com>
3166
3167         test-init.sh: accommodate Solaris 5.10's different diff -u output
3168         * tests/test-init.sh: Also exempt @@ lines from the comparison
3169         of diff output, since Solaris 5.10 and GNU diff formats differ.
3170         Reported by Stefano Lattarini.
3171
3172 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
3173
3174         test-posixtm: don't assume signed integer wraparound
3175         * tests/test-posixtm.c (main): Don't assume wraparound semantics
3176         after signed integer overflow.  Inspired by (though it may not
3177         fix) Bruno Haible's bug report in
3178         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00066.html>.
3179
3180         Spell out "Windows 9x" and "Windows XP".
3181         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
3182         "Windows 9x" and "WinXP" with "Windows XP".
3183
3184 2012-01-04  Jim Meyering  <meyering@redhat.com>
3185
3186         test-vc-list-files-cvs.sh: remove obsolete comment
3187         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
3188         double exit.  Now that's all encapsulated via skip_ and Exit.
3189
3190 2012-01-04  Bruno Haible  <bruno@clisp.org>
3191
3192         Talk about "native Windows API", not "Win32".
3193         * lib/classpath.c: Update comments to mention native Windows.
3194         * lib/csharpexec.c: Likewise.
3195         * lib/dup2.c: Likewise.
3196         * lib/error.c: Likewise.
3197         * lib/fcntl.c: Likewise.
3198         * lib/filename.h: Likewise.
3199         * lib/findprog.c: Likewise.
3200         * lib/get-rusage-as.c: Likewise.
3201         * lib/get-rusage-data.c: Likewise.
3202         * lib/getpagesize.c: Likewise.
3203         * lib/javaexec.c: Likewise.
3204         * lib/msvc-inval.c: Likewise.
3205         * lib/msvc-nothrow.c: Likewise.
3206         * lib/nanosleep.c: Likewise.
3207         * lib/nonblocking.c: Likewise.
3208         * lib/printf-parse.c: Likewise.
3209         * lib/setlocale.c: Likewise.
3210         * lib/sigaction.c: Likewise.
3211         * lib/strerror_r.c: Likewise.
3212         * lib/tmpdir.c: Likewise.
3213         * lib/vasnprintf.c: Likewise.
3214         * lib/w32spawn.h: Likewise.
3215         * lib/waitpid.c: Likewise.
3216         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
3217         * m4/locale-ar.m4: Likewise.
3218         * m4/locale-fr.m4: Likewise.
3219         * m4/locale-ja.m4: Likewise.
3220         * m4/locale-tr.m4: Likewise.
3221         * m4/locale-zh.m4: Likewise.
3222         * m4/printf.m4: Likewise.
3223         * tests/test-cloexec.c: Likewise.
3224         * tests/test-copy-acl.sh: Likewise.
3225         * tests/test-copy-file.sh: Likewise.
3226         * tests/test-file-has-acl.sh: Likewise.
3227         * tests/test-set-mode-acl.sh: Likewise.
3228         * tests/test-dup-safer.c: Likewise.
3229         * tests/test-dup2.c: Likewise.
3230         * tests/test-dup3.c: Likewise.
3231         * tests/test-fcntl.c: Likewise.
3232         * tests/test-nonblocking-pipe.h: Likewise.
3233         * tests/test-nonblocking-socket.h: Likewise.
3234         * tests/test-pipe.c: Likewise.
3235         * tests/test-pipe2.c: Likewise.
3236         * tests/test-spawn-pipe-child.c: Likewise.
3237         * doc/acl-resources.txt: Likewise.
3238         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
3239         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
3240         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
3241         * lib/localcharset.c: Update comments to mention native Windows.
3242         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
3243         * lib/localename.c: Likewise.
3244         * lib/progreloc.c: Likewise.
3245         * lib/relocatable.c: Likewise.
3246         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
3247         (windows_compute_revents): Renamed from win32_compute_revents.
3248         (windows_compute_revents_socket): Renamed from
3249         win32_compute_revents_socket.
3250         * lib/select.c: Update comments to mention native Windows.
3251         (windows_poll_handle): Renamed from win32_poll_handle.
3252         * m4/threadlib.m4: Update comments to mention native Windows.
3253         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
3254         --enable-threads=windows instead of --enable-threads=win32. Set
3255         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
3256         * lib/glthread/lock.h: Update comments to mention native Windows.
3257         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
3258         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
3259         USE_WIN32_THREADS.
3260         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
3261         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
3262         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
3263         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
3264         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
3265         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
3266         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
3267         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
3268         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
3269         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
3270         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
3271         * tests/test-tls.c: Likewise.
3272         Rationale:
3273         Microsoft renamed the "Win32 API" to "Windows API", as it is available
3274         on both 32-bit and 64-bit Windows systems.
3275         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
3276         line of distinction is between "native Windows" on one side and Unix/
3277         POSIX systems on the other side. More details in
3278         <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>.
3279         Suggested by Paul Eggert.
3280
3281 2012-01-03  Bruno Haible  <bruno@clisp.org>
3282
3283         isatty: Support for MSVC 9.
3284         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
3285         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
3286         (_isatty_nothrow): New function.
3287         (isatty): Use it instead of _isatty.
3288         (IsConsoleHandle): Add comment, from Paolo Bonzini.
3289         * lib/poll.c (IsConsoleHandle): Likewise.
3290         * lib/select.c (IsConsoleHandle): Likewise.
3291         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
3292         (gl_PREREQ_ISATTY): New macro.
3293         * modules/isatty (Depends-on): Add msvc-inval.
3294         (configure.ac): Invoke gl_PREREQ_ISATTY.
3295
3296 2012-01-03  Jim Meyering  <meyering@redhat.com>
3297
3298         maint.mk: remove temporary transition aid from over 1.5 years ago
3299         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
3300         purpose was to aid in the transition (avoiding silent malfunction)
3301         from that old name to the new _sc_search_regexp.  This shim was
3302         added by commit 219c504b.
3303
3304         init.sh: do not try to accommodate compare arguments starting with "-"
3305         * tests/init.sh (compare_dev_null_): Do not try to accommodate
3306         compare arguments that start with "-".  Besides, we do not worry
3307         about this when invoking diff or cmp; why start now with sed?
3308         Using "--" to separate options from argument would trigger sed
3309         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
3310         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
3311
3312 2012-01-02  Bruno Haible  <bruno@clisp.org>
3313
3314         Enhance tests for module 'isatty'.
3315         * modules/isatty-tests (Depends-on): Add pipe-posix.
3316         * tests/test-isatty.c: Include <fcntl.h>.
3317         (DEV_NULL): New macro.
3318         (main): Test the resut of isatty() also on regular files, pipes, and
3319         /dev/null.
3320
3321         New module 'isatty'.
3322         * lib/unistd.in.h (isatty): New declaration.
3323         * lib/isatty.c: New file, based on an idea of
3324         Bastien Roucariès <roucaries.bastien@gmail.com>.
3325         * m4/isatty.m4: New file.
3326         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
3327         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
3328         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
3329         REPLACE_ISATTY.
3330         * modules/isatty: New file.
3331         * doc/posix-functions/isatty.texi: Mention the new module.
3332         Suggested by Paolo Bonzini.
3333
3334 2012-01-02  Bruno Haible  <bruno@clisp.org>
3335
3336         canonicalize: Tweak 2011-12-29 commit.
3337         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
3338         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
3339
3340 2012-01-02  Jim Meyering  <meyering@redhat.com>
3341
3342         gitlog-to-changelog: describe input syntax in --help output
3343         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
3344
3345         gitlog-to-changelog: fix typo in --help: show backslash before email @
3346         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
3347         in sources, but not in actual output.
3348
3349 2011-12-30  Jim Meyering  <meyering@redhat.com>
3350
3351         gitlog-to-changelog: don't malfunction when name contains %-directive
3352         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
3353         in a name string cause trouble.  E.g., with a user name of "%s",
3354         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
3355
3356 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
3357
3358         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
3359         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
3360         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
3361         the "  (tiny change)" notation that is appended to the standard
3362         ChangeLog "date  name  email" header line.
3363
3364 2012-01-01  Jim Meyering  <meyering@redhat.com>
3365
3366         test-framework-sh: init.sh: fix "make dist" failure
3367         When using gnulib-tool's --with-tests option and any module that
3368         depends on test-framework-sh, "make dist" would fail due to the
3369         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
3370         in the gltests directory, and not in the gllib/ directory.
3371         One way to work around that is to move the EXTRA_DIST += init.sh
3372         from the primary module to the -tests one:
3373         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
3374         * modules/test-framework-sh (Makefile.am): ...not here.
3375         Reported by Tom G. Christensen in
3376         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
3377
3378         version-etc: update copyright year reported by --version
3379         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
3380
3381 2011-12-31  Pádraig Brady  <P@draigBrady.com>
3382
3383         canonicalize: only stat() if required
3384         * lib/canonicalize.c (canonicalize_filename_mode):
3385         Avoid calling l?stat() when both CAN_MISSING,
3386         and CAN_NOLINKS are set, as we neither need
3387         to resolve symlinks or test component existence.
3388
3389 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
3390
3391         doc: cover st_ino issues once; add OpenVMS etc.
3392         * doc/posix-functions/stat.texi (stat):
3393         * doc/posix-functions/lstat.texi (lstat):
3394         * doc/posix-functions/fstatat.texi (fstatat):
3395         * doc/posix-functions/fstat.texi (fstat):
3396         Move general 'struct stat' stuff to sys_stat.texi,
3397         leaving behind a pointer.
3398         * doc/posix-headers/sys_stat.texi (sys/stat.h):
3399         Merge duplicate info about 'struct stat' problems into here.
3400         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
3401         and suggest partial workarounds.
3402
3403         same-inode: port to OpenVMS
3404         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
3405         three st_ino values.
3406
3407 2011-12-30  Pádraig Brady  <P@draigBrady.com>
3408
3409         canonicalize: fix references to stat() and lstat()
3410         * lib/canonicalize.c (canonicalize_filename_mode):
3411         Ensure references always resolve to a replacement
3412         function if required (even via a macro).
3413
3414 2011-12-30  Jim Meyering  <meyering@redhat.com>
3415
3416         gitlog-to-changelog: remove a little duplication
3417         * build-aux/gitlog-to-changelog (main): Grep @lines once,
3418         rather than twice.
3419
3420 2011-12-29  Pádraig Brady  <P@draigBrady.com>
3421
3422         canonicalize: add support for not resolving symlinks
3423         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
3424         indicate we don't want to follow symlinks.  Also
3425         provide CAN_MODE_MASK to aid setting these existing
3426         mutually exclusive values.
3427         * lib/canonicalize.c (canonicalize_filename_mode):
3428         Extract the flags from can_mode parameter, which
3429         are currently just used to select between stat()
3430         and lstat().  Also ensure that mutually exclusive
3431         values are flagged immediately as invalid.
3432         * tests/test-canonicalize.c: Verify symlinks are
3433         not followed, and that invalid flag combinations
3434         are diagnosed.
3435
3436 2011-12-25  Jim Meyering  <meyering@redhat.com>
3437
3438         gitlog-to-changelog: do not clump multi-paragraph entries
3439         Identical header lines (date,name,email+coauthors) are suppressed,
3440         thus putting all entries with those same characteristics under
3441         a single header.  However, when a log entry consists of two or
3442         more paragraphs, it may not be clear where it starts and ends.
3443         This change makes it so that such an entry is always separated
3444         from others by a header line, even when that header would
3445         otherwise be suppressed.
3446         * build-aux/gitlog-to-changelog: Implement the above.
3447         Inspired by a related request from Stefano Lattarini in
3448         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
3449
3450 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
3451
3452         announce-gen: fix `cmd' typo in diagnostic
3453         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
3454         diagnostic: a missing '$' meant that the command was not output.
3455
3456 2011-12-23  Jim Meyering  <meyering@redhat.com>
3457
3458         test-framework-sh: distribute init.sh
3459         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
3460         Otherwise, "make -C gnulib-tests check" (at least in grep) would
3461         fail due to the lack of init.sh.
3462
3463         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
3464         * modules/atexit-tests: Rather than listing tests/init.sh,
3465         now that there's a module for it, simply depend on that new module.
3466         * modules/closein-tests: Likewise.
3467         * modules/exclude-tests: Likewise.
3468         * modules/getcwd-tests: Likewise.
3469         * modules/perror-tests: Likewise.
3470         * modules/pread-tests: Likewise.
3471         * modules/pwrite-tests: Likewise.
3472         * modules/vc-list-files-tests: Likewise.
3473         * modules/verify-tests: Likewise.
3474         * modules/xalloc-die-tests: Likewise.
3475         * modules/xstrtoimax-tests: Likewise.
3476         * modules/xstrtol-tests: Likewise.
3477         * modules/xstrtoll-tests: Likewise.
3478         * modules/xstrtoumax-tests: Likewise.
3479         * modules/yesno-tests: Likewise.
3480
3481 2011-12-22  Jim Meyering  <meyering@redhat.com>
3482
3483         test-framework-sh: add minimal tests of init.sh's compare function
3484         * modules/test-framework-sh-tests: New file.
3485         * tests/test-init.sh: New file.
3486
3487         test-framework-sh: new module
3488         * modules/test-framework-sh: New file.
3489         * MODULES.html.sh (Support for maintaining and releasing projects):
3490         List it.
3491
3492         init.sh: do not emit simulated diff output to stderr
3493         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
3494
3495 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
3496
3497         .gitignore: ignore gnulib.dvi and regex.info
3498         * doc/.gitignore:add gnulib.dvi and regex.info
3499
3500 2011-12-22  Jim Meyering  <meyering@redhat.com>
3501
3502         init.sh: correct previous change
3503         * tests/init.sh (compare): My previous change was wrong.
3504         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
3505
3506         init.sh: avoid unwarranted test failure when using "set -e"
3507         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
3508         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
3509         a use like "compare exp out" would get evoke an unconditional failure.
3510
3511 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
3512
3513         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
3514         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
3515         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
3516         autoreconf that did not.
3517         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
3518         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
3519
3520 2011-12-17  Jim Meyering  <meyering@redhat.com>
3521
3522         bootstrap: remove some now-unneeded code
3523         This script arose back when gnulib-tool was young.
3524         Since then, it has seen improvements that render much of this
3525         script unnecessary.  In particular, it can now make symlinks
3526         to the files it uses.  Also, I no longer see as much value in
3527         marking files as read-only via comments.
3528         If you relied on the symlink-creation feature of the preceding
3529         version of this script, you can get most of that functionality
3530         by adding the --symlink option to the definition of
3531         gnulib_tool_option_extras in your bootstrap.conf file.
3532         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
3533         Run autopoint and libtoolize *before* gnulib-tool.
3534         After it, run an abbreviated autoreconf, rather than a loop around
3535         all tools.
3536         (slirp, bt_mark_as_generated): Remove functions.
3537
3538 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
3539
3540         ftoastr: fix typo
3541         * lib/ftoastr.h: Fix misspelling in comment.
3542
3543 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
3544
3545         * top/README-release: fix punctuation.
3546
3547 2011-12-17  Jim Meyering  <meyering@redhat.com>
3548
3549         bootstrap: correct the recent buildreq change
3550         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
3551         had no effect.
3552         * build-aux/bootstrap (buildreq): Bracket each search term with
3553         "*...*", so that the shell "case" statement works as intended.
3554         Add comments.
3555
3556 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
3557
3558         build: let bootstrap resort to wget when downloading .po files
3559         * build-aux/bootstrap (download_po_files): Fallback to wget when
3560         downloading the .po files via rsync fails.  This is necessary to
3561         bootstrap from behind a strict firewall.
3562
3563 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
3564
3565         stdint: don't assume C++11 when compiling with g++
3566         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
3567         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00099.html>.
3568         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
3569         work also in C++ before C++11, as that improperly inhibits
3570         generating a substitute stdint.h for that case.
3571
3572 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
3573
3574         alloca: protect comment from gnulib-tool
3575         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
3576         that gnulib-tool doesn't think it's a license, and munge it to
3577         say "GCC version 3".
3578
3579 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
3580
3581         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
3582         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
3583         $(abs_top_builddir) instead of $(top_builddir).
3584
3585 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
3586
3587         strftime-tests: also test nanoseconds
3588         * tests/test-strftime.c (T): Add a test of %N.
3589
3590 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
3591
3592         inttypes, stdint: add C++11 support
3593         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
3594         when including inttypes.h and stdint.h.  Support this change to
3595         the standard.
3596         * doc/posix-headers/inttypes.texi (inttypes.h):
3597         * doc/posix-headers/stdint.texi (stdint.h): Document this.
3598         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
3599         Define if not defined already, for the benefit of pre-C++11 hosts.
3600         Define the standard format macros (e.g., PRId8) always.
3601         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
3602         Likewise, if __cpluspus.  Define the standard constant and limit
3603         macros (e.g., INT8_C, INT8_MAX) always.
3604         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
3605         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
3606         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
3607         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
3608         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
3609         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
3610         Likewise.
3611
3612 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
3613
3614         nonblocking tests: Fix test failure on Linux/PPC.
3615         Suggested by Prerna Saxena in
3616         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00080.html>.
3617         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
3618         Set to 1100000.
3619
3620 2011-12-12  Jim Meyering  <meyering@redhat.com>
3621
3622         argmatch: don't hard-code `' when listing valid option arguments
3623         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
3624         use the quote function to add quotes.  Use fputs rather than
3625         fprintf for the format string with no format directive.
3626
3627 2011-12-07  Eric Blake  <eblake@redhat.com>
3628
3629         bootstrap: detect tools required by gnulib-tool
3630         * build-aux/bootstrap (buildreq): Provide minimum implicit
3631         dependencies.
3632         * DEPENDENCIES: Mention patch as a prereq.
3633
3634 2011-12-04  Bruno Haible  <bruno@clisp.org>
3635
3636         sethostname: Port to Windows platforms.
3637         * lib/sethostname.c: Provide an alternate implementation for Windows
3638         platforms.
3639         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
3640         (main): Skip the test if sethostname() fails with EPERM. On Windows
3641         platforms, don't check the result of gethostname().
3642
3643 2011-12-04  Bruno Haible  <bruno@clisp.org>
3644             Jim Meyering  <meyering@redhat.com>
3645
3646         tests: Avoid spurious error message on platforms without mktemp program.
3647         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
3648
3649 2011-12-04  Bruno Haible  <bruno@clisp.org>
3650
3651         sethostname: Fix documentation.
3652         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
3653         "not fixed" section.
3654
3655 2011-12-03  Bruno Haible  <bruno@clisp.org>
3656
3657         gnulib-tool: Verify that the License field is present and non-empty.
3658         * gnulib-tool (func_get_license_raw): New function, extracted from
3659         func_get_license.
3660         (func_get_license): Use it. Warn if the module is not a test module and
3661         has no license.
3662         Suggested by Jim Meyering.
3663
3664 2011-12-03  Bruno Haible  <bruno@clisp.org>
3665
3666         sethostname tests: Fix link error on mingw.
3667         * tests/test-sethostname1.c: New file, extracted from
3668         tests/test-sethostname.c.
3669         * tests/test-sethostname2.c: New file, extracted from
3670         tests/test-sethostname.c.
3671         * tests/test-sethostname.c: Remove file.
3672         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
3673         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
3674         (Depends-on): Add gethostname.
3675         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
3676         Link the latter with $(GETHOSTNAME_LIB).
3677
3678         sethostname tests: Fix compilation error on mingw.
3679         * tests/test-sethostname.c: Don't include <sys/types.h>.
3680         (geteuid): Use a dummy value without uid_t.
3681         * modules/sethostname-tests (Depends-on): Remove sys_types.
3682
3683         sethostname tests: Avoid a gcc warning.
3684         * tests/test-sethostname.c (main): Remove an unused variable.
3685
3686         Tweak last commit.
3687         * modules/sethostname-tests (Files): Sort by decreasing importance.
3688         (configure.ac): Check for geteuid.
3689         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
3690         the test when there's nothing to test. Drop an unnecessary cast.
3691         Improve an error message. Verify that the final sethostname() call
3692         succeeds.
3693
3694 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
3695
3696         Add a test suite for the sethostname module.
3697         * modules/sethostname-tests: New file.  A test program
3698         for the sethostname module.
3699         * tests/test-sethostname.c: Likewise.
3700
3701 2011-12-03  Bruno Haible  <bruno@clisp.org>
3702
3703         Tweak last commit.
3704         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
3705         Fix preprocessor directives indentation. Fix typos.
3706         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
3707         * modules/unistd (Makefile): Likewise.
3708
3709 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
3710
3711         Integrate the sethostname module into unistd.
3712         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
3713         into the unistd.h header.
3714         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
3715         preprocessor directives.
3716         * modules/unistd: Setup the Makefile substitutions of the
3717         SETHOSTNAME preprocessor directives.
3718
3719 2011-12-03  Bruno Haible  <bruno@clisp.org>
3720
3721         Tweak last commit.
3722         * lib/sethostname.c: Don't include <string.h>.
3723         (sethostname): No need to copy the argument string to the stack. Don't
3724         call clearerr. Preserve errno when fprintf failed.
3725         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
3726         Don't invoke AC_REPLACE_FUNCS.
3727         * modules/sethostname (Link): Remove empty section.
3728         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
3729         failure problem.
3730
3731 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
3732
3733         New module 'sethostname'.
3734         * lib/sethostname.c (sethostname): New file.  Provide sethostname
3735         for systems that lack it.
3736         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
3737         sethostname declaration and function.
3738         * modules/sethostname: New file.  Define the sethostname module.
3739
3740 2011-12-03  Bruno Haible  <bruno@clisp.org>
3741
3742         Tweak last commit.
3743         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
3744
3745 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
3746
3747         Split the HOST_NAME_MAX detection into a separate m4 macro.
3748         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
3749         macro so it can be used by the pending sethostname module.
3750
3751 2011-12-03  Bruno Haible  <bruno@clisp.org>
3752
3753         Fix module descriptions syntax.
3754         * modules/argv-iter (License): Fix syntax.
3755         * modules/di-set (License): Likewise.
3756         * modules/ino-map (License): Likewise.
3757         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
3758
3759 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
3760
3761         stdalign: port to Clang 3.0
3762         Problem reported by Simon Josefsson in
3763         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>.
3764         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
3765         which has <stdalign.h> but which does not define alignof.
3766         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
3767
3768 2011-12-01  Eric Blake  <eblake@redhat.com>
3769
3770         mktempd: silence dd usage
3771         * build-aux/mktempd (rand_bytes): Silence dd.
3772
3773 2011-11-30  Simon Josefsson  <simon@josefsson.org>
3774
3775         manywarnings: Don't mention gcc version in docstring.
3776         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
3777         Jim Meyering <meyering@redhat.com>.
3778
3779 2011-11-30  Jim Meyering  <meyering@redhat.com>
3780
3781         hash: mark a few floating point constants with "f" suffix
3782         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
3783         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
3784         floating point constants with "f", since they're destined to be
3785         saved/used as "float"s.
3786
3787 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
3788
3789         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
3790         * tests/test-float.c (test_long_double): Correct and re-enable the
3791         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
3792
3793 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
3794
3795         Avoid subtracting two pointers that don't point into the same block.
3796         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
3797         only pointers into the same memory block are subtracted. We cannot
3798         assume that sizeof (ptrdiff_t) == sizeof (void *).
3799
3800 2011-11-29  Eric Blake  <eblake@redhat.com>
3801
3802         maint.mk: add syntax check for use of compare from init.sh
3803         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
3804         moved here from coreutils.
3805
3806         manywarnings: drop -Wunsuffixed-float-constants
3807         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
3808         '1.0D', which is the only way to silence this warning for 'double'.
3809
3810 2011-11-29  Jim Meyering  <meyering@redhat.com>
3811
3812         hash: mark compute_bucket_size with the pure attribute
3813         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
3814
3815         quotearg, propername: correct pragma guard expression
3816         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
3817         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
3818
3819 2011-11-28  Jim Meyering  <meyering@redhat.com>
3820
3821         propername: do not mark proper_name with the const attribute
3822         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
3823         since it examines data pointed to by its parameter.
3824         * lib/propername.c (proper_name): Instead, add a pragma to suppress
3825         the suggestion from -Wsuggest-attribute=const.
3826
3827         propername: mark one more function as const
3828         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
3829
3830 2011-11-27  Jim Meyering  <meyering@redhat.com>
3831
3832         mark functions with const and pure attributes
3833
3834         Mark functions per suggestions from gcc-4.6 when using these options:
3835         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
3836         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
3837         Follow these guidelines: when possible, apply the attribute to
3838         an extern declaration, not to its definition.  Apply it to the
3839         definition only when the definition is static.
3840         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
3841         * lib/argv-iter.h (argv_iter_n_args): Likewise.
3842         * lib/base64.h (isbase64): Likewise.
3843         * lib/basename-lgpl.c (last_component, base_len): Likewise.
3844         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
3845         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
3846         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
3847         (c_tolower, c_toupper): Likewise.
3848         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
3849         * lib/chdir-long.c (find_non_slash): Likewise.
3850         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
3851         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
3852         * lib/file-type.h (file_type): Likewise.
3853         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
3854         * lib/filevercmp.c (verrevcmp): Likewise.
3855         * lib/freadahead.h (freadahead): Likewise.
3856         * lib/fts.c (fts_maxarglen): Likewise.
3857         * lib/hash-pjw.h (hash_pjw): Likewise.
3858         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
3859         * lib/hash.c (is_prime, next_prime): Likewise.
3860         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
3861         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
3862         (hash_table_ok, hash_get_first, hash_string): Likewise.
3863         (compute_bucket_size): Likewise.
3864         * lib/i-ring.h (i_ring_empty): Likewise.
3865         * lib/isnan.c (isnanl): Likewise.
3866         * lib/math.h (isnanl, rpl_isnanl): Likewise.
3867         * lib/memcasecmp.h (memcasecmp): Likewise.
3868         * lib/memchr2.h (memchr2): Likewise.
3869         * lib/memcmp2.h (memcmp2): Likewise.
3870         * lib/parse-datetime.y (lookup_zone): Likewise.
3871         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
3872         [!WINDOWS_SOCKETS]: Likewise.
3873         * lib/strnlen1.h (strnlen1): Likewise.
3874         * lib/uniwidth.in.h (uc_width): Likewise.
3875         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
3876         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
3877         (quoting_options_from_style): Add a comment.
3878         * lib/propername.h (proper_name): Add a comment.
3879
3880 2011-11-27  Bruno Haible  <bruno@clisp.org>
3881
3882         Remove unused macros from !_LIBC code in glibc-borrowed files.
3883         * lib/fnmatch.c (STRCOLL): Remove macro.
3884         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
3885         * lib/glob.c (__stat, __readdir64): Remove macros.
3886         * lib/tempname.c (__open64, __xstat64): Remove macros.
3887         Suggested by Paul Eggert.
3888
3889 2011-11-27  Bruno Haible  <bruno@clisp.org>
3890
3891         getcwd: Fix link error on MSVC 9.
3892         * modules/getcwd (Depends-on): Add readdir, rewinddir.
3893
3894 2011-11-27  Bruno Haible  <bruno@clisp.org>
3895
3896         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
3897         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
3898         HAVE_OPENDIR is 0.
3899         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
3900         HAVE_CLOSEDIR is 0.
3901         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
3902         is 0.
3903         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
3904
3905 2011-11-27  Bruno Haible  <bruno@clisp.org>
3906
3907         getcwd: Fix bug from 2011-08-17.
3908         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
3909         platforms that need it.
3910         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
3911         code of 4 to be a failure, not a success. This ensures that
3912         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
3913
3914 2011-11-27  Bruno Haible  <bruno@clisp.org>
3915
3916         binary-io tests: Avoid test failure on mingw when libtool is used.
3917         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
3918         Don't verify the size of t-bin-out1.tmp here.
3919         * tests/test-binary-io.sh: Verify it here.
3920         Reported by Simon Josefsson.
3921
3922 2011-11-26  Bruno Haible  <bruno@clisp.org>
3923
3924         Fix conflict between two instantiations of module 'unistd'.
3925         * gnulib-tool (func_emit_autoconf_snippet): Substitute
3926         ${include_guard_prefix} also in the autoconf snippet.
3927         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
3928         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
3929         GNULIB_UNISTD_H_GETOPT.
3930         * modules/getopt-posix (configure.ac): Set the
3931         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
3932         * modules/getopt-gnu (configure.ac): Likewise.
3933         * modules/unistd (Makefile.am): Change the substitution value of
3934         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
3935         Reported by Simon Josefsson.
3936
3937 2011-11-25  Bruno Haible  <bruno@clisp.org>
3938
3939         pagealign_alloc: Doc and comments.
3940         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
3941         module.
3942         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
3943
3944 2011-11-25  Jim Meyering  <meyering@redhat.com>
3945
3946         test-update-copyright.sh: avoid false-positive failure
3947         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
3948         around false positive failure on Cygwin/Windows.  The latter was
3949         matching erroneously-created files with names like
3950         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
3951
3952 2011-11-25  Simon Josefsson  <simon@josefsson.org>
3953
3954         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
3955         * m4/valgrind-tests.m4: Check that the parameters that will be
3956         used works, not just a subset of them.  Reported by Bruno Haible
3957         <bruno@clisp.org>.
3958
3959 2011-11-24  Jim Meyering  <meyering@redhat.com>
3960
3961         test-stdalign.c: comment out long double tests
3962         * tests/test-stdalign.c: Don't try to reduce alignment of long double
3963         variables.  That provokes errors like this from gcc-4.7.0 20111124:
3964         error: '_Alignas' specifiers cannot reduce alignment of \
3965         'static_longdouble_alignas'.
3966
3967 2011-11-22  Jim Meyering  <meyering@redhat.com>
3968
3969         init.sh: make "compare /dev/null FILE" output more readable
3970         * tests/init.sh (compare_): Document the preferred order of arguments.
3971         (emit_diff_u_header_): New function.
3972         (compare_dev_null_): Emit a simulated diff, rather than just the
3973         contents of the unexpected file.  Suggestion from Bruno Haible.
3974
3975 2011-11-21  Jim Meyering  <meyering@redhat.com>
3976             Eric Blake  <eblake@redhat.com>
3977
3978         init.sh: work around OSF/1 5.1's mishandling of /dev/null
3979         * tests/init.sh: Make our compare function slightly more portable.
3980         Reported by Bruno Haible in
3981         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
3982
3983 2011-11-21  Simon Josefsson  <simon@josefsson.org>
3984
3985         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
3986         before using it, in code that ends up in config.h.
3987
3988 2011-11-20  Bruno Haible  <bruno@clisp.org>
3989
3990         getcwd: Work around getcwd bug on AIX 5..7.
3991         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
3992         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
3993         Use a different value for gl_cv_func_getcwd_path_max. Move the
3994         definition of HAVE_PARTLY_WORKING_GETCWD from here...
3995         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
3996         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
3997         Define HAVE_MINIMALLY_WORKING_GETCWD.
3998         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
3999         where it is not even minimally working, that is, on AIX.
4000         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
4001         m4/getcwd-path-max.m4.
4002         (main): Update exit code computation.
4003         * doc/posix-functions/getcwd.texi: Mention list of platforms where
4004         getcwd does not handle long file names.
4005
4006 2011-11-20  Bruno Haible  <bruno@clisp.org>
4007
4008         getcwd: Fix bug from 2009-09-10.
4009         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
4010         like "no".
4011
4012 2011-11-20  Simon Josefsson  <simon@josefsson.org>
4013
4014         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
4015
4016 2011-11-20  Bruno Haible  <bruno@clisp.org>
4017
4018         fma tests: Avoid shadowing local variables.
4019         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
4020         expected.
4021
4022 2011-11-20  Bruno Haible  <bruno@clisp.org>
4023
4024         copysignf tests: Fix.
4025         * tests/test-copysignf.c: Fix signature check.
4026
4027 2011-11-20  Bruno Haible  <bruno@clisp.org>
4028
4029         fma: Remove unused code.
4030         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
4031         unused macros.
4032
4033 2011-11-20  Bruno Haible  <bruno@clisp.org>
4034
4035         sethostname: Fix doc about AIX.
4036         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
4037         sethostname; it has it.
4038
4039         sethostname: Mention more portability problems.
4040         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
4041         problem.
4042         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
4043
4044 2011-11-19  Bruno Haible  <bruno@clisp.org>
4045
4046         Depend on module fcntl-h when AT_FDCWD is used.
4047         * modules/utimens (Depends-on): Add fcntl-h.
4048         * modules/areadlinkat (Depends-on): Likewise.
4049         * modules/areadlinkat-with-size (Depends-on): Likewise.
4050         * modules/faccessat (Depends-on): Likewise.
4051         * modules/fchmodat (Depends-on): Likewise.
4052         * modules/fchownat (Depends-on): Likewise.
4053         * modules/getcwd (Depends-on): Likewise.
4054         * modules/mkdirat (Depends-on): Likewise.
4055         * modules/mkfifoat (Depends-on): Likewise.
4056         * modules/readlinkat (Depends-on): Likewise.
4057         * modules/symlinkat (Depends-on): Likewise.
4058         * modules/dup2-tests (Depends-on): Likewise.
4059         * modules/fdutimensat-tests (Depends-on): Likewise.
4060         * modules/futimens-tests (Depends-on): Likewise.
4061
4062 2011-11-19  Bruno Haible  <bruno@clisp.org>
4063
4064         euidaccess: Update a comment.
4065         * lib/euidaccess.c: Update comment about platforms with faccessat.
4066
4067 2011-11-19  Bruno Haible  <bruno@clisp.org>
4068
4069         openat: Fix file list.
4070         * modules/openat (Files): Remove lib/at-func.c.
4071
4072 2011-11-19  Bruno Haible  <bruno@clisp.org>
4073
4074         fstatat: Simplify.
4075         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
4076         gnulib should define rpl_fstatat, there is a
4077         "#define fstatat rpl_fstatat" in <sys/stat.h>.
4078
4079 2011-11-19  Bruno Haible  <bruno@clisp.org>
4080
4081         Ensure 'inline' can be used in tests/test-utimens-common.h.
4082         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
4083         * modules/futimens-tests (configure.ac): Likewise.
4084         * modules/utimens-tests (configure.ac): Likewise.
4085         * modules/utimensat-tests (configure.ac): Likewise.
4086
4087 2011-11-19  Simon Josefsson  <simon@josefsson.org>
4088
4089         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
4090         not hash_insert0.
4091         (hash_insert_if_absent): Doc fix.
4092
4093 2011-11-19  Simon Josefsson  <simon@josefsson.org>
4094
4095         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
4096
4097 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
4098
4099         test-getcwd: disambiguate exit status
4100         * tests/test-getcwd.c (test_long_name): Return 0..7.
4101         (main): Exit with an unambiguous exit status.  The old
4102         code yielded a mysterious mixture of two failure codes.
4103
4104         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
4105         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
4106         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
4107         rpl_fstatat or fstatat.  This should fix the other problem
4108         reported by Kai Habel in
4109         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
4110         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
4111         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
4112         and I reproduced it on a Solaris 8 host we still have in production.
4113
4114 2011-11-18  Jim Meyering  <meyering@redhat.com>
4115
4116         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
4117         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
4118         Add a sentence to the comment.
4119         (hash_insert0): New function that simply calls hash_insert_if_absent.
4120         * lib/hash.h (hash_insert_if_absent): Declare it.
4121         (hash_insert0): Add deprecation attribute.
4122         (_GL_ATTRIBUTE_DEPRECATED): Define.
4123         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
4124         not hash_insert0.
4125         * NEWS: Mention it, even though it's not really an incompatible change.
4126
4127 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
4128
4129         openat: avoid compilation failure due to lack of <errno.h> inclusion
4130         * lib/openat.c: Include <errno.h>.
4131
4132 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
4133
4134         * modules/getcwd (Depends-on): Add fdopendir.
4135         This fixes one of the two problems reported by Kai Habel in
4136         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
4137
4138         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
4139         stdalign problem reported by Ian Beckwith in
4140         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
4141         * modules/crypto/gc-arcfour (Depends-on):
4142         Depend conditionally on crypto/arcfour.
4143         * modules/crypto/gc-arctwo (Depends-on):
4144         Depend conditionally on crypto/arctwo.
4145         * modules/crypto/gc-des (Depends-on):
4146         Depend conditionally on crypto/des.
4147         * modules/crypto/gc-hmac-md5 (Depends-on):
4148         Depend conditionally on crypto/hmac-md5.
4149         * modules/crypto/gc-hmac-sha1 (Depends-on):
4150         Depend conditionally on crypto/hmac-sha1.
4151         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
4152         * modules/crypto/gc-md4 (Depends-on):
4153         Depend conditionally on crypto/md4.
4154         * modules/crypto/gc-md5 (Depends-on):
4155         Depend conditionally on crypto/md5.
4156         * modules/crypto/gc-rijndael (Depends-on):
4157         Depend conditionally on crypto/rijndael.
4158         * modules/crypto/gc-sha1 (Depends-on):
4159         Depend conditionally on crypto/sha1.
4160         * modules/crypto/gc-arcfour:
4161         * modules/crypto/gc-arctwo:
4162         * modules/crypto/gc-des:
4163         * modules/crypto/gc-hmac-md5:
4164         * modules/crypto/gc-hmac-sha1:
4165         * modules/crypto/gc-md2:
4166         * modules/crypto/gc-md4:
4167         * modules/crypto/gc-md5:
4168         * modules/crypto/gc-rijndael:
4169         * modules/crypto/gc-sha1:
4170         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
4171         now that the conditional dependencies do the work for us.
4172
4173 2011-11-17  Jim Meyering  <meyering@redhat.com>
4174
4175         tests: factor st_ctime-comparison out of two headers
4176         * tests/test-utimens-common.h (ctime_compare): Define.
4177         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
4178         * tests/test-lutimens.h (test_lutimens): Likewise.
4179         * tests/test-utimens.h (test_utimens): Likewise.
4180
4181         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
4182         Invoke the test program via an init.sh-using wrapper.
4183         * tests/test-getcwd.sh: New file.
4184         * modules/getcwd-tests (Files): Add it.
4185         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
4186
4187 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
4188
4189         gitlog-to-changelog: support multi-author commits.
4190         The FSF cares about keeping track of all authors of patches to its
4191         projects, but Git doesn't provide obvious support for multi-author
4192         changesets. Consensus seems to be forming around the use of extra
4193         Signed-off-by inspired lines in the log message formatted as
4194         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
4195         multi-author commits between version control systems.
4196         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
4197         log message and output in standard ChangeLog multi-author format.
4198         Reported by Peter Rosin <peda@lysator.liu.se>
4199
4200 2011-11-15  Ben Walton <bwalton@artsci.utoronto.ca>  (tiny change)
4201             Bruno Haible  <bruno@clisp.org>
4202
4203         Fix some modules' file list.
4204         * modules/fstatat (Files): Add m4/lstat.m4.
4205         * modules/openat (Files): Likewise.
4206         * modules/unlinkat (Files): Likewise.
4207
4208 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
4209
4210         maint.mk: fix tight-scope.mk generation in VPATH builds.
4211         * top/maint.mk (tight-scope.mk): Make sure to prefix file
4212         reference with $(srcdir) so that the file is found correctly even
4213         when running `make syntax-check' in a VPATH build.
4214
4215 2011-11-13  Bruno Haible  <bruno@clisp.org>
4216             Jim Meyering  <meyering@redhat.com>
4217
4218         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
4219         * tests/init.sh (compare): Remove "No differences encountered" or
4220         synonymous output from the 'diff' program.
4221
4222 2011-11-13  Bruno Haible  <bruno@clisp.org>
4223
4224         Makefile: Tweak indentation.
4225         * Makefile: Use tab as first character in every line that contains rule
4226         commands.
4227
4228 2011-11-13  Bruno Haible  <bruno@clisp.org>
4229
4230         Syntax check for copyright statements.
4231         * check-copyright: New file.
4232         * Makefile (sc_check_copyright): New rule.
4233
4234 2011-11-13  Simon Josefsson  <simon@josefsson.org>
4235
4236         * build-aux/git-version-gen: Add --prefix to configure the tag
4237         match string.
4238
4239 2011-11-13  Simon Josefsson  <simon@josefsson.org>
4240
4241         * build-aux/git-version-gen: Add --help and --version.
4242
4243 2011-11-12  Jim Meyering  <meyering@redhat.com>
4244
4245         revamp the other test-exclude?.sh scripts to use init.sh, too
4246         * tests/test-exclude1.sh: Use init.sh.
4247         * tests/test-exclude2.sh: Likewise.
4248         * tests/test-exclude3.sh: Likewise.
4249         * tests/test-exclude4.sh: Likewise.
4250         * tests/test-exclude5.sh: Likewise.
4251         * tests/test-exclude6.sh: Likewise.
4252         * tests/test-exclude7.sh: Likewise.
4253         * tests/test-exclude8.sh: Likewise.
4254         * modules/exclude-tests (Files): List init.sh.
4255
4256         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
4257         These shell scripts ignored failure of the binary test-exclude,
4258         so making the latter return 77 didn't cause them to be skipped.
4259         * tests/test-exclude5.sh: Exit with test-exclude's error status
4260         when that program fails.  Revamp to use init.sh.
4261         * tests/test-exclude2.sh: Likewise.
4262
4263         test-exclude: fix a typo
4264         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
4265
4266 2011-11-11  Bruno Haible  <bruno@clisp.org>
4267
4268         obstack: Fix compilation error on MSVC 9.
4269         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
4270
4271 2011-11-11  Jim Meyering  <meyering@redhat.com>
4272
4273         test-exclude: skip tests rather than failing on deficient systems
4274         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
4275         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
4276         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
4277         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
4278
4279 2011-11-10  Bruno Haible  <bruno@clisp.org>
4280
4281         ptsname_r test: Avoid gcc warning on glibc systems.
4282         * tests/test-ptsname_r.c (null_ptr): New function.
4283         (test_errors): Use it.
4284
4285 2011-11-10  Bruno Haible  <bruno@clisp.org>
4286
4287         ptsname_r: Avoid compilation error on OSF/1 5.1.
4288         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
4289         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
4290         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
4291         function is not declared or incompatibly declared.
4292         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
4293         * modules/ptsname_r (Depends-on, configure.ac): Update.
4294         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
4295
4296 2011-11-10  Bruno Haible  <bruno@clisp.org>
4297
4298         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
4299         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
4300         When cross-compiling, guess yes on all platforms except AIX.
4301         Reported by Ludovic Courtès <ludo@gnu.org>.
4302
4303 2011-11-09  Bruno Haible  <bruno@clisp.org>
4304
4305         ptsname_r tests: Fix bugs.
4306         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
4307         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
4308
4309 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
4310
4311         fstatat: work with cross-compilation
4312         Problem reported by Ludovic Courtès in
4313         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
4314         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
4315         "cross-compiling" and assume the bug is present.  Replace
4316         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
4317         an inverted sense, to be more conservative about our assumptions.
4318         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
4319
4320 2011-11-09  Bruno Haible  <bruno@clisp.org>
4321
4322         Improve MODULES.html output.
4323         * modules/mkfifoat (Description): Use the word "function".
4324         * modules/readlinkat (Description): Likewise.
4325         * modules/symlinkat (Description): Likewise.
4326
4327 2011-11-09  Eric Blake  <eblake@redhat.com>
4328
4329         ptsname_r-tests: new test module
4330         * modules/ptsname_r-tests: New module.
4331         * tests/test-ptsname_r.c: New file.
4332
4333         ptsname_r: new module
4334         * modules/ptsname_r: New module.
4335         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
4336         * lib/ptsname.c (__ptsname_r): Split...
4337         * lib/ptsname_r.c: ...into new file.
4338         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
4339         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
4340         * modules/stdlib (Makefile.am): Substitute witnesses.
4341         * lib/stdlib.in.h (ptsname_r): Declare it.
4342         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
4343         * MODULES.html.sh (Misc): Likewise.
4344         * modules/ptsname (Depends-on): Alter dependency.
4345         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
4346
4347 2011-11-09  Jim Meyering  <meyering@redhat.com>
4348
4349         announce-gen: be more concise when there's only one URL+tarball
4350         * build-aux/announce-gen (get_tool_versions): When you distribute
4351         only one type of tarball, combine the first two "Here are..."
4352         sections and make the key-checking grammar independent of
4353         how many tarballs there are.
4354
4355 2011-11-09  Eric Blake  <eblake@redhat.com>
4356
4357         openpty: provide a stub on mingw
4358         * lib/pty.in.h (includes): Provide forward declarations.
4359         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
4360
4361         raise: fix mingw handling of SIGPIPE
4362         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
4363
4364 2011-11-08  Bruno Haible  <bruno@clisp.org>
4365
4366         More conditional dependencies.
4367         * modules/faccessat (Depends-on): Add conditions.
4368         * modules/fchmodat (Depends-on): Likewise.
4369         * modules/fchownat (Depends-on): Likewise.
4370         * modules/fstatat (Depends-on): Likewise.
4371         * modules/mkfifoat (Depends-on): Likewise.
4372         * modules/readlinkat (Depends-on): Likewise.
4373         * modules/symlinkat (Depends-on): Likewise.
4374         * modules/unlinkat (Depends-on): Likewise.
4375         * modules/utimensat (Depends-on): Likewise.
4376         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
4377         * modules/linkat (Depends-on): Refine the conditions.
4378         * modules/renameat (Depends-on): Likewise.
4379
4380 2011-11-08  Bruno Haible  <bruno@clisp.org>
4381
4382         faccessat: Move AC_LIBOBJ invocation to module description.
4383         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
4384         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
4385         invocation from here...
4386         * modules/faccessat (configure.ac): ... to here. Invoke
4387         gl_PREREQ_FACCESSAT.
4388
4389 2011-11-08  Bruno Haible  <bruno@clisp.org>
4390
4391         faccessat: Simplify autoconf macro.
4392         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
4393         gl_FUNC_EUIDACCESS.
4394
4395 2011-11-08  Bruno Haible  <bruno@clisp.org>
4396
4397         renameat: Fix dependencies.
4398         * modules/renameat (Depends-on): Add stdbool.
4399
4400 2011-11-08  Bruno Haible  <bruno@clisp.org>
4401
4402         mkfifoat: Fix module description.
4403         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
4404         not gl_UNISTD_MODULE_INDICATOR.
4405
4406 2011-11-08  Bruno Haible  <bruno@clisp.org>
4407
4408         fstatat: Remove unused dependency.
4409         * modules/fstatat (Depends-on): Remove fstat.
4410
4411 2011-11-08  Simon Josefsson  <simon@josefsson.org>
4412
4413         GNUmakefile: behave when Makefile is missing.
4414         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
4415
4416 2011-11-08  Bruno Haible  <bruno@clisp.org>
4417
4418         openat: Conditionalize dependencies.
4419         * lib/openat.c: Reduce the scope of some #includes.
4420         * modules/openat (Depends-on): Add conditions.
4421
4422 2011-11-07  Jim Meyering  <meyering@redhat.com>
4423
4424         maint.mk: extract GPG key ID without using a temporary file
4425         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
4426         without using a temporary file.  Based on a suggestion from Werner Koch
4427         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
4428
4429 2011-11-07  Eric Blake  <eblake@redhat.com>
4430
4431         grantpt: fix typo
4432         * lib/stdlib.in.h (grantpt): Check correct function.
4433
4434         maint.mk: silence new syntax check
4435         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
4436
4437 2011-11-06  Bruno Haible  <bruno@clisp.org>
4438
4439         Doc about floating-point and math API.
4440         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
4441         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
4442
4443 2011-11-06  Bruno Haible  <bruno@clisp.org>
4444
4445         stdalign tests: Skip the test when compiled by Sun C.
4446         * tests/test-stdalign.c (main): Skip the test on Sun C.
4447
4448 2011-11-06  Bruno Haible  <bruno@clisp.org>
4449
4450         ansi-c++-opt: Complete the 2011-06-05 change.
4451         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
4452         does not support namespaces, set the variable to "no", not to ":".
4453
4454 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
4455
4456         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
4457
4458 2011-11-06  Bruno Haible  <bruno@clisp.org>
4459
4460         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
4461         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
4462         (minus_zerol) [HP-UX]: New macro.
4463         (unary_minus) [HP-UX]: New function.
4464         (copysignl) [HP-UX]: Use unary_minus function.
4465
4466 2011-11-06  Bruno Haible  <bruno@clisp.org>
4467
4468         ldexp, ldexpf, ldexpl: Enhance tests.
4469         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
4470         and tests/test-ldexpl.c.
4471         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
4472         LDEXP, MIN_EXP, MAX_EXP): New macros.
4473         Include test-ldexp.h.
4474         (main): Just call test_function.
4475         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
4476         infinity.h, nan.h.
4477         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
4478         MAX_EXP): New macros.
4479         Include test-ldexp.h.
4480         (x, y): Remove variables.
4481         (main): Just call test_function.
4482         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
4483         infinity.h, nan.h.
4484         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
4485         MAX_EXP): New macros.
4486         Include test-ldexp.h.
4487         (x, y): Remove variables.
4488         (main): Just call test_function.
4489         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
4490         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
4491         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
4492         (Depends-on): Add isnand-nolibm, signbit, float.
4493         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
4494         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
4495         (Depends-on): Add isnanf-nolibm, signbit, float.
4496
4497 2011-11-06  Bruno Haible  <bruno@clisp.org>
4498
4499         math tests: Cosmetics.
4500         * tests/test-math-c++.cc: Reorder declarations.
4501
4502 2011-11-05  Bruno Haible  <bruno@clisp.org>
4503
4504         fma*: Simplify test.
4505         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
4506         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
4507
4508         Tests for module 'fmal'.
4509         * modules/fmal-tests: New file.
4510         * tests/test-fmal1.c: New file.
4511         * tests/test-fmal2.c: New file.
4512
4513         New module 'fmal'.
4514         * lib/math.in.h (fmal): New declaration.
4515         * lib/fmal.c: New file.
4516         * m4/fmal.m4: New file.
4517         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
4518         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
4519         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
4520         REPLACE_FMAL.
4521         * modules/fmal: New file.
4522         * doc/posix-functions/fmal.texi: Mention the new module and the various
4523         bugs.
4524
4525         Tests for module 'fmaf'.
4526         * modules/fmaf-tests: New file.
4527         * tests/test-fmaf1.c: New file.
4528         * tests/test-fmaf2.c: New file.
4529
4530         New module 'fmaf'.
4531         * lib/math.in.h (fmaf): New declaration.
4532         * lib/fmaf.c: New file.
4533         * m4/fmaf.m4: New file.
4534         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
4535         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
4536         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
4537         REPLACE_FMAF.
4538         * modules/fmaf: New file.
4539         * doc/posix-functions/fmaf.texi: Mention the new module and the various
4540         bugs.
4541
4542         Tests for module 'fma'.
4543         * modules/fma-tests: New file.
4544         * tests/test-fma1.c: New file.
4545         * tests/test-fma1.h: New file.
4546         * tests/test-fma2.c: New file.
4547         * tests/test-fma2.h: New file.
4548
4549         New module 'fma'.
4550         * lib/math.in.h (fma): New declaration.
4551         * lib/fma.c: New file.
4552         * m4/fma.m4: New file.
4553         * m4/fegetround.m4: New file.
4554         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
4555         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
4556         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
4557         REPLACE_FMA.
4558         * modules/fma: New file.
4559         * doc/posix-functions/fma.texi: Mention the new module and the various
4560         bugs.
4561
4562         Extend gl_MATHFUNC.
4563         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
4564         Support 'void' as argument type.
4565         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
4566
4567 2011-11-05  Jim Meyering  <meyering@redhat.com>
4568
4569         maint.mk: also prohibit inclusion of dirent.h without use
4570         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
4571
4572 2011-11-05  Bruno Haible  <bruno@clisp.org>
4573
4574         ldexpl tests: Avoid test failure on MSVC 9.
4575         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
4576         value. Needed in order to enforce the conversion from a value greater
4577         than LDBL_MAX to Infinity.
4578
4579 2011-11-05  Bruno Haible  <bruno@clisp.org>
4580
4581         New modules 'at-internal', 'openat-h', split off from module 'openat'.
4582         * modules/at-internal: New file, extracted from modules/openat.
4583         * modules/openat-h: New file.
4584         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
4585         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
4586         * modules/openat (Description): Add reference to POSIX function.
4587         (Files): Remove lib/openat.h, lib/openat-proc.c.
4588         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
4589         intprops, unistd.
4590         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
4591         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
4592         gl_FCNTL_MODULE_INDICATOR.
4593         (Include): Remove unistd.h, openat.h.
4594         * modules/areadlinkat (Files): Add lib/at-func.c.
4595         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
4596         openat-die, openat-h, save-cwd.
4597         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
4598         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
4599         openat-die, openat-h, save-cwd, unistd.
4600         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
4601         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
4602         openat-h, save-cwd. Remove fcntl-h, openat.
4603         * modules/fchmodat (Files): Remove lib/openat.h.
4604         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
4605         openat, stdbool, unistd.
4606         * modules/fchownat (Files): Remove lib/openat.h.
4607         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
4608         openat, stdbool, sys_stat.
4609         * modules/fdopendir (Files): Remove lib/openat-priv.h,
4610         lib/openat-proc.c.
4611         (Depends-on): Add at-internal.
4612         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
4613         * modules/fstatat (Files): Remove lib/openat.h.
4614         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
4615         stdbool, unistd.
4616         * modules/fts (Depends-on): Add openat-h.
4617         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
4618         openat.
4619         * modules/mkdirat (Files): Remove lib/openat.h.
4620         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
4621         openat, stdbool, sys_stat.
4622         * modules/mkfifoat (Files): Add lib/at-func.c.
4623         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
4624         openat-h, save-cwd. Remove fcntl-h, openat.
4625         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
4626         * modules/readlinkat (Files): Add lib/at-func.c.
4627         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
4628         openat-h, save-cwd. Remove fcntl-h, openat.
4629         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
4630         openat.
4631         * modules/selinux-at (Files): Add lib/at-func.c.
4632         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
4633         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
4634         * modules/symlinkat (Files): Add lib/at-func.c.
4635         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
4636         openat-h, save-cwd. Remove fcntl-h, openat.
4637         * modules/unlinkat (Files): Remove lib/openat.h.
4638         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
4639         stdbool.
4640         * modules/utimensat (Files): Add lib/at-func.c.
4641         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
4642         openat-die, openat-h, save-cwd.
4643         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
4644         * modules/fdutimensat-tests (Depends-on): Add openat.
4645         * modules/fstatat-tests (Depends-on): Add openat-h.
4646         * modules/readlinkat-tests (Depends-on): Add openat.
4647         * modules/symlinkat-tests (Depends-on): Add openat.
4648
4649 2011-11-05  Bruno Haible  <bruno@clisp.org>
4650
4651         openat: Include <stdbool.h>.
4652         * lib/openat.c: Include <stdbool.h>.
4653
4654 2011-11-04  Bruno Haible  <bruno@clisp.org>
4655
4656         fchownat, renameat, unlinkat: Fix dependencies.
4657         * modules/fchownat (Depends-on): Add fstatat.
4658         * modules/renameat (Depends-on): Likewise.
4659         * modules/unlinkat (Depends-on): Likewise.
4660
4661 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
4662
4663         openat: remove direct dependency on dirent
4664         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
4665         and hasn't been needed ever since fdopendir was split into its own
4666         module on 2009-08-31.
4667         * modules/openat (Depends-on): Remove dirent.
4668
4669 2011-11-04  Bruno Haible  <bruno@clisp.org>
4670
4671         renameat: Optimize code size.
4672         * modules/renameat (configure.ac): Don't compile at-func2.c if
4673         REPLACE_RENAMEAT is 1.
4674
4675 2011-11-04  Bruno Haible  <bruno@clisp.org>
4676
4677         openat tests: Fix file list.
4678         * modules/openat-tests (Files): Add tests/test-open.h.
4679
4680 2011-11-04  Bruno Haible  <bruno@clisp.org>
4681
4682         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
4683         * modules/fchmodat (Depends-on): Add openat-die.
4684         * modules/fchownat (Depends-on): Likewise.
4685         * modules/linkat (Depends-on): Likewise.
4686         * modules/renameat (Depends-on): Likewise.
4687         * modules/openat (Depends-on): Add dirent.
4688
4689 2011-11-04  Jim Meyering  <meyering@redhat.com>
4690
4691         at-func*.c: fix comments
4692         * lib/at-func2.c: Correct/improve first-line comment.
4693         * lib/at-func.c: Correct grammar in first-line comment.
4694
4695 2011-11-04  Bruno Haible  <bruno@clisp.org>
4696
4697         New module 'mkdirat', split off from module 'openat'.
4698         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
4699         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
4700         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
4701         * modules/mkdirat: New file, extracted from modules/openat.
4702         * modules/openat (Files): Remove lib/mkdirat.c.
4703         (Depends-on): Remove mkdir.
4704         (configure.ac): Remove AC_LIBOBJ of mkdirat.
4705         (Include): Remove <sys/stat.h>.
4706         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
4707         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
4708         tests/test-mkdir.h.
4709         (Depends-on): Remove ignore-value.
4710         (Makefile.am): Remove rules for test-mkdirat.
4711         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
4712         of module 'openat'.
4713         * NEWS: Mention the change.
4714
4715 2011-11-04  Bruno Haible  <bruno@clisp.org>
4716
4717         closedir: Avoid warning on mingw.
4718         * lib/closedir.c: Include <unistd.h>.
4719
4720 2011-11-04  Bruno Haible  <bruno@clisp.org>
4721
4722         New module 'fstatat', split off from module 'openat'.
4723         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
4724         defined.
4725         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
4726         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
4727         gl_FUNC_FSTATAT.
4728         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
4729         * modules/fstatat: New file, extracted from modules/openat.
4730         * modules/openat (Files): Remove lib/fstatat.c.
4731         (Depends-on): Remove lstat.
4732         (configure.ac): Remove AC_LIBOBJ of fstatat.
4733         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
4734         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
4735         tests/test-lstat.h, tests/test-stat.h.
4736         (Depends-on): Remove getcwd-lgpl.
4737         (Makefile.am): Remove rules for test-fstatat.
4738         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
4739         of module 'openat'.
4740         * NEWS: Mention the change.
4741         * modules/getcwd (Depends-on): Add fstatat.
4742         * modules/linkat (Depends-on): Likewise.
4743         * modules/mkfifoat-tests (Depends-on): Likewise.
4744         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
4745
4746 2011-11-03  Bruno Haible  <bruno@clisp.org>
4747
4748         New module 'unlinkat', split off from module 'openat'.
4749         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
4750         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
4751         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
4752         * modules/unlinkat: New file, extracted from modules/openat. Correct
4753         the dependency conditions.
4754         * modules/openat (Files): Remove lib/unlinkat.c.
4755         (Depends-on): Remove rmdir, unlink.
4756         (configure.ac): Remove AC_LIBOBJ of unlinkat.
4757         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
4758         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
4759         tests/test-rmdir.h, tests/test-unlink.h.
4760         (Depends-on): Remove unlinkdir.
4761         (Makefile.am): Remove rules for test-unlinkat.
4762         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
4763         of module 'openat'.
4764         * NEWS: Mention the change.
4765         * modules/linkat-tests (Depends-on): Add unlinkat.
4766         * modules/mkfifoat-tests (Depends-on): Likewise.
4767         * modules/readlinkat-tests (Depends-on): Likewise.
4768
4769 2011-11-02  Bruno Haible  <bruno@clisp.org>
4770
4771         New module 'fchmodat', split off from module 'openat'.
4772         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
4773         defined.
4774         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
4775         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
4776         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
4777         * modules/fchmodat: New file, extracted from modules/openat.
4778         * modules/openat (Files): Remove lib/fchmodat.c.
4779         (configure.ac): Remove AC_LIBOBJ of fchmodat.
4780         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
4781         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
4782         (Makefile.am): Remove rules for test-fchmodat.
4783         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
4784         of module 'openat'.
4785         * NEWS: Mention the change.
4786
4787 2011-11-02  Jim Meyering  <meyering@redhat.com>
4788
4789         putenv: indent #definition of "environ" to placate cppi
4790         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
4791
4792         gitlog-to-changelog: provide a ChangeLog-repair mechanism
4793         Git logs are often treated as immutable, because editing them
4794         changes the SHA1 checksums of all descendants.  Thus, errors in
4795         git logs tend to stay there forever.  However, when we generate
4796         a ChangeLog file -- typically for distribution -- from that git log,
4797         we can actually make corrections in the generated file.  The key
4798         lies in recording in machine-readable/applicable form the desired
4799         corrections.  See --help for description and an example.
4800         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
4801         (usage): Describe it; alphabetize option descriptions.
4802         (main): Honor the new option, carefully.
4803
4804 2011-11-01  Jim Meyering  <meyering@redhat.com>
4805
4806         gitlog-to-changelog: avoid an infloop
4807         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
4808         that ends up being empty.
4809
4810 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
4811
4812         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
4813         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
4814         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
4815         contains (possibly-quoted) backslashes.  This should avoid
4816         all-too-common shell bugs if COMPLICATED contains backslashes in
4817         the "wrong" places.  Reported by David Evans in
4818         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
4819         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
4820         because we want ASCII ranges.  Is there some reason we don't use
4821         the C locale everywhere in this script?
4822         (func_module, top level): Avoid unwanted pathname expansion when
4823         $repo_url_prefix or $repo_url_suffix_repl contain shell
4824         metacharacters like '?' and '*'.
4825
4826 2011-11-01  Bruno Haible  <bruno@clisp.org>
4827
4828         fchownat: Improve description.
4829         * modules/fchownat (Description): Add link to function.
4830
4831 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
4832
4833         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
4834         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
4835         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
4836         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
4837
4838 2011-11-01  Bruno Haible  <bruno@clisp.org>
4839
4840         alignof: Avoid collision with stdalign module.
4841         * lib/alignof.h (alignof): Remove macro.
4842         * NEWS: Mention the change.
4843         Reported by Paul Eggert.
4844
4845 2011-11-01  Bruno Haible  <bruno@clisp.org>
4846
4847         New module 'fchownat', split off from module 'openat'.
4848         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
4849         defined.
4850         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
4851         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
4852         invoke gl_FUNC_FCHOWNAT.
4853         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
4854         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
4855         * modules/fchownat: New file, extracted from modules/openat.
4856         * modules/openat (Files): Remove lib/fchownat.c.
4857         (Depends-on): Remove lchown.
4858         (configure.ac): Remove AC_LIBOBJ of fchownat.
4859         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
4860         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
4861         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
4862         (Depends-on): Remove mgetgroups, usleep, stat-time.
4863         (configure.ac): Remove test for getegid.
4864         (Makefile.am): Remove rules for test-fchownat.
4865         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
4866         of module 'openat'.
4867         * NEWS: Mention the change.
4868
4869 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
4870
4871         stdalign: port better to MSVC and to Sun C 5.11
4872         This fixes some of the problems reported by Bruno Haible in
4873         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
4874         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
4875         shortcomings of MSVC and of Sun C 5.11.
4876         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
4877         around __declspec arg.
4878         * modules/stdalign-tests (Files): Add tests/macros.h.
4879         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
4880         Include macros.h, for ASSERT.
4881         (DECLARE_ALIGNED): Remove.
4882         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
4883         to catch bug), and to 1 if not (simplifies the rest of the code).
4884         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
4885         (CHECK_AUTO): Remove.
4886         (CHECK_ALIGNED): Check only the alignment of the static vars,
4887         since auto var alignment isn't supported by Sun C 5.11.
4888         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
4889         ASSERT failures are easier to diagnose.
4890
4891 2011-10-31  Bruno Haible  <bruno@clisp.org>
4892
4893         doc about some IRIX 5.3 problems.
4894         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
4895         on IRIX 5.3.
4896         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
4897         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
4898         5.3.
4899         * doc/posix-functions/grantpt.texi: Likewise.
4900         * doc/posix-functions/unlockpt.texi: Likewise.
4901         * doc/posix-functions/lgamma.texi: Likewise.
4902         * doc/posix-functions/nextafter.texi: Likewise.
4903         * doc/posix-functions/remainder.texi: Likewise.
4904         * doc/posix-functions/select.texi: Mention misplaced declaration on
4905         IRIX 5.3.
4906         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
4907
4908 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
4909
4910         gitlog-to-changelog: fix git-log invocation.
4911         git-log mishandles date strings before 1970-01-01 UTC, and there is
4912         no use to specify --since=1970-01-01 by default anyway.
4913         * build-aux/gitlog-to-changelog: By default, when no --since option
4914         was given, do not specify explicit --since option to git-log.
4915
4916 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
4917
4918         gitlog-to-changelog: new option --append-dot.
4919         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
4920         first non-blank line of each commit message terminated with a dot.
4921
4922 2011-10-30  Bruno Haible  <bruno@clisp.org>
4923
4924         ffsl, ffsll: Avoid compilation error due to 'restrict'.
4925         * lib/ffsl.h: Include <config.h>.
4926         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
4927
4928 2011-10-30  Jim Meyering  <meyering@redhat.com>
4929
4930         GNUmakefile: reenable "make syntax-check" for most projects
4931         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
4932         build-aux variable", "syntax-check" would do nothing but succeed with
4933         the "No version control files detected..." diagnostic (unless you
4934         happened to override _build-aux via cfg.mk).
4935         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
4936         to precede inclusion of maint.mk.  Otherwise, these variables would
4937         be used undefined in any project that does not override the default.
4938
4939 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
4940
4941         gitlog-to-changelog: treat a message with only blank lines as empty.
4942         * build-aux/gitlog-to-changelog: Move the code that removes leading and
4943         trailing blank lines before the code that issues a warning about an
4944         empty commit message.
4945
4946 2011-10-30  Jim Meyering  <meyering@redhat.com>
4947
4948         test-parse-datetime.c: avoid new DST-related false positive test failure
4949         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
4950         based on the time/date we'll convert, not the current time.
4951         Otherwise, the moment we cross a DST boundary like today's in
4952         Europe, (CEST to CET), that offset ends up being one hour off.
4953
4954 2011-10-27  Bruno Haible  <bruno@clisp.org>
4955
4956         fstat: Tweak documentation.
4957         * modules/fstat (Description): More precise description.
4958
4959 2011-10-27  Bruno Haible  <bruno@clisp.org>
4960
4961         Update documentation regarding 'largefile' module.
4962         * doc/posix-functions/fstat.texi: Tweak wording.
4963         * doc/posix-functions/opendir.texi: Mention that the module fixes the
4964         problems with huge directories and/or small ino_t types.
4965         * doc/posix-functions/readdir.texi: Likewise.
4966         * doc/posix-functions/rewinddir.texi: Likewise.
4967
4968 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
4969
4970         maint.mk: don't maintain a second build-aux variable.
4971         * maint.mk (build_aux): Removed.  The maintainer-makefile module
4972         depends on GNUmakefile, which already maintains a cfg.mk
4973         overridable $(_build-aux) for projects with a non-standard
4974         build-aux directory location, although without the $(srcdir)
4975         prefix.  Use that variable consistently instead of introducing a
4976         second one.  Adjust all call sites.
4977
4978 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
4979
4980         Add stdalign module and use it in other modules.
4981         This is based on a previous proposal by Bruno Haible
4982         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
4983
4984         stdalign: new module
4985         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
4986         * modules/stdalign: New files.
4987         * MODULES.html.sh (c1x_core_properties): Add stdalign.
4988         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
4989
4990         stdalign-tests: new module
4991         * modules/stdalign-tests, tests/test-stdalign.c: New files.
4992
4993         argp: use stdalign
4994         * lib/argp-parse.c: Include <stdalign.h>.
4995         (alignof): Remove.
4996         * modules/argp (Depends-on): Add stdalign.
4997
4998         crypto libraries: use stdalign
4999         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
5000         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
5001         Do not include <stdlib.h> twice, in md4.c.
5002         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
5003         because we are accessing a pointer's bit-pattern, not a size.
5004         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
5005         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
5006         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
5007         * modules/crypto/sha512: Likewise.
5008
5009         sys_socket: use stdalign, not alignof
5010         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
5011         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
5012
5013 2011-10-27  Bruno Haible  <bruno@clisp.org>
5014
5015         raise test: Avoid a test failure on Linux/MIPS.
5016         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
5017         because 99 is a valid signal on Linux/MIPS.
5018
5019 2011-10-27  Bruno Haible  <bruno@clisp.org>
5020
5021         nonblocking tests: Fix test failure on Linux/MIPS.
5022         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
5023         Set to 270000.
5024
5025 2011-10-27  Bruno Haible  <bruno@clisp.org>
5026
5027         utimensat: Work around problem on Linux/hppa.
5028         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
5029         values.
5030         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
5031
5032 2011-10-25  Jim Meyering  <meyering@redhat.com>
5033
5034         maint.mk: fix a bug in sc_prohibit_stddef_without_use
5035         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
5036         after symbols like NULL, size_t, etc.
5037         Reported by Alfred M. Szmidt.
5038
5039         maint.mk: exempt ENODATA from a syntax-check rule
5040         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
5041         from the sc_prohibit_always-defined_macros syntax-check rule.
5042         Add a comment.  See this for more details:
5043         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
5044
5045 2011-10-23  Jim Meyering  <meyering@redhat.com>
5046
5047         fts: close parent dir FD before returning from post-traversal fts_read
5048         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
5049         unlink A, even though an FD open on A remained.  This is suboptimal
5050         (holding a file descriptor open longer than needed), but otherwise not
5051         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
5052         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
5053         that represents a real problem: it causes the removal of A to fail
5054         with e.g., "rm: cannot remove `A': Device or resource busy"
5055
5056         fts visits each directory twice and keeps a cache (fts_fd_ring) of
5057         directory file descriptors.  After completing the final, FTS_DP,
5058         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
5059         cache, but then proceeded to add a new FD to it via the subsequent
5060         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
5061         final file descriptor would be closed only via fts_close's call to
5062         fd_ring_clear.  Now, it is usually closed earlier, via the final
5063         FTS_DP-returning fts_read call.
5064         * lib/fts.c (restore_initial_cwd): New function, converted from
5065         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
5066         Update callers.
5067         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
5068         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
5069
5070 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
5071             Bruno Haible  <bruno@clisp.org>
5072             Jim Meyering  <jim@meyering.net>
5073
5074         readme-release: improve safety of release prep instructions.
5075         * README-release: Don't git pull all branches when only master
5076         is needed for the release process.
5077         Run make maintainer-clean before changing trees and merging.
5078         Don't try to run ./configure right after git pull in case files
5079         that influence the bootstrap process have changed, move the
5080         ./configure step to after running ./bootstrap.
5081         Don't bootstrap "one last time"... it's the first time!
5082
5083 2011-10-22  Bruno Haible  <bruno@clisp.org>
5084
5085         errno, strerror-override: Support for MSVC 10.
5086         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
5087         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
5088         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
5089         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
5090         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
5091         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
5092         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
5093         Assign values compatible with MSVC 10.
5094         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
5095         New macros.
5096         (GNULIB_defined_EWINSOCK): New macro.
5097         * lib/strerror-override.c (strerror_override): Update accordingly.
5098         * lib/strerror-override.h: Likewise.
5099         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
5100         longer equal to the corresponding errno value.
5101         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
5102
5103 2011-10-22  Bruno Haible  <bruno@clisp.org>
5104
5105         perror: Recognize when test program crashes.
5106         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
5107         strerror, set gl_cv_func_perror_works to no.
5108         Reported by Daniel Richard G. <skunk@iskunk.org>.
5109
5110         perror: Fix indentation.
5111         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
5112
5113 2011-10-22  Bruno Haible  <bruno@clisp.org>
5114
5115         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
5116         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
5117         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
5118         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
5119         functions, not as a macro.
5120         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
5121         macros.
5122         (isfinite, isinf, isnan, signbit): Check overloaded functions and
5123         absence of macro.
5124         Suggested by Eric Blake.
5125         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
5126
5127 2011-10-21  Bruno Haible  <bruno@clisp.org>
5128
5129         relocatable-prog-wrapper: Don't leave object files behind.
5130         * build-aux/install-reloc: Re-synchronize list of .o files to be
5131         removed with list of compilation units.
5132
5133 2011-10-20  Bruno Haible  <bruno@clisp.org>
5134
5135         openpty, posix_openpt: Remove code duplication.
5136         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
5137         * lib/openpty.c: Include <stdlib.h>.
5138         (openpty): Use posix_openpt on all platforms except IRIX.
5139         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
5140
5141 2011-10-20  Bruno Haible  <bruno@clisp.org>
5142
5143         unlockpt: Detect invalid argument.
5144         * lib/unlockpt.c: Include <fcntl.h>.
5145         (unlockpt): Check whether fd is valid, using fcntl().
5146         * modules/unlockpt (Depends-on): Add fcntl-h.
5147
5148 2011-10-20  Bruno Haible  <bruno@clisp.org>
5149
5150         openpty: Avoid compilation error on AIX 6.1.
5151         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
5152
5153 2011-10-20  Bruno Haible  <bruno@clisp.org>
5154
5155         posix_openpt: Support for OpenBSD.
5156         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
5157         (posix_openpt) [OpenBSD]: New code.
5158         * lib/grantpt.c: Include <fcntl.h>.
5159         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
5160         * modules/grantpt (Depends-on): Add fcntl-h.
5161
5162 2011-10-20  Bruno Haible  <bruno@clisp.org>
5163
5164         posix_openpt test: Coding style.
5165         * tests/test-posix_openpt.c: Use GNU coding style.
5166
5167 2011-10-20  Bruno Haible  <bruno@clisp.org>
5168
5169         grantpt: Support --avoid=pt_chown.
5170         * modules/grantpt (Files): Add lib/pty-private.h.
5171
5172 2011-10-20  Bruno Haible  <bruno@clisp.org>
5173
5174         posix_openpt: Fix autoconf macro.
5175         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
5176         unneeded check for _getpty.
5177
5178 2011-10-20  Bruno Haible  <bruno@clisp.org>
5179
5180         openpty: Update comments.
5181         * lib/openpty.c: Add comments about Minix.
5182
5183 2011-10-19  Eric Blake  <eblake@redhat.com>
5184
5185         openpty: relax license
5186         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
5187
5188         pt_chown: use configmake to simplify build
5189         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
5190
5191         ptsname and others: relax license
5192         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
5193         * modules/unlockpt (License): Likewise.
5194         * modules/pt_chown (License): Likewise.
5195         * modules/ptsname (License): Likewise.
5196         * modules/ttyname_r (License): Likewise.
5197
5198 2011-10-19  Jim Meyering  <meyering@redhat.com>
5199
5200         posix_openpt: remove spurious #endif
5201         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
5202
5203 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
5204
5205         maint.mk: Respect $(build_aux) in web-manual rule.
5206         * top/maint.mk (web-manual): Find gen-announce script in user's
5207         $(build_aux) directory instead of hard-coding 'build-aux'.
5208
5209 2011-10-19  Bruno Haible  <bruno@clisp.org>
5210
5211         posix_openpt: Fix compilation error.
5212         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
5213         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
5214         Mention the openpty module as an alternative.
5215
5216 2011-10-19  Bruno Haible  <bruno@clisp.org>
5217
5218         Support for old NeXTstep 3.3 frexp().
5219         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
5220         execution time of the test to 5 seconds.
5221         Reported by Daniel Richard G. <skunk@iskunk.org>.
5222
5223 2011-10-19  Bruno Haible  <bruno@clisp.org>
5224
5225         Support for old NeXTstep 3.3 sed.
5226         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
5227         part, use /.../, not \|...|. Escape periods in the header file name.
5228         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
5229         Reported by Daniel Richard G. <skunk@iskunk.org>.
5230
5231 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
5232
5233         Support for old NeXTstep 3.3 gcc.
5234         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
5235         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
5236         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
5237         * lib/spawn.in.h (_Restrict_arr_): Likewise.
5238         * lib/regex.h (_Restrict_arr_): Likewise.
5239         * lib/regex_internal.h (re_token_t): Likewise.
5240         * lib/regexec.c (check_node_accept_bytes): Likewise.
5241         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
5242
5243 2011-10-18  Eric Blake  <eblake@redhat.com>
5244
5245         posix_openpt: new module
5246         * modules/posix_openpt: New module.
5247         * m4/posix_openpt.m4: New file.
5248         * lib/posix_openpt.c: Likewise.
5249         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
5250         (gl_STDLIB_H_DEFAULTS): Set defaults.
5251         * modules/stdlib (Makefile.am): Substitute macros.
5252         * lib/stdlib.in.h (posix_openpt): Declare.
5253         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
5254         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
5255         * modules/posix_openpt-tests: New test module.
5256         * tests/test-posix_openpt.c: New test.
5257
5258 2011-10-15  Bruno Haible  <bruno@clisp.org>
5259
5260         xstrtoll: Fix compilation failure.
5261         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
5262         from lib/strtol.c.
5263         * doc/posix-headers/limits.texi: Mention missing numerical limits on
5264         some platforms.
5265         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
5266
5267 2011-10-15  Bruno Haible  <bruno@clisp.org>
5268
5269         vasnprintf: Optimize bit search operation.
5270         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
5271         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
5272         gl_DOUBLE_EXPONENT_LOCATION.
5273         * modules/vasnprintf (Files): Add m4/exponentd.m4.
5274         * modules/unistdio/u8-vasnprintf (Files): Likewise.
5275         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
5276         * modules/unistdio/u16-vasnprintf (Files): Likewise.
5277         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
5278         * modules/unistdio/u32-vasnprintf (Files): Likewise.
5279         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
5280         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
5281         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
5282
5283 2011-10-15  Bruno Haible  <bruno@clisp.org>
5284
5285         vasnprintf: Fix comments.
5286         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
5287
5288 2011-10-14  Bruno Haible  <bruno@clisp.org>
5289
5290         Tests for module 'integer_length_ll'.
5291         * modules/integer_length_ll-tests: New file.
5292         * tests/test-integer_length_ll.c: New file.
5293
5294         New module 'integer_length_ll'.
5295         * lib/integer_length_ll.c: New file.
5296         * modules/integer_length_ll: New file.
5297
5298 2011-10-14  Bruno Haible  <bruno@clisp.org>
5299
5300         Tests for module 'integer_length_l'.
5301         * modules/integer_length_l-tests: New file.
5302         * tests/test-integer_length_l.c: New file.
5303
5304         New module 'integer_length_l'.
5305         * lib/integer_length_l.c: New file.
5306         * modules/integer_length_l: New file.
5307
5308 2011-10-14  Bruno Haible  <bruno@clisp.org>
5309
5310         Tests for module 'integer_length'.
5311         * modules/integer_length-tests: New file.
5312         * tests/test-integer_length.c: New file.
5313
5314         New module 'integer_length'.
5315         * lib/integer_length.h: New file.
5316         * lib/integer_length.c: New file.
5317         * modules/integer_length: New file.
5318
5319 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
5320
5321         popen: Fix dependency conditions.
5322         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
5323
5324 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
5325
5326         perror: Fix autoconf test.
5327         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
5328         <stdlib.h> and <string.h>.
5329
5330 2011-10-14  Bruno Haible  <bruno@clisp.org>
5331
5332         ffsl: Optimize on 64-bit platforms.
5333         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
5334         unrolling.
5335
5336 2011-10-13  Bruno Haible  <bruno@clisp.org>
5337
5338         ffsl: Optimize on 32-bit platforms.
5339         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
5340         use ffs() without a loop.
5341
5342         ffsl, ffsll: Optimize for GCC.
5343         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
5344         * lib/ffsl.c (GCC_BUILTIN): New macro.
5345         * lib/ffsll.c (GCC_BUILTIN): Likewise.
5346
5347 2011-10-13  Bruno Haible  <bruno@clisp.org>
5348
5349         ffs, bcopy, memset: Support symbol renaming via config.h.
5350         * lib/ffs.c: Include <config.h>.
5351         * lib/bcopy.c: Likewise.
5352         * lib/memset.c: Likewise.
5353
5354 2011-10-10  Bruno Haible  <bruno@clisp.org>
5355
5356         atanl: Simplify for platforms where 'long double' == 'double'.
5357         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
5358         alternative implementation.
5359         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5360         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5361         * modules/atanl (Depends-on): Add atan. Update conditions.
5362
5363 2011-10-10  Bruno Haible  <bruno@clisp.org>
5364
5365         acosl: Simplify for platforms where 'long double' == 'double'.
5366         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
5367         alternative implementation.
5368         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5369         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5370         * modules/acosl (Depends-on): Add acos. Update conditions.
5371
5372 2011-10-10  Bruno Haible  <bruno@clisp.org>
5373
5374         asinl: Simplify for platforms where 'long double' == 'double'.
5375         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
5376         alternative implementation.
5377         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5378         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5379         * modules/asinl (Depends-on): Add asin. Update conditions.
5380
5381 2011-10-10  Bruno Haible  <bruno@clisp.org>
5382
5383         tanl: Simplify for platforms where 'long double' == 'double'.
5384         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
5385         implementation.
5386         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5387         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5388         * modules/tanl (Depends-on): Add tan. Update conditions.
5389         (configure.ac): Don't compile trigl.c if
5390         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5391
5392 2011-10-10  Bruno Haible  <bruno@clisp.org>
5393
5394         cosl: Simplify for platforms where 'long double' == 'double'.
5395         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
5396         implementation.
5397         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5398         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5399         * modules/cosl (Depends-on): Add cos. Update conditions.
5400         (configure.ac): Don't compile sincosl.c and trigl.c if
5401         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5402
5403 2011-10-10  Bruno Haible  <bruno@clisp.org>
5404
5405         sinl: Simplify for platforms where 'long double' == 'double'.
5406         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
5407         implementation.
5408         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5409         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5410         * modules/sinl (Depends-on): Add sin. Update conditions.
5411         (configure.ac): Don't compile sincosl.c and trigl.c if
5412         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5413
5414 2011-10-10  Bruno Haible  <bruno@clisp.org>
5415
5416         logl: Simplify for platforms where 'long double' == 'double'.
5417         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
5418         implementation.
5419         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5420         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5421         * modules/logl (Depends-on): Add log. Update conditions.
5422
5423 2011-10-10  Bruno Haible  <bruno@clisp.org>
5424
5425         expl: Simplify for platforms where 'long double' == 'double'.
5426         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
5427         implementation.
5428         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5429         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5430         * modules/expl (Depends-on): Add exp. Update conditions.
5431
5432 2011-10-10  Bruno Haible  <bruno@clisp.org>
5433
5434         sqrtl: Simplify for platforms where 'long double' == 'double'.
5435         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
5436         alternative implementation.
5437         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5438         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5439         * modules/sqrtl (Depends-on): Update conditions.
5440
5441 2011-10-10  Bruno Haible  <bruno@clisp.org>
5442
5443         ldexpl: Simplify for platforms where 'long double' == 'double'.
5444         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
5445         alternative implementation.
5446         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5447         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5448         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
5449
5450 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
5451
5452         ffsll: set correct witness
5453         * modules/ffsll (configure.ac): Fix typo.
5454
5455 2011-10-10  Bruno Haible  <bruno@clisp.org>
5456
5457         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
5458         * lib/printf-frexpl.c: Include <config.h>.
5459         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
5460         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
5461         second time.
5462         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
5463         gl_LONG_DOUBLE_VS_DOUBLE.
5464         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
5465         conditions.
5466
5467 2011-10-10  Bruno Haible  <bruno@clisp.org>
5468
5469         frexpl: Simplify for platforms where 'long double' == 'double'.
5470         * lib/frexpl.c: Include <config.h>.
5471         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
5472         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
5473         time.
5474         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5475         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5476         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
5477         * modules/frexpl (Depends-on): Add frexp. Update conditions.
5478         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
5479         conditions.
5480
5481 2011-10-10  Jim Meyering  <meyering@redhat.com>
5482
5483         test-renameat: don't leave behind a temporary file
5484         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
5485           ERROR: files left in build directory after distclean:
5486           ./gltests/test-renameat.too
5487           make[1]: *** [distcleancheck] Error 1
5488         Reported by Tom G. Christensen.
5489
5490 2011-10-09  Bruno Haible  <bruno@clisp.org>
5491
5492         rint: Determine RINT_LIBM correctly on AIX 7.
5493         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
5494         directly, not only through a function pointer. Also accept an optional
5495         4th argument with extra code.
5496         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
5497         rintf() call by gcc when optimizing.
5498
5499         mathfunc.m4: Refactor.
5500         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
5501         m4 variable.
5502
5503 2011-10-09  Bruno Haible  <bruno@clisp.org>
5504
5505         rintl: Simplify for platforms where 'long double' == 'double'.
5506         * lib/rintl.c: Include <config.h>.
5507         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
5508         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
5509         time.
5510         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5511         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5512         * modules/rintl (Depends-on): Add rint. Update conditions.
5513
5514 2011-10-09  Bruno Haible  <bruno@clisp.org>
5515
5516         roundl: Simplify for platforms where 'long double' == 'double'.
5517         * lib/roundl.c: Include <config.h>.
5518         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
5519         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
5520         time.
5521         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5522         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5523         * modules/roundl (Depends-on): Add round. Update conditions.
5524
5525 2011-10-09  Bruno Haible  <bruno@clisp.org>
5526
5527         truncl: Simplify for platforms where 'long double' == 'double'.
5528         * lib/truncl.c: Include <config.h>.
5529         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
5530         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
5531         time.
5532         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5533         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5534         * modules/truncl (Depends-on): Add trunc. Update conditions.
5535
5536 2011-10-09  Bruno Haible  <bruno@clisp.org>
5537
5538         ceill: Simplify for platforms where 'long double' == 'double'.
5539         * lib/ceill.c: Include <config.h>.
5540         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
5541         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
5542         time.
5543         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5544         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5545         * modules/ceill (Depends-on): Add ceil. Update conditions.
5546
5547 2011-10-09  Bruno Haible  <bruno@clisp.org>
5548
5549         floorl: Simplify for platforms where 'long double' == 'double'.
5550         * lib/floorl.c: Include <config.h>.
5551         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
5552         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
5553         time.
5554         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5555         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5556         * modules/floorl (Depends-on): Add floor. Update conditions.
5557
5558 2011-10-09  Bruno Haible  <bruno@clisp.org>
5559
5560         rint: Fix ordering constraints.
5561         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
5562         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
5563         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
5564
5565 2011-10-09  Bruno Haible  <bruno@clisp.org>
5566
5567         copysignl: Simplify for platforms where 'long double' == 'double'.
5568         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
5569         alternative.
5570         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5571         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5572         * modules/copysignl (Depends-on): Add copysign. Update conditions.
5573
5574 2011-10-09  Bruno Haible  <bruno@clisp.org>
5575
5576         Tests for module 'rintl'.
5577         * modules/rintl-tests: New file.
5578         * tests/test-rintl.c: New file.
5579
5580         New module 'rintl'.
5581         * lib/math.in.h (rintl): New declaration.
5582         * lib/rintl.c: New file.
5583         * m4/rintl.m4: New file.
5584         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
5585         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
5586         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
5587         * modules/rintl: New file.
5588         * tests/test-math-c++.cc: Check the declaration of rintl.
5589         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
5590         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
5591         * doc/posix-functions/rintl.texi: Mention the new module.
5592
5593 2011-10-09  Bruno Haible  <bruno@clisp.org>
5594
5595         Tests for module 'rintf'.
5596         * modules/rintf-tests: New file.
5597         * tests/test-rintf.c: New file.
5598
5599         New module 'rintf'.
5600         * lib/math.in.h (rintf): New declaration.
5601         * lib/rintf.c: New file.
5602         * m4/rintf.m4: New file.
5603         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
5604         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
5605         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
5606         * modules/rintf: New file.
5607         * tests/test-math-c++.cc: Check the declaration of rintf.
5608         * doc/posix-functions/rintf.texi: Mention the new module.
5609
5610 2011-10-09  Bruno Haible  <bruno@clisp.org>
5611
5612         rint: Support for MSVC.
5613         * lib/math.in.h (rint): New declaration.
5614         * lib/rint.c: New file.
5615         * m4/rint.m4: New file.
5616         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
5617         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
5618         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
5619         * modules/rint (Description): Fix.
5620         (Files): Add lib/rint.c, m4/rint.m4.
5621         (Depends-on): Add math.
5622         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
5623         gl_MATH_MODULE_INDICATOR.
5624         * tests/test-math-c++.cc: Check the declaration of rint.
5625         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
5626         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
5627         * doc/posix-functions/rint.texi: Mention the replacement provided by
5628         the module.
5629
5630         rint tests: More tests.
5631         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
5632         minus-zero.h, infinity.h, nan.h.
5633         (main): Skip the test if the current rounding mode is not standard. Add
5634         tests for negative numbers, minus zero, infinity, NaN.
5635         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
5636         tests/nan.h.
5637         (Depends-on): Add isnand-nolibm.
5638
5639 2011-10-09  Bruno Haible  <bruno@clisp.org>
5640
5641         Tests for module 'copysignl'.
5642         * modules/copysignl-tests: New file.
5643         * tests/test-copysignl.c: New file.
5644
5645         New module 'copysignl'.
5646         * lib/math.in.h (copysignl): New declaration.
5647         * lib/copysignl.c: New file.
5648         * m4/copysignl.m4: New file.
5649         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
5650         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
5651         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
5652         HAVE_COPYSIGNL.
5653         * modules/copysignl: New file.
5654         * tests/test-math-c++.cc: Check the declaration of copysignl.
5655         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
5656         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
5657         * doc/posix-functions/copysignl.texi: Mention the new module.
5658
5659 2011-10-09  Bruno Haible  <bruno@clisp.org>
5660
5661         Tests for module 'copysignf'.
5662         * modules/copysignf-tests: New file.
5663         * tests/test-copysignf.c: New file.
5664
5665         New module 'copysignf'.
5666         * lib/math.in.h (copysignf): New declaration.
5667         * lib/copysignf.c: New file.
5668         * m4/copysignf.m4: New file.
5669         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
5670         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
5671         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
5672         HAVE_COPYSIGNF.
5673         * modules/copysignf: New file.
5674         * tests/test-math-c++.cc: Check the declaration of copysignf.
5675         * doc/posix-functions/copysignf.texi: Mention the new module.
5676
5677 2011-10-09  Bruno Haible  <bruno@clisp.org>
5678
5679         Ensure that HAVE_* variables are set to 1 before they are set to 0.
5680         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
5681         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
5682         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
5683         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
5684         gl_SIGNAL_H_DEFAULTS.
5685
5686 2011-10-09  Bruno Haible  <bruno@clisp.org>
5687
5688         poll: Make macro safer.
5689         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
5690         ac_cv_header_poll_h is not set.
5691
5692 2011-10-09  Bruno Haible  <bruno@clisp.org>
5693
5694         copysign: Provide replacement.
5695         * lib/math.in.h (copysign): New declaration.
5696         * lib/copysign.c: New file.
5697         * m4/copysign.m4: New file.
5698         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
5699         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
5700         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
5701         HAVE_COPYSIGN.
5702         * modules/copysign (Description): Clarify.
5703         (Files): Add lib/copysign.c, m4/copysign.m4.
5704         (Depends-on): Add math, signbit.
5705         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
5706         gl_MATH_MODULE_INDICATOR.
5707         * tests/test-math-c++.cc: Check the declaration of copysign.
5708         * doc/posix-functions/copysign.texi: Mention the effects of the module
5709         on Minix and MSVC.
5710
5711 2011-10-09  Bruno Haible  <bruno@clisp.org>
5712
5713         isinf: Ensure macro on AIX 5.1.
5714         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
5715         macro.
5716         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
5717
5718 2011-10-09  Bruno Haible  <bruno@clisp.org>
5719
5720         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
5721         * modules/snprintf-posix-tests (configure.ac): Require
5722         gl_LONG_DOUBLE_VS_DOUBLE.
5723         * modules/sprintf-posix-tests (configure.ac): Likewise.
5724         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
5725         * modules/vasprintf-posix-tests (configure.ac): Likewise.
5726         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
5727         * modules/vsprintf-posix-tests (configure.ac): Likewise.
5728         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
5729         tests on platforms where 'long double' is the same as 'double'.
5730         * tests/test-sprintf-posix.h (test_function): Likewise.
5731         * tests/test-vasnprintf-posix.c (test_function): Likewise.
5732         * tests/test-vasprintf-posix.c (test_function): Likewise.
5733
5734         *printf: Fix for platforms where 'long double' == 'double'.
5735         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
5736         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
5737         * modules/dprintf-posix (Files): Add m4/math_h.m4.
5738         * modules/fprintf-posix (Files): Likewise.
5739         * modules/obstack-printf-posix (Files): Likewise.
5740         * modules/snprintf-posix (Files): Likewise.
5741         * modules/sprintf-posix (Files): Likewise.
5742         * modules/vasnprintf (Files): Likewise.
5743         * modules/vasnprintf-posix (Files): Likewise.
5744         * modules/vasprintf-posix (Files): Likewise.
5745         * modules/vdprintf-posix (Files): Likewise.
5746         * modules/vfprintf-posix (Files): Likewise.
5747         * modules/vsnprintf-posix (Files): Likewise.
5748         * modules/vsprintf-posix (Files): Likewise.
5749         * modules/unistdio/u8-vasnprintf (Files): Likewise.
5750         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
5751         * modules/unistdio/u16-vasnprintf (Files): Likewise.
5752         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
5753         * modules/unistdio/u32-vasnprintf (Files): Likewise.
5754         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
5755         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
5756
5757         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
5758         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
5759         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5760         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
5761         'long double'.
5762         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
5763
5764         isinf: Fix for platforms where 'long double' == 'double'.
5765         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
5766         Don't blindly assume 80-bit 'long double'.
5767
5768         isfinite: Fix for platforms where 'long double' == 'double'.
5769         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
5770         Don't blindly assume 80-bit 'long double'.
5771
5772         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
5773         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
5774         * modules/isfinite-tests (configure.ac): Require
5775         gl_LONG_DOUBLE_VS_DOUBLE.
5776         * modules/isinf-tests (configure.ac): Likewise.
5777         * modules/isnan-tests (configure.ac): Likewise.
5778         * modules/isnanl-tests (configure.ac): Likewise.
5779         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
5780         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
5781         tests on platforms where 'long double' is the same as 'double'.
5782         * tests/test-isinf.c (test_isinfl): Likewise.
5783         * tests/test-isnan.c (test_long_double): Likewise.
5784         * tests/test-isnanl.h (main): Likewise.
5785
5786 2011-10-08  Bruno Haible  <bruno@clisp.org>
5787
5788         Tests for module 'tanhf'.
5789         * modules/tanhf-tests: New file.
5790         * tests/test-tanhf.c: New file.
5791
5792         New module 'tanhf'.
5793         * lib/math.in.h (tanhf): New declaration.
5794         * lib/tanhf.c: New file.
5795         * m4/tanhf.m4: New file.
5796         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
5797         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
5798         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
5799         * modules/tanhf: New file.
5800         * tests/test-math-c++.cc: Check the declaration of tanhf.
5801         * doc/posix-functions/tanhf.texi: Mention the new module.
5802
5803         tanh: Use a .m4 file.
5804         * m4/tanh.m4: New file.
5805         * modules/tanh (Files): Add it.
5806         (configure.ac): Just invoke gl_FUNC_TANH.
5807
5808 2011-10-08  Bruno Haible  <bruno@clisp.org>
5809
5810         Tests for module 'coshf'.
5811         * modules/coshf-tests: New file.
5812         * tests/test-coshf.c: New file.
5813
5814         New module 'coshf'.
5815         * lib/math.in.h (coshf): New declaration.
5816         * lib/coshf.c: New file.
5817         * m4/coshf.m4: New file.
5818         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
5819         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
5820         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
5821         * modules/coshf: New file.
5822         * tests/test-math-c++.cc: Check the declaration of coshf.
5823         * doc/posix-functions/coshf.texi: Mention the new module.
5824
5825         cosh: Use a .m4 file.
5826         * m4/cosh.m4: New file.
5827         * modules/cosh (Files): Add it.
5828         (configure.ac): Just invoke gl_FUNC_COSH.
5829
5830 2011-10-08  Bruno Haible  <bruno@clisp.org>
5831
5832         Tests for module 'sinhf'.
5833         * modules/sinhf-tests: New file.
5834         * tests/test-sinhf.c: New file.
5835
5836         New module 'sinhf'.
5837         * lib/math.in.h (sinhf): New declaration.
5838         * lib/sinhf.c: New file.
5839         * m4/sinhf.m4: New file.
5840         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
5841         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
5842         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
5843         * modules/sinhf: New file.
5844         * tests/test-math-c++.cc: Check the declaration of sinhf.
5845         * doc/posix-functions/sinhf.texi: Mention the new module.
5846
5847         sinh: Use a .m4 file.
5848         * m4/sinh.m4: New file.
5849         * modules/sinh (Files): Add it.
5850         (configure.ac): Just invoke gl_FUNC_SINH.
5851
5852 2011-10-08  Bruno Haible  <bruno@clisp.org>
5853
5854         Tests for module 'atan2f'.
5855         * modules/atan2f-tests: New file.
5856         * tests/test-atan2f.c: New file.
5857
5858         New module 'atan2f'.
5859         * lib/math.in.h (atan2f): New declaration.
5860         * lib/atan2f.c: New file.
5861         * m4/atan2f.m4: New file.
5862         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
5863         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
5864         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
5865         * modules/atan2f: New file.
5866         * tests/test-math-c++.cc: Check the declaration of atan2f.
5867         * doc/posix-functions/atan2f.texi: Mention the new module.
5868
5869         atan2: Use a .m4 file.
5870         * m4/atan2.m4: New file.
5871         * modules/atan2 (Files): Add it.
5872         (configure.ac): Just invoke gl_FUNC_ATAN2.
5873
5874 2011-10-08  Bruno Haible  <bruno@clisp.org>
5875
5876         Tests for module 'atanf'.
5877         * modules/atanf-tests: New file.
5878         * tests/test-atanf.c: New file.
5879
5880         New module 'atanf'.
5881         * lib/math.in.h (atanf): New declaration.
5882         * lib/atanf.c: New file.
5883         * m4/atanf.m4: New file.
5884         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
5885         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
5886         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
5887         * modules/atanf: New file.
5888         * tests/test-math-c++.cc: Check the declaration of atanf.
5889         * doc/posix-functions/atanf.texi: Mention the new module.
5890
5891         atan: Use a .m4 file.
5892         * m4/atan.m4: New file.
5893         * modules/atan (Files): Add it.
5894         (configure.ac): Just invoke gl_FUNC_ATAN.
5895
5896 2011-10-08  Bruno Haible  <bruno@clisp.org>
5897
5898         Tests for module 'acosf'.
5899         * modules/acosf-tests: New file.
5900         * tests/test-acosf.c: New file.
5901
5902         New module 'acosf'.
5903         * lib/math.in.h (acosf): New declaration.
5904         * lib/acosf.c: New file.
5905         * m4/acosf.m4: New file.
5906         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
5907         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
5908         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
5909         * modules/acosf: New file.
5910         * tests/test-math-c++.cc: Check the declaration of acosf.
5911         * doc/posix-functions/acosf.texi: Mention the new module.
5912
5913         acos: Use a .m4 file.
5914         * m4/acos.m4: New file.
5915         * modules/acos (Files): Add it.
5916         (configure.ac): Just invoke gl_FUNC_ACOS.
5917
5918 2011-10-08  Bruno Haible  <bruno@clisp.org>
5919
5920         Tests for module 'asinf'.
5921         * modules/asinf-tests: New file.
5922         * tests/test-asinf.c: New file.
5923
5924         New module 'asinf'.
5925         * lib/math.in.h (asinf): New declaration.
5926         * lib/asinf.c: New file.
5927         * m4/asinf.m4: New file.
5928         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
5929         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
5930         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
5931         * modules/asinf: New file.
5932         * tests/test-math-c++.cc: Check the declaration of asinf.
5933         * doc/posix-functions/asinf.texi: Mention the new module.
5934
5935         asin: Use a .m4 file.
5936         * m4/asin.m4: New file.
5937         * modules/asin (Files): Add it.
5938         (configure.ac): Just invoke gl_FUNC_ASIN.
5939
5940 2011-10-08  Bruno Haible  <bruno@clisp.org>
5941
5942         Tests for module 'tanf'.
5943         * modules/tanf-tests: New file.
5944         * tests/test-tanf.c: New file.
5945
5946         New module 'tanf'.
5947         * lib/math.in.h (tanf): New declaration.
5948         * lib/tanf.c: New file.
5949         * m4/tanf.m4: New file.
5950         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
5951         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
5952         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
5953         * modules/tanf: New file.
5954         * tests/test-math-c++.cc: Check the declaration of tanf.
5955         * doc/posix-functions/tanf.texi: Mention the new module.
5956
5957         tan: Use a .m4 file.
5958         * m4/tan.m4: New file.
5959         * modules/tan (Files): Add it.
5960         (configure.ac): Just invoke gl_FUNC_TAN.
5961
5962 2011-10-08  Bruno Haible  <bruno@clisp.org>
5963
5964         Tests for module 'cosf'.
5965         * modules/cosf-tests: New file.
5966         * tests/test-cosf.c: New file.
5967
5968         New module 'cosf'.
5969         * lib/math.in.h (cosf): New declaration.
5970         * lib/cosf.c: New file.
5971         * m4/cosf.m4: New file.
5972         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
5973         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
5974         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
5975         * modules/cosf: New file.
5976         * tests/test-math-c++.cc: Check the declaration of cosf.
5977         * doc/posix-functions/cosf.texi: Mention the new module.
5978
5979         cos: Use a .m4 file.
5980         * m4/cos.m4: New file.
5981         * modules/cos (Files): Add it.
5982         (configure.ac): Just invoke gl_FUNC_COS.
5983
5984 2011-10-08  Bruno Haible  <bruno@clisp.org>
5985
5986         Tests for module 'sinf'.
5987         * modules/sinf-tests: New file.
5988         * tests/test-sinf.c: New file.
5989
5990         New module 'sinf'.
5991         * lib/math.in.h (sinf): New declaration.
5992         * lib/sinf.c: New file.
5993         * m4/sinf.m4: New file.
5994         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
5995         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
5996         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
5997         * modules/sinf: New file.
5998         * tests/test-math-c++.cc: Check the declaration of sinf.
5999         * doc/posix-functions/sinf.texi: Mention the new module.
6000
6001         sin: Use a .m4 file.
6002         * m4/sin.m4: New file.
6003         * modules/sin (Files): Add it.
6004         (configure.ac): Just invoke gl_FUNC_SIN.
6005
6006 2011-10-08  Bruno Haible  <bruno@clisp.org>
6007
6008         Tests for module 'powf'.
6009         * modules/powf-tests: New file.
6010         * tests/test-powf.c: New file.
6011
6012         New module 'powf'.
6013         * lib/math.in.h (powf): New declaration.
6014         * lib/powf.c: New file.
6015         * m4/powf.m4: New file.
6016         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
6017         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
6018         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
6019         * modules/powf: New file.
6020         * tests/test-math-c++.cc: Check the declaration of powf.
6021         * doc/posix-functions/powf.texi: Mention the new module.
6022
6023         pow: Use a .m4 file.
6024         * m4/pow.m4: New file.
6025         * modules/pow (Files): Add it.
6026         (configure.ac): Just invoke gl_FUNC_POW.
6027
6028 2011-10-08  Bruno Haible  <bruno@clisp.org>
6029
6030         Tests for module 'log10f'.
6031         * modules/log10f-tests: New file.
6032         * tests/test-log10f.c: New file.
6033
6034         New module 'log10f'.
6035         * lib/math.in.h (log10f): New declaration.
6036         * lib/log10f.c: New file.
6037         * m4/log10f.m4: New file.
6038         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
6039         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
6040         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
6041         * modules/log10f: New file.
6042         * tests/test-math-c++.cc: Check the declaration of log10f.
6043         * doc/posix-functions/log10f.texi: Mention the new module.
6044
6045         log10: Use a .m4 file.
6046         * m4/log10.m4: New file.
6047         * modules/log10 (Files): Add it.
6048         (configure.ac): Just invoke gl_FUNC_LOG10.
6049
6050 2011-10-08  Bruno Haible  <bruno@clisp.org>
6051
6052         Tests for module 'logf'.
6053         * modules/logf-tests: New file.
6054         * tests/test-logf.c: New file.
6055
6056         New module 'logf'.
6057         * lib/math.in.h (logf): New declaration.
6058         * lib/logf.c: New file.
6059         * m4/logf.m4: New file.
6060         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
6061         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
6062         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
6063         * modules/logf: New file.
6064         * tests/test-math-c++.cc: Check the declaration of logf.
6065         * doc/posix-functions/logf.texi: Mention the new module.
6066
6067         log: Use a .m4 file.
6068         * m4/log.m4: New file.
6069         * modules/log (Files): Add it.
6070         (configure.ac): Just invoke gl_FUNC_LOG.
6071
6072 2011-10-08  Bruno Haible  <bruno@clisp.org>
6073
6074         Tests for module 'expf'.
6075         * modules/expf-tests: New file.
6076         * tests/test-expf.c: New file.
6077
6078         New module 'expf'.
6079         * lib/math.in.h (expf): New declaration.
6080         * lib/expf.c: New file.
6081         * m4/expf.m4: New file.
6082         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
6083         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
6084         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
6085         * modules/expf: New file.
6086         * tests/test-math-c++.cc: Check the declaration of expf.
6087         * doc/posix-functions/expf.texi: Mention the new module.
6088
6089         exp: Use a .m4 file.
6090         * m4/exp.m4: New file.
6091         * modules/exp (Files): Add it.
6092         (configure.ac): Just invoke gl_FUNC_EXP.
6093
6094 2011-10-08  Bruno Haible  <bruno@clisp.org>
6095
6096         Tests for module 'sqrtf'.
6097         * modules/sqrtf-tests: New file.
6098         * tests/test-sqrtf.c: New file.
6099
6100         New module 'sqrtf'.
6101         * lib/math.in.h (sqrtf): New declaration.
6102         * lib/sqrtf.c: New file.
6103         * m4/sqrtf.m4: New file.
6104         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
6105         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
6106         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
6107         * modules/sqrtf: New file.
6108         * tests/test-math-c++.cc: Check the declaration of sqrtf.
6109         * doc/posix-functions/sqrtf.texi: Mention the new module.
6110
6111 2011-10-08  Bruno Haible  <bruno@clisp.org>
6112
6113         Tests: Avoid link failures w.r.t. libintl.
6114         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
6115         $(LIBINTL).
6116         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
6117         $(LIBINTL).
6118         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
6119         against $(LIBINTL).
6120         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
6121         $(LIBINTL).
6122         * modules/openat-tests (Makefile.am): Link test-fchmodat against
6123         $(LIBINTL).
6124         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
6125
6126 2011-10-08  Bruno Haible  <bruno@clisp.org>
6127
6128         pow tests: Defeat compiler optimizations.
6129         * tests/test-pow.c (main): Assign arguments to x and y before use.
6130
6131 2011-10-08  Bruno Haible  <bruno@clisp.org>
6132
6133         gnulib-tool: Improve last commit.
6134         * gnulib-tool (func_modules_transitive_closure): Simplify code.
6135         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
6136         ignore dependencies that are not among the modules list.
6137
6138 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
6139
6140         gnulib-tool: don't follow dependencies to avoided modules
6141         This fixes a bug that is related to the previous one.
6142         * gnulib-tool (func_modules_transitive_closure)
6143         (func_emit_autoconf_snippets):
6144         Check whether a dependency is acceptable before using it.
6145         (--extract-dependencies): Report an error if --avoid is also used,
6146         since this combination of options is not yet supported.
6147
6148         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
6149         Problem reported by Peter Dyballa in
6150         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
6151         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
6152         when echoing "$condition".
6153
6154 2011-10-07  Bruno Haible  <bruno@clisp.org>
6155
6156         Fix documentation about math functions on MacOS X.
6157         * doc/posix-functions/exp2.texi: Don't say the function is missing on
6158         MacOS X 10.5.
6159         * doc/posix-functions/fdim.texi: Likewise.
6160         * doc/posix-functions/feclearexcept.texi: Likewise.
6161         * doc/posix-functions/fegetenv.texi: Likewise.
6162         * doc/posix-functions/fegetround.texi: Likewise.
6163         * doc/posix-functions/feholdexcept.texi: Likewise.
6164         * doc/posix-functions/feraiseexcept.texi: Likewise.
6165         * doc/posix-functions/fesetenv.texi: Likewise.
6166         * doc/posix-functions/fesetround.texi: Likewise.
6167         * doc/posix-functions/fetestexcept.texi: Likewise.
6168         * doc/posix-functions/feupdateenv.texi: Likewise.
6169         * doc/posix-functions/fmax.texi: Likewise.
6170         * doc/posix-functions/fmin.texi: Likewise.
6171         * doc/posix-functions/log2.texi: Likewise.
6172         * doc/posix-functions/modff.texi: Likewise.
6173         * doc/posix-functions/nan.texi: Likewise.
6174         * doc/posix-functions/nanf.texi: Likewise.
6175         * doc/posix-functions/nextafterf.texi: Likewise.
6176         * doc/posix-functions/remquo.texi: Likewise.
6177
6178 2011-10-07  Bruno Haible  <bruno@clisp.org>
6179
6180         modff: Drop assumption about library that defines modff.
6181         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
6182         AC_CHECK_FUNCS.
6183         * modules/modff (Files): Add m4/mathfunc.m4.
6184
6185 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
6186
6187         raise tests: Avoid a GCC warning.
6188         * tests/test-raise.c (handler): Use _Noreturn.
6189
6190 2011-10-07  Bruno Haible  <bruno@clisp.org>
6191
6192         Tests for module 'ldexpf'.
6193         * modules/ldexpf-tests: New file.
6194         * tests/test-ldexpf.c: New file.
6195
6196         New module 'ldexpf'.
6197         * lib/math.in.h (ldexpf): New declaration.
6198         * lib/ldexpf.c: New file.
6199         * m4/ldexpf.m4: New file.
6200         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
6201         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
6202         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
6203         * modules/ldexpf: New file.
6204         * tests/test-math-c++.cc: Check the declaration of ldexpf.
6205         * doc/posix-functions/ldexpf.texi: Mention the new module.
6206
6207 2011-10-06  Bruno Haible  <bruno@clisp.org>
6208
6209         frexpf: Work around problems on IRIX and mingw.
6210         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
6211         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
6212         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
6213         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
6214         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
6215         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
6216         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
6217
6218 2011-10-06  Bruno Haible  <bruno@clisp.org>
6219
6220         fabsf: Drop assumption about library that defines fabsf.
6221         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
6222         AC_CHECK_FUNCS.
6223         * modules/fabsf (Files): Add m4/mathfunc.m4.
6224
6225 2011-10-06  Bruno Haible  <bruno@clisp.org>
6226
6227         frexpf: Drop assumption about library that defines frexpf.
6228         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
6229         'int *', 'float *', 'long double *', 'float', 'long double'.
6230         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
6231         AC_CHECK_FUNCS.
6232         * modules/frexpf (Files): Add m4/mathfunc.m4.
6233
6234         Tests for module 'frexpf'.
6235         * modules/frexpf-tests: New file.
6236         * tests/test-frexpf.c: New file.
6237
6238         New module 'frexpf'.
6239         * lib/math.in.h (frexpf): New declaration.
6240         * lib/frexpf.c: New file.
6241         * m4/frexpf.m4: New file.
6242         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
6243         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
6244         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
6245         * modules/frexpf: New file.
6246         * tests/test-math-c++.cc: Check the declaration of frexpf.
6247         * doc/posix-functions/frexpf.texi: Mention the new module.
6248
6249 2011-10-06  Bruno Haible  <bruno@clisp.org>
6250
6251         math: Sort function declarations of math.in.h.
6252         * lib/math.in.h (frexp, logb): Move declarations.
6253
6254 2011-10-05  Bruno Haible  <bruno@clisp.org>
6255
6256         Tests for module 'modff'.
6257         * modules/modff-tests: New file.
6258         * tests/test-modff.c: New file.
6259
6260         New module 'modff'.
6261         * lib/math.in.h (modff): New declaration.
6262         * lib/modff.c: New file.
6263         * m4/modff.m4: New file.
6264         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
6265         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
6266         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
6267         * modules/modff: New file.
6268         * tests/test-math-c++.cc: Check the declaration of modff.
6269         * doc/posix-functions/modff.texi: Mention the new module.
6270
6271         modf tests: Make test sharper.
6272         * tests/test-modf.c (main): Strengthen upper bound.
6273
6274         modf: Use a .m4 file.
6275         * m4/modf.m4: New file.
6276         * modules/modf (Files): Add it.
6277         (configure.ac): Just invoke gl_FUNC_MODF.
6278
6279 2011-10-05  Bruno Haible  <bruno@clisp.org>
6280
6281         Tests for module 'fmodf'.
6282         * modules/fmodf-tests: New file.
6283         * tests/test-fmodf.c: New file.
6284
6285         New module 'fmodf'.
6286         * lib/math.in.h (fmodf): New declaration.
6287         * lib/fmodf.c: New file.
6288         * m4/fmodf.m4: New file.
6289         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
6290         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
6291         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
6292         * modules/fmodf: New file.
6293         * tests/test-math-c++.cc: Check the declaration of fmodf.
6294         * doc/posix-functions/fmodf.texi: Mention the new module.
6295
6296         fmod: Use a .m4 file.
6297         * m4/fmod.m4: New file.
6298         * modules/fmod (Files): Add it.
6299         (configure.ac): Just invoke gl_FUNC_FMOD.
6300
6301 2011-10-05  Bruno Haible  <bruno@clisp.org>
6302
6303         Tests for module 'fabsf'.
6304         * modules/fabsf-tests: New file.
6305         * tests/test-fabsf.c: New file.
6306
6307         New module 'fabsf'.
6308         * lib/math.in.h (fabsf): New declaration.
6309         * lib/fabsf.c: New file.
6310         * m4/fabsf.m4: New file.
6311         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
6312         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
6313         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
6314         * modules/fabsf: New file.
6315         * tests/test-math-c++.cc: Check the declaration of fabsf.
6316         * doc/posix-functions/fabsf.texi: Mention the new module.
6317
6318         fabs: Use a .m4 file.
6319         * m4/fabs.m4: New file.
6320         * modules/fabs (Files): Add it.
6321         (configure.ac): Just invoke gl_FUNC_FABS.
6322
6323 2011-10-05  Jim Meyering  <meyering@redhat.com>
6324
6325         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
6326         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
6327         ls -lL regression introduced in coreutils-8.12, it does so at the
6328         cost of an additional stat call in the common case.  Besides, now
6329         that the kernel change that prompted commit 95f7c57f has been reverted
6330         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
6331         we have no use for commit 95f7c57f, "file-has-acl: use
6332         acl_extended_file_nofollow if available".
6333
6334 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
6335
6336         file-has-acl: revert unintended change in behavior of ls -L
6337         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
6338         derived from...
6339         (file_has_acl): ...code here.  Call it.
6340         This problem was introduced with 2011-07-22 commit 95f7c57f,
6341         "file-has-acl: use acl_extended_file_nofollow if available".
6342         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
6343
6344 2011-10-03  Bruno Haible  <bruno@clisp.org>
6345
6346         poll: Avoid link errors on MSVC.
6347         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
6348         * modules/poll (Depends-on): Add sockets.
6349         (Link): New section.
6350         * NEWS: Mention the change.
6351         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
6352         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
6353         $(LIB_POLL) instead of $(LIBSOCKET).
6354
6355 2011-10-03  Bruno Haible  <bruno@clisp.org>
6356
6357         sys_select tests: Fix link error on MSVC 9.
6358         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
6359         with $(LIB_SELECT) instead of $(LIBSOCKET).
6360
6361 2011-10-03  Bruno Haible  <bruno@clisp.org>
6362
6363         sys_select: Fix compilation error on mingw.
6364         * lib/sys_select.in.h: On native Windows, include <io.h>.
6365
6366 2011-10-03  Bruno Haible  <bruno@clisp.org>
6367
6368         wmemset: Support for MSVC.
6369         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
6370         whether wmemset() exists.
6371
6372 2011-10-03  Bruno Haible  <bruno@clisp.org>
6373
6374         wmemmove: Support for MSVC.
6375         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
6376         whether wmemmove() exists.
6377
6378 2011-10-03  Bruno Haible  <bruno@clisp.org>
6379
6380         wmemcpy: Support for MSVC.
6381         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
6382         whether wmemcpy() exists.
6383
6384 2011-10-03  Bruno Haible  <bruno@clisp.org>
6385
6386         wmemcmp: Support for MSVC.
6387         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
6388         whether wmemcmp() exists.
6389
6390 2011-10-03  Bruno Haible  <bruno@clisp.org>
6391
6392         wmemchr: Support for MSVC.
6393         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
6394         whether wmemchr() exists.
6395
6396 2011-10-03  Bruno Haible  <bruno@clisp.org>
6397
6398         glthread/*, strsignal: Support for MSVC.
6399         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
6400         including <winsock.h> on MSVC 9.
6401         * lib/glthread/lock.h: Likewise.
6402         * lib/glthread/thread.h: Likewise.
6403         * lib/glthread/tls.h: Likewise.
6404         * lib/glthread/yield.h: Likewise.
6405         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
6406         if HAVE_UNISTD_H is false.
6407         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
6408
6409 2011-10-03  Bruno Haible  <bruno@clisp.org>
6410
6411         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
6412         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
6413         Set to 100000.
6414
6415 2011-10-03  Bruno Haible  <bruno@clisp.org>
6416
6417         acl: Fix specification.
6418         * lib/file-has-acl.c (file_has_acl): Fix specification.
6419
6420 2011-10-03  Bruno Haible  <bruno@clisp.org>
6421
6422         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
6423         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
6424         (compute_curr_prefix, shared_library_fullname,
6425         find_shared_library_fullname, get_shared_library_fullname, relocate):
6426         Use it together with PIC && INSTALLDIR.
6427         Reported by <jojelino@gmail.com>
6428         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
6429
6430 2011-10-01  Jim Meyering  <meyering@redhat.com>
6431
6432         maint.mk: adjust a release-related rule not to require use of gzip
6433         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
6434         Instead, check each file in $(DIST_ARCHIVES).  This is better for
6435         projects that build only .tar.xz files.  Also fix an erroneous test.
6436
6437         test-linkat: don't leave behind a temporary file
6438         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
6439         Otherwise, coreutils' "make distcheck" would fail with this:
6440           Only in /c/cu/tests/torture/coreutils/test/\
6441             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
6442           make[2]: *** [my-distcheck] Error 1
6443
6444         float, math: add omitted file
6445         * lib/itold.c: Add file, required for yesterday's float change.
6446
6447 2011-10-01  Bruno Haible  <bruno@clisp.org>
6448
6449         isinf: Fix for OpenBSD/x86.
6450         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
6451         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
6452         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
6453
6454 2011-10-01  Bruno Haible  <bruno@clisp.org>
6455
6456         isfinite: Fix syntax error in configure test.
6457         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
6458
6459         isfinite: Fix typo.
6460         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
6461         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
6462
6463 2011-10-01  Bruno Haible  <bruno@clisp.org>
6464
6465         nonblocking tests: Fix test failure on Linux/IA-64.
6466         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
6467         Set to 270000.
6468
6469 2011-10-01  Bruno Haible  <bruno@clisp.org>
6470
6471         mkfifoat tests: Fix a test failure on mingw.
6472         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
6473         with error ENOSYS.
6474
6475 2011-09-30  Bruno Haible  <bruno@clisp.org>
6476
6477         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
6478         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
6479         'long double'. Set REPLACE_ITOLD.
6480         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
6481         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
6482         * lib/itold.c: New file.
6483         * modules/float (Files): Add lib/itold.c.
6484         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
6485         (Makefile.am): Substitute REPLACE_ITOLD.
6486         * modules/math (Depends-on): Add float.
6487         (Makefile.am): Substitute REPLACE_ITOLD.
6488         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
6489         * doc/posix-headers/math.texi: Likewise.
6490         * doc/posix-functions/logl.texi: Likewise.
6491
6492 2011-09-30  Bruno Haible  <bruno@clisp.org>
6493
6494         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
6495         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
6496         Set to 140000.
6497
6498 2011-09-30  Bruno Haible  <bruno@clisp.org>
6499
6500         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
6501         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
6502         invocation, say "right after AC_PROG_CC_STDC", not "right after
6503         AC_PROG_CC".
6504         Reported by Gary V. Vaughan <gary@gnu.org>.
6505
6506 2011-09-30  Bruno Haible  <bruno@clisp.org>
6507
6508         Centralize C99 requirement.
6509         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
6510         * modules/stdarg (configure.ac-early): Invoke it instead of
6511         AC_PROG_CC_STDC.
6512         Reported by Gary V. Vaughan and Paul Eggert.
6513
6514 2011-09-29  Bruno Haible  <bruno@clisp.org>
6515
6516         float: Fix LDBL_MAX value on Linux/PowerPC.
6517         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
6518         on Linux/PowerPC.
6519         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
6520         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
6521         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
6522         platform.
6523         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
6524
6525 2011-09-29  Bruno Haible  <bruno@clisp.org>
6526
6527         doc: Improve doc about gl_EARLY.
6528         * doc/gnulib-tool.texi (Initial import): Mention where to place an
6529         AC_PROG_CC_STDC invocation.
6530         Reported by Gary V. Vaughan <gary@gnu.org>.
6531
6532 2011-09-28  Bruno Haible  <bruno@clisp.org>
6533
6534         fgetc, fputc, fread, fwrite tests: Fix link error.
6535         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
6536         on non-MSVC platforms.
6537         * tests/test-fputc.c (main): Likewise.
6538         * tests/test-fread.c (main): Likewise.
6539         * tests/test-fwrite.c (main): Likewise.
6540         Reported by Jim Meyering.
6541
6542 2011-09-27  Bruno Haible  <bruno@clisp.org>
6543
6544         fputc, fwrite tests: Avoid test failure on MSVC.
6545         * tests/test-fgetc.c: Include msvc-inval.h.
6546         (main): Invoke gl_msvc_inval_ensure_handler.
6547         * tests/test-fputc.c: Include msvc-inval.h.
6548         (main): Invoke gl_msvc_inval_ensure_handler.
6549         * tests/test-fread.c: Include msvc-inval.h.
6550         (main): Invoke gl_msvc_inval_ensure_handler.
6551         * tests/test-fwrite.c: Include msvc-inval.h.
6552         (main): Invoke gl_msvc_inval_ensure_handler.
6553         * modules/fgetc-tests (Depends-on): Add msvc-inval.
6554         * modules/fputc-tests (Depends-on): Likewise.
6555         * modules/fread-tests (Depends-on): Likewise.
6556         * modules/fwrite-tests (Depends-on): Likewise.
6557
6558 2011-09-27  Bruno Haible  <bruno@clisp.org>
6559
6560         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
6561         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
6562         (raise): Remove older, duplicated declaration.
6563         (_gl_raise_SIGPIPE): New declaration.
6564         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
6565         (rpl_raise): Remove function.
6566         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
6567         a gnulib-defined SIGPIPE here.
6568         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
6569         'sigprocmask' has detected missing signal-blocking and the module
6570         'sigpipe' is enabled.
6571         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
6572
6573 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
6574
6575         base64-tests: avoid memory leak
6576         * tests/test-base64.c (main): Plug memory leak.
6577
6578         base32: new module
6579         * modules/base32: New module.
6580         * lib/base32.c: New file.
6581         * lib/base32.h: Likewise.
6582         * m4/base32.m4: Likewise.
6583         * modules/base32-tests: New test.
6584         * tests/test-base32.c: Likewise.
6585         * MODULES.html.sh (Misc): Mention it.
6586
6587 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
6588
6589         gnulib: use more-standard license notice wording
6590         * gnulib-tool (func_emit_copyright_notice): When emitting a
6591         license notice into a file, use the standard wording as suggested
6592         by the current information for GNU maintainers, except say "file"
6593         rather than "program".  The new wording gives a license version
6594         number, which addresses an issue raised by Glenn Morris in
6595         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
6596         * m4/onceonly.m4: Use that same wording here, too.
6597
6598         dup2: minor simplification
6599         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
6600         as lib/dup2.c no longer uses 'inline'.
6601
6602 2011-09-25  Bruno Haible  <bruno@clisp.org>
6603
6604         strings: Fix compilation error on MSVC.
6605         * lib/strings.in.h: Include <stddef.h> for size_t.
6606
6607 2011-09-25  Bruno Haible  <bruno@clisp.org>
6608
6609         fflush et al.: Document limitation on MSVC.
6610         * doc/posix-functions/fflush.texi: Document possible crash in handling
6611         mode other than DEFAULT_HANDLING.
6612         * doc/posix-functions/fgetc.texi: Likewise.
6613         * doc/posix-functions/fputc.texi: Likewise.
6614         * doc/posix-functions/fread.texi: Likewise.
6615         * doc/posix-functions/fwrite.texi: Likewise.
6616
6617 2011-09-25  Bruno Haible  <bruno@clisp.org>
6618
6619         msvc-inval: Allow three invalid parameter handling modes.
6620         * lib/msvc-inval.h: Don't include <stdlib.h> here.
6621         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
6622         macros.
6623         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
6624         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
6625         SANE_LIBRARY_HANDLING as a no-op.
6626         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
6627         <stdlib.h>.
6628         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
6629
6630 2011-09-25  Bruno Haible  <bruno@clisp.org>
6631
6632         msvc-inval: Make handler multithread-safe.
6633         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
6634         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
6635         declarations.
6636         (gl_msvc_inval_current): New declaration.
6637         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
6638         Operate on the structure returned by gl_msvc_inval_current().
6639         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
6640         Remove varaiables.
6641         (tls_index, tls_initialized): New variables.
6642         (not_per_thread): New variable.
6643         (gl_msvc_inval_current): New function.
6644         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
6645         returned by gl_msvc_inval_current().
6646
6647 2011-09-25  Bruno Haible  <bruno@clisp.org>
6648
6649         msvc-inval: Install handler globally.
6650         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
6651         !_MSC_VER.
6652         (gl_msvc_invalid_parameter_handler): Remove declaration.
6653         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
6654         declarations.
6655         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
6656         Install the handler globally, don't uninstall it.
6657         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
6658         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
6659         currently valid, call RaiseException instead.
6660         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
6661         for !_MSC_VER.
6662
6663 2011-09-25  Bruno Haible  <bruno@clisp.org>
6664
6665         strerror_r-posix: Fix for MSVC 9.
6666         * lib/strerror_r.c (local_snprintf): New function.
6667         (snprintf): Define to local_snprintf, not to _snprintf.
6668
6669 2011-09-25  Bruno Haible  <bruno@clisp.org>
6670
6671         ftruncate: Support for MSVC 9.
6672         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
6673         (chsize_nothrow): New function.
6674         (chsize): Redefine as a macro.
6675         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
6676         * modules/ftruncate (Depends-on): Add msvc-inval.
6677
6678 2011-09-25  Bruno Haible  <bruno@clisp.org>
6679
6680         New module 'fstat'.
6681         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
6682         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
6683         * lib/fchdir.c (rpl_fstat): Remove function.
6684         * m4/fstat.m4: New file.
6685         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
6686         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
6687         declared.
6688         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
6689         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
6690         * modules/fstat: New file.
6691         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
6692         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
6693         is set.
6694         * doc/posix-functions/fstat.texi: Mention the new module and the
6695         problem on MSVC.
6696         * NEWS: Mention the change.
6697         * modules/acl (Depends-on): Add fstat.
6698         * modules/chdir-safer (Depends-on): Likewise.
6699         * modules/chown (Depends-on): Likewise.
6700         * modules/copy-file (Depends-on): Likewise.
6701         * modules/fchdir (Depends-on): Likewise.
6702         * modules/fdopendir (Depends-on): Likewise.
6703         * modules/fopen (Depends-on): Likewise.
6704         * modules/fts (Depends-on): Likewise.
6705         * modules/getcwd (Depends-on): Likewise.
6706         * modules/isapipe (Depends-on): Likewise.
6707         * modules/linkat (Depends-on): Likewise.
6708         * modules/lseek (Depends-on): Likewise.
6709         * modules/mkdir-p (Depends-on): Likewise.
6710         * modules/open (Depends-on): Likewise.
6711         * modules/openat (Depends-on): Likewise.
6712         * modules/read-file (Depends-on): Likewise.
6713         * modules/renameat (Depends-on): Likewise.
6714         * modules/utimens (Depends-on): Likewise.
6715
6716 2011-09-25  Bruno Haible  <bruno@clisp.org>
6717
6718         linkat: Fix compilation on MSVC 9.
6719         * lib/linkat.c: Don't include <stdint.h>.
6720
6721 2011-09-25  Bruno Haible  <bruno@clisp.org>
6722
6723         fclose: Support for MSVC 9.
6724         * lib/fclose.c: Include msvc-inval.h.
6725         (fclose_nothrow): New function.
6726         (rpl_fclose): Use it.
6727         * modules/fclose (Depends-on): Add msvc-inval.
6728         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
6729
6730 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
6731
6732         dup2: minor simplifications
6733         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
6734         that it's a performance win.
6735         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
6736         ! defined __CYGWIN__)" to "ifdef F_GETFL".
6737
6738 2011-09-24  Jim Meyering  <meyering@redhat.com>
6739
6740         test-futimens: avoid a warning from gcc -Wshadow
6741         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
6742         to avoid a shadowing warning.
6743
6744 2011-09-24  Bruno Haible  <bruno@clisp.org>
6745
6746         fdopen: Support for MSVC 9.
6747         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
6748         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
6749         * lib/fdopen.c: Include msvc-inval.h.
6750         (fdopen_nothrow): New function.
6751         (rpl_fdopen): Use it.
6752         * modules/fdopen (Depends-on): Add msvc-inval.
6753         * modules/fclose-tests (Depends-on): Add fdopen.
6754         * modules/fflush-tests (Depends-on): Likewise.
6755         * modules/fgetc-tests (Depends-on): Likewise.
6756         * modules/fputc-tests (Depends-on): Likewise.
6757         * modules/fread-tests (Depends-on): Likewise.
6758         * modules/freopen-tests (Depends-on): Likewise.
6759         * modules/fseeko-tests (Depends-on): Likewise.
6760         * modules/ftello-tests (Depends-on): Likewise.
6761         * modules/fwrite-tests  (Depends-on): Likewise.
6762         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
6763
6764 2011-09-24  Bruno Haible  <bruno@clisp.org>
6765
6766         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
6767         * modules/fgetc-tests (Depends-on): Add unistd.
6768         * modules/fputc-tests (Depends-on): Likewise.
6769         * modules/fread-tests (Depends-on): Likewise.
6770         * modules/fwrite-tests (Depends-on): Likewise.
6771
6772 2011-09-24  Bruno Haible  <bruno@clisp.org>
6773
6774         dup: Simplify autoconf test.
6775         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
6776         on gl_MSVC_INVAL's result.
6777
6778 2011-09-24  Bruno Haible  <bruno@clisp.org>
6779
6780         Tests for function fwrite().
6781         * modules/fwrite-tests: New file.
6782         * tests/test-fwrite.c: New file.
6783         * modules/stdio-tests (Depends-on): Add fwrite-tests.
6784
6785         Tests for function fread().
6786         * modules/fread-tests: New file.
6787         * tests/test-fread.c: New file.
6788         * modules/stdio-tests (Depends-on): Add fread-tests.
6789
6790         Activate fputc tests.
6791         * modules/stdio-tests (Depends-on): Add fputc-tests.
6792
6793         Enhance fgetc, fputc tests.
6794         * tests/test-fgetc.c (main): Also test the stream's error indicator.
6795         * tests/test-fputc.c (main): Likewise.
6796
6797 2011-09-24  Bruno Haible  <bruno@clisp.org>
6798
6799         write: Support for MSVC 9.
6800         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
6801         is not 1.
6802         * lib/write.c (write_nothrow): New function.
6803         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
6804         not 1. Use write_nothrow.
6805         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
6806         invalid parameter handler.
6807         (gl_PREREQ_WRITE): New macro.
6808         * modules/write (Depends-on): Add msvc-inval.
6809         (configure.ac): Invoke gl_PREREQ_WRITE.
6810         * doc/posix-functions/write.texi: Mention the problem on MSVC.
6811
6812 2011-09-24  Bruno Haible  <bruno@clisp.org>
6813
6814         read: Fix last commit.
6815         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
6816
6817 2011-09-24  Bruno Haible  <bruno@clisp.org>
6818
6819         dup2: Fix last commit.
6820         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
6821         (rpl_dup2): Disable fcntl workaround on native Windows.
6822
6823         sigprocmask: Make code safer.
6824         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
6825         section that changes macro definitions for this compilation unit.
6826
6827 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
6828
6829         dup2: clarify by coalescing Windows-specific material
6830         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
6831         "msvc-nothrow.h"' to the Windows-specific section, so that the
6832         Emacs source need not contain these include files.
6833         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
6834         Windows-specific fixes into this function rather than just the
6835         nothrow fix, as this shortens and clarifies the code.  Always
6836         define as a function, as that's a bit cleaner than having it be
6837         sometimes a function and sometimes a macro.
6838         (rpl_dup2): Move the Windows-specific stuff out of here and into
6839         ms_windows_dup2.  Don't protect the Haiku-related fix with
6840         "#if !defined __linux__", as the same code also works around
6841         a Linux kernel bug, and it doesn't add any system calls on any
6842         platform.  Add comment about FreeBSD 6.1.
6843
6844         sigprocmask: move #include directive
6845         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
6846         Windows-specific section, so that the Emacs source need not
6847         contain msvc-inval.h.
6848
6849 2011-09-23  Bruno Haible  <bruno@clisp.org>
6850
6851         read: Support for MSVC 9.
6852         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
6853         is not 1.
6854         * lib/read.c (read_nothrow): New function.
6855         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
6856         read_nothrow.
6857         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
6858         invalid parameter handler.
6859         (gl_PREREQ_READ): New macro.
6860         * modules/read (Depends-on): Add msvc-inval.
6861         (configure.ac): Invoke gl_PREREQ_READ.
6862         * doc/posix-functions/read.texi: Mention the problem on MSVC.
6863
6864 2011-09-23  Bruno Haible  <bruno@clisp.org>
6865
6866         close: Support for MSVC 9.
6867         * lib/close.c: Include <errno.h>, msvc-inval.h.
6868         (close_nothrow): New function.
6869         (rpl_close): Use it.
6870         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
6871         invalid parameter handler.
6872         * modules/close (Depends-on): Add msvc-inval.
6873         * modules/dup2-tests (Depends-on): Add close.
6874         * modules/dup3-tests (Depends-on): Likewise.
6875         * modules/fcntl-tests (Depends-on): Likewise.
6876         * modules/spawn-pipe-tests (Depends-on): Likewise.
6877         * modules/unistd-safer-tests (Depends-on): Likewise.
6878         * doc/posix-functions/close.texi: Mention the problem on MSVC.
6879
6880 2011-09-23  Bruno Haible  <bruno@clisp.org>
6881
6882         New module 'dup'.
6883         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
6884         Allow replacement.
6885         * lib/dup.c: New file.
6886         * lib/fchdir.c (rpl_dup): Remove function.
6887         * m4/dup.m4: New file.
6888         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
6889         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
6890         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
6891         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
6892         * modules/dup: New file.
6893         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
6894         'dup' module is in use.
6895         * modules/fdopendir (Depends-on): Add dup.
6896         * modules/fdutimensat-tests (Depends-on): Likewise.
6897         * modules/fts (Depends-on): Likewise.
6898         * modules/futimens-tests (Depends-on): Likewise.
6899         * modules/posix_spawnp-tests (Depends-on): Likewise.
6900         * modules/unistd-safer-tests (Depends-on): Likewise.
6901         * modules/utimens-tests (Depends-on): Likewise.
6902         * doc/posix-functions/dup.texi: Mention the new module and the problem
6903         on MSVC.
6904
6905 2011-09-23  Bruno Haible  <bruno@clisp.org>
6906
6907         getdtablesize: Support for MSVC 9.
6908         * lib/getdtablesize.c: Include msvc-inval.h.
6909         (_setmaxstdio_nothrow): New function.
6910         (_setmaxstdio): Redefine it.
6911         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
6912         * modules/getdtablesize (Depends-on): Add msvc-inval.
6913         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
6914
6915 2011-09-23  Bruno Haible  <bruno@clisp.org>
6916
6917         signal-h: Rename from signal.
6918         * modules/signal-h: Renamed from modules/signal.
6919         * modules/pthread_sigmask (Depends-on): Update.
6920         * modules/raise (Depends-on): Likewise.
6921         * modules/sigaction (Depends-on): Likewise.
6922         * modules/sigpipe (Depends-on): Likewise.
6923         * modules/sigprocmask (Depends-on): Likewise.
6924         * modules/sys_select (Depends-on): Likewise.
6925         * modules/signal-h-tests: Renamed from modules/signal-tests.
6926         (Files, Depends-on, Makefile.am): Update.
6927         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
6928         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
6929         (Files, Makefile.am): Update.
6930         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
6931         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
6932         * modules/signal: New placeholder file.
6933         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
6934         * doc/posix-headers/signal.texi: Update.
6935         * NEWS: Mention the change.
6936
6937 2011-09-23  Bruno Haible  <bruno@clisp.org>
6938
6939         sigprocmask: Avoid crashes through signal() on MSVC 9.
6940         * lib/sigprocmask.c: Include msvc-inval.h.
6941         (signal_nothrow): New function.
6942         (signal): Redefine it.
6943         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
6944         * modules/sigprocmask (Depends-on): Add msvc-inval.
6945         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
6946
6947 2011-09-23  Bruno Haible  <bruno@clisp.org>
6948
6949         Tests for module 'raise'.
6950         * modules/raise-tests: New file.
6951         * tests/test-raise.c: New file.
6952
6953         raise: Support for MSVC.
6954         * lib/signal.in.h (raise): New declaration.
6955         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
6956         for native Windows platforms.
6957         * m4/raise.m4: New file.
6958         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
6959         HAVE_RAISE, REPLACE_RAISE.
6960         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
6961         REPLACE_RAISE.
6962         * modules/raise (Status, Notice): Remove fields.
6963         (Files): Add m4/raise.m4.
6964         (Depends-on): Add signal, msvc-inval.
6965         (configure.ac): Use the common idioms.
6966         (Maintainer): Add me.
6967         * tests/test-signal-c++.cc: Check the signature of raise.
6968         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
6969
6970 2011-09-23  Bruno Haible  <bruno@clisp.org>
6971
6972         pipe2: Fix compilation on pre-C99 compilers.
6973         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
6974
6975 2011-09-23  Bruno Haible  <bruno@clisp.org>
6976
6977         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
6978         * lib/msvc-nothrow.h: New file.
6979         * lib/msvc-nothrow.c: New file.
6980         * m4/msvc-nothrow.m4: New file.
6981         * modules/msvc-nothrow: New file.
6982         * lib/dup2.c: Include msvc-nothrow.h.
6983         (rpl_dup2): No need to protect _get_osfhandle call here.
6984         * lib/accept4.c: Include msvc-nothrow.h.
6985         * lib/error.c: Likewise.
6986         * lib/fcntl.c: Likewise.
6987         * lib/lseek.c: Likewise.
6988         * lib/nonblocking.c: Likewise.
6989         * lib/poll.c: Likewise.
6990         * lib/read.c: Likewise.
6991         * lib/select.c: Likewise.
6992         * lib/sockets.h: Likewise.
6993         * lib/sockets.c: Likewise.
6994         * lib/stdio-read.c: Likewise.
6995         * lib/stdio-write.c: Likewise.
6996         * lib/write.c: Likewise.
6997         * lib/w32sock.h: Likewise.
6998         * lib/w32spawn.h: Likewise.
6999         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
7000         * lib/fsync.c: Likewise.
7001         * lib/isapipe.c: Likewise.
7002         * modules/dup2 (Depends-on): Add msvc-nothrow.
7003         * modules/accept4 (Depends-on): Likewise.
7004         * modules/error (Depends-on): Likewise.
7005         * modules/fcntl (Depends-on): Likewise.
7006         * modules/lseek (Depends-on): Likewise.
7007         * modules/nonblocking (Depends-on): Likewise.
7008         * modules/poll (Depends-on): Likewise.
7009         * modules/read (Depends-on): Likewise.
7010         * modules/select (Depends-on): Likewise.
7011         * modules/sockets (Depends-on): Likewise.
7012         * modules/sigpipe (Depends-on): Likewise.
7013         * modules/write (Depends-on): Likewise.
7014         * modules/accept (Depends-on): Likewise.
7015         * modules/bind (Depends-on): Likewise.
7016         * modules/connect (Depends-on): Likewise.
7017         * modules/gethostname (Depends-on): Likewise.
7018         * modules/getpeername (Depends-on): Likewise.
7019         * modules/getsockname (Depends-on): Likewise.
7020         * modules/getsockopt (Depends-on): Likewise.
7021         * modules/ioctl (Depends-on): Likewise.
7022         * modules/listen (Depends-on): Likewise.
7023         * modules/recv (Depends-on): Likewise.
7024         * modules/recvfrom (Depends-on): Likewise.
7025         * modules/send (Depends-on): Likewise.
7026         * modules/sendto (Depends-on): Likewise.
7027         * modules/setsockopt (Depends-on): Likewise.
7028         * modules/shutdown (Depends-on): Likewise.
7029         * modules/socket (Depends-on): Likewise.
7030         * modules/execute (Depends-on): Likewise.
7031         * modules/spawn-pipe (Depends-on): Likewise.
7032         * modules/flock (Depends-on): Likewise.
7033         * modules/fsync (Depends-on): Likewise.
7034         * modules/isapipe (Depends-on): Likewise.
7035         * tests/test-cloexec.c: Include msvc-nothrow.h.
7036         * tests/test-dup-safer.c: Likewise.
7037         * tests/test-dup2.c: Likewise.
7038         * tests/test-dup3.c: Likewise.
7039         * tests/test-fcntl.c: Likewise.
7040         * tests/test-pipe.c: Likewise.
7041         * tests/test-pipe2.c: Likewise.
7042         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
7043         * modules/unistd-safer-tests (Depends-on): Likewise.
7044         * modules/dup2-tests (Depends-on): Likewise.
7045         * modules/dup3-tests (Depends-on): Likewise.
7046         * modules/fcntl-tests (Depends-on): Likewise.
7047         * modules/pipe-posix-tests (Depends-on): Likewise.
7048         * modules/pipe2-tests (Depends-on): Likewise.
7049
7050 2011-09-23  Bruno Haible  <bruno@clisp.org>
7051
7052         dup2: Make code more maintainable.
7053         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
7054         (rpl_dup2): Use it.
7055         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
7056         * modules/dup2 (configure.ac): Invoke it.
7057         Reported by Paul Eggert.
7058
7059 2011-09-23  Bruno Haible  <bruno@clisp.org>
7060
7061         msvc-inval: Fix compilation error.
7062         * lib/msvc-inval.h: Include <excpt.h>.
7063
7064 2011-09-23  Bruno Haible  <bruno@clisp.org>
7065
7066         mkdir: Tweak for MSVC 9.
7067         * lib/sys_stat.in.h: Update comments.
7068         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
7069
7070         Tests for module 'chdir'.
7071         * modules/chdir-tests: New file.
7072         * tests/test-chdir.c: New file.
7073
7074         New module 'chdir'.
7075         * modules/chdir: New file.
7076         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
7077         (chdir): New declaration.
7078         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
7079         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
7080         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
7081         * tests/test-unistd-c++.cc: Check signature of chdir.
7082         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
7083         * modules/chdir-long (Depends-on): Add chdir.
7084         * modules/fchdir (Depends-on): Likewise.
7085         * modules/rename (Depends-on): Likewise.
7086         * modules/savewd (Depends-on): Likewise.
7087
7088         rmdir: Support for mingw, MSVC 9.
7089         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
7090         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
7091
7092         getcwd: Tweak for MSVC 9.
7093         * lib/unistd.in.h: Update comments.
7094         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
7095
7096 2011-09-22  Bruno Haible  <bruno@clisp.org>
7097
7098         strerror_r-posix: Avoid a link error on MSVC.
7099         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
7100         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
7101
7102 2011-09-22  Bruno Haible  <bruno@clisp.org>
7103
7104         select: Avoid link errors on MSVC.
7105         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
7106         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
7107         * modules/pselect (Link): Likewise.
7108         * NEWS: Mention the change.
7109         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
7110         test-select-stdin against $(LIB_SELECT).
7111         * modules/pselect-tests (Makefile.am): Link test-pselect against
7112         $(LIB_SELECT).
7113
7114 2011-09-22  Bruno Haible  <bruno@clisp.org>
7115
7116         select: Avoid compilation error on MSVC.
7117         * lib/select.c: Don't include <stdbool.h>.
7118
7119 2011-09-21  Bruno Haible  <bruno@clisp.org>
7120
7121         Consolidate all uses of PATH_MAX in *.m4 files.
7122         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
7123         macros.
7124         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
7125         and gl_PATHMAX_SNIPPET.
7126         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
7127         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
7128         * modules/chdir-long (Files): Add m4/pathmax.m4.
7129         * modules/getcwd (Files): Likewise.
7130
7131 2011-09-21  Bruno Haible  <bruno@clisp.org>
7132
7133         ftruncate: Un-deprecate, concentrate on Win32 support.
7134         * modules/ftruncate (Status, Notice): Remove sections.
7135         (Depends-on): Add largefile.
7136         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
7137         non-mingw platforms.
7138         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
7139         include <io.h>.
7140         * modules/perror-tests (Depends-on): Add ftruncate.
7141         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
7142         'ftruncate' module.
7143
7144 2011-09-21  Bruno Haible  <bruno@clisp.org>
7145
7146         Add dependencies to new dirent related modules.
7147         * modules/opendir (Depends-on): Add closedir.
7148         * modules/getcwd (Depends-on): Add opendir, closedir.
7149         * modules/dirent-safer-tests (Depends-on): Likewise.
7150         * modules/fdopendir-tests (Depends-on): Likewise.
7151         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
7152         * modules/renameat-tests (Depends-on): Likewise.
7153
7154 2011-09-21  Bruno Haible  <bruno@clisp.org>
7155
7156         opendir: Avoid compilation error on mingw.
7157         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
7158         * modules/opendir (Depends-on): Add unistd.
7159
7160 2011-09-21  Bruno Haible  <bruno@clisp.org>
7161
7162         ftruncate tests: Avoid a test failure on mingw.
7163         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
7164
7165 2011-09-21  Bruno Haible  <bruno@clisp.org>
7166
7167         select tests: Avoid test failures on OSF/1 5.1 and mingw.
7168         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
7169         native Windows.
7170
7171 2011-09-21  Bruno Haible  <bruno@clisp.org>
7172
7173         New module 'fdopen'.
7174         * lib/stdio.in.h (fdopen): New declaration.
7175         * lib/fdopen.c: New file.
7176         * m4/fdopen.m4: New file.
7177         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
7178         REPLACE_FDOPEN.
7179         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
7180         REPLACE_FDOPEN.
7181         * modules/fdopen: New file.
7182         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
7183         * tests/test-stdio-c++.cc: Check signature of fdopen.
7184         * doc/posix-functions/fdopen.texi: Mention the new module.
7185
7186 2011-09-21  Bruno Haible  <bruno@clisp.org>
7187
7188         unlockpt tests: Avoid test failure on NetBSD 5.1.
7189         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
7190         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
7191
7192 2011-09-21  Bruno Haible  <bruno@clisp.org>
7193
7194         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
7195         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
7196         * tests/test-getlogin_r.c (main): Likewise.
7197
7198 2011-09-20  Bruno Haible  <bruno@clisp.org>
7199
7200         time tests: Don't require pid_t.
7201         * doc/posix-headers/time.texi: Revert last change.
7202         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
7203         * tests/test-time.c: Comment out the check for pid_t.
7204
7205 2011-09-20  Bruno Haible  <bruno@clisp.org>
7206
7207         fsync tests: Avoid a test failure on mingw.
7208         * tests/test-fsync.c (main): Allow a failure with EIO.
7209
7210 2011-09-20  Bruno Haible  <bruno@clisp.org>
7211
7212         euidaccess: Update comments.
7213         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
7214
7215 2011-09-20  Bruno Haible  <bruno@clisp.org>
7216
7217         Ensure EBADF returns for socket functions on mingw.
7218         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
7219         descriptor is invalid.
7220         * lib/bind.c (rpl_bind): Likewise.
7221         * lib/connect.c (rpl_connect): Likewise.
7222         * lib/getpeername.c (rpl_getpeername): Likewise.
7223         * lib/getsockname.c (rpl_getsockname): Likewise.
7224         * lib/getsockopt.c (rpl_getsockopt): Likewise.
7225         * lib/listen.c (rpl_listen): Likewise.
7226         * lib/recv.c (rpl_recv): Likewise.
7227         * lib/recvfrom.c (rpl_recvfrom): Likewise.
7228         * lib/send.c (rpl_send): Likewise.
7229         * lib/sendto.c (rpl_sendto): Likewise.
7230         * lib/setsockopt.c (rpl_setsockopt): Likewise.
7231         * lib/shutdown.c (rpl_shutdown): Likewise.
7232
7233 2011-09-20  Bruno Haible  <bruno@clisp.org>
7234
7235         select tests: EBADF tests.
7236         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
7237         test_bad_fd): New functions.
7238         (test_function): Invoke also test_bad_fd.
7239
7240 2011-09-20  Bruno Haible  <bruno@clisp.org>
7241
7242         Tests for module 'posix_spawn_file_actions_addopen.
7243         * modules/posix_spawn_file_actions_addopen-tests: New file.
7244         * tests/test-posix_spawn_file_actions_addopen.c: New file.
7245
7246         Tests for module 'posix_spawn_file_actions_adddup2'.
7247         * modules/posix_spawn_file_actions_adddup2-tests: New file.
7248         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
7249
7250         Tests for module 'posix_spawn_file_actions_addclose'.
7251         * modules/posix_spawn_file_actions_addclose-tests: New file.
7252         * tests/test-posix_spawn_file_actions_addclose.c: New file.
7253
7254 2011-09-20  Bruno Haible  <bruno@clisp.org>
7255
7256         Tests for module 'unlockpt'.
7257         * modules/unlockpt-tests: New file.
7258         * tests/test-unlockpt.c: New file.
7259         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
7260
7261         Tests for module 'grantpt'.
7262         * modules/grantpt-tests: New file.
7263         * tests/test-grantpt.c: New file.
7264         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
7265
7266 2011-09-20  Bruno Haible  <bruno@clisp.org>
7267
7268         freopen tests: EBADF tests.
7269         * tests/test-freopen.c: Include errno.h, unistd.h.
7270         (main): Add tests for EBADF, commented out for the moment.
7271
7272         fclose tests: EBADF tests.
7273         * tests/test-fclose.c (main): Add tests for EBADF.
7274
7275         fflush tests: EBADF tests.
7276         * tests/test-fflush.c: Include errno.h, macros.h.
7277         (main): Add tests for EBADF.
7278
7279         ftello tests: EBADF tests.
7280         * tests/test-ftello4.sh: New file.
7281         * tests/test-ftello4.c: New file.
7282         * modules/ftello-tests (Files): Add them.
7283         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
7284
7285         fseeko tests: EBADF tests.
7286         * tests/test-fseeko4.sh: New file.
7287         * tests/test-fseeko4.c: New file.
7288         * modules/fseeko-tests (Files): Add them.
7289         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
7290
7291         Tests for function fputc().
7292         * modules/fputc-tests: New file.
7293         * tests/test-fputc.c: New file.
7294         * modules/stdio-tests (Depends-on): Add fputc-tests.
7295
7296         Tests for function fgetc().
7297         * modules/fgetc-tests: New file.
7298         * tests/test-fgetc.c: New file.
7299         * modules/stdio-tests (Depends-on): Add fgetc-tests.
7300
7301         Tests for function fdopen().
7302         * modules/fdopen-tests: New file.
7303         * tests/test-fdopen.c: New file.
7304         * modules/stdio-tests (Depends-on): Add fdopen-tests.
7305
7306         Tests for module 'vdprintf'.
7307         * modules/vdprintf-tests: New file.
7308         * tests/test-vdprintf.c: New file.
7309
7310         Tests for module 'dprintf'.
7311         * modules/dprintf-tests: New file.
7312         * tests/test-dprintf.c: New file.
7313
7314 2011-09-20  Bruno Haible  <bruno@clisp.org>
7315
7316         Tests for module 'ioctl'.
7317         * modules/ioctl-tests: New file.
7318         * tests/test-ioctl.c: New file.
7319
7320 2011-09-20  Bruno Haible  <bruno@clisp.org>
7321
7322         fcntl tests: EBADF tests.
7323         * tests/test-fcntl.c (main): Add more tests for EBADF.
7324
7325 2011-09-20  Bruno Haible  <bruno@clisp.org>
7326
7327         utimensat tests: EBADF tests.
7328         * tests/test-utimensat.c (main): Add tests for EBADF.
7329
7330         renameat tests: EBADF tests.
7331         * tests/test-renameat.c (main): Add tests for EBADF.
7332
7333         mkfifoat tests: EBADF tests.
7334         * tests/test-mkfifoat.c (main): Add tests for EBADF.
7335
7336         readlinkat tests: EBADF tests.
7337         * tests/test-readlinkat.c (main): Add tests for EBADF.
7338
7339         symlinkat tests: EBADF tests.
7340         * tests/test-symlinkat.c (main): Add tests for EBADF.
7341
7342         linkat tests: EBADF tests.
7343         * tests/test-linkat.c (main): Add tests for EBADF.
7344
7345         Tests for module 'faccessat'.
7346         * modules/faccessat-tests: New file.
7347         * tests/test-faccessat.c: New file.
7348
7349         fdopendir tests: EBADF tests.
7350         * tests/test-fdopendir.c (main): Add more tests for EBADF.
7351
7352         openat tests: EBADF tests.
7353         * tests/test-fchownat.c (main): Add tests for EBADF.
7354         * tests/test-fstatat.c (main): Likewise.
7355         * tests/test-mkdirat.c (main): Likewise.
7356         * tests/test-openat.c (main): Likewise.
7357         * tests/test-unlinkat.c (main): Likewise.
7358         * tests/test-fchmodat.c: New file.
7359         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
7360         (Makefile.am): Also run 'test-fchmodat'.
7361
7362 2011-09-20  Bruno Haible  <bruno@clisp.org>
7363
7364         utimens, futimens, fdutimensat tests: EBADF tests.
7365         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
7366
7367         Tests for function fstat().
7368         * modules/fstat-tests: New file.
7369         * tests/test-fstat.c: New file.
7370         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
7371
7372 2011-09-20  Bruno Haible  <bruno@clisp.org>
7373
7374         test-ttyname_r tests: EBADF tests.
7375         * tests/test-ttyname_r.c (main): Add tests for EBADF.
7376
7377         Tests for module 'isatty'.
7378         * modules/isatty-tests: New file.
7379         * tests/test-isatty.c: New file.
7380
7381         Tests for module 'write'.
7382         * modules/write-tests: New file.
7383         * tests/test-write.c: New file.
7384
7385         Tests for module 'read'.
7386         * modules/read-tests: New file.
7387         * tests/test-read.c: New file.
7388
7389         pwrite tests: EBADF tests.
7390         * tests/test-pwrite.c (main): Add tests for EBADF.
7391
7392         pread tests: EBADF tests.
7393         * tests/test-pread.c (main): Add tests for EBADF.
7394
7395         lseek tests: EBADF tests.
7396         * tests/test-lseek.c (main): Add more tests for EBADF.
7397
7398         Tests for module 'ftruncate'.
7399         * modules/ftruncate-tests: New file.
7400         * tests/test-ftruncate.sh: New file.
7401         * tests/test-ftruncate.c: New file.
7402
7403         fsync tests: EBADF tests.
7404         * tests/test-fsync.c (main): Add more tests for EBADF.
7405
7406         fdatasync tests: EBADF tests.
7407         * tests/test-fdatasync.c (main): Add more tests for EBADF.
7408
7409         Tests for module 'fchown'.
7410         * modules/fchown-tests: New file.
7411         * tests/test-fchown.c: New file.
7412
7413         Tests for module 'fchmod'.
7414         * modules/fchmod-tests: New file.
7415         * tests/test-fchmod.c: New file.
7416
7417         fchdir tests: EBADF tests.
7418         * tests/test-fchdir.c (main): Add more tests for EBADF.
7419
7420         dup2 tests: EBADF tests.
7421         * tests/test-dup2.c (main): Add more tests for EBADF.
7422
7423         Tests for module 'dup'.
7424         * modules/dup-tests: New file.
7425         * tests/test-dup.c: New file.
7426
7427         Tests for module 'close'.
7428         * modules/close-tests: New file.
7429         * tests/test-close.c: New file.
7430
7431 2011-09-20  Bruno Haible  <bruno@clisp.org>
7432
7433         Tests for module 'shutdown'.
7434         * modules/shutdown-tests: New file.
7435         * tests/test-shutdown.c: New file.
7436
7437         Tests for module 'setsockopt'.
7438         * modules/setsockopt-tests: New file.
7439         * tests/test-setsockopt.c: New file.
7440
7441         Tests for module 'sendto'.
7442         * modules/sendto-tests: New file.
7443         * tests/test-sendto.c: New file.
7444
7445         Tests for module 'send'.
7446         * modules/send-tests: New file.
7447         * tests/test-send.c: New file.
7448
7449         Tests for module 'recvfrom'.
7450         * modules/recvfrom-tests: New file.
7451         * tests/test-recvfrom.c: New file.
7452
7453         Tests for module 'recv'.
7454         * modules/recv-tests: New file.
7455         * tests/test-recv.c: New file.
7456
7457         Tests for module 'listen'.
7458         * modules/listen-tests: New file.
7459         * tests/test-listen.c: New file.
7460
7461         Tests for module 'getsockopt'.
7462         * modules/getsockopt-tests: New file.
7463         * tests/test-getsockopt.c: New file.
7464
7465         Tests for module 'getsockname'.
7466         * modules/getsockname-tests: New file.
7467         * tests/test-getsockname.c: New file.
7468
7469         Tests for module 'getpeername'.
7470         * modules/getpeername-tests: New file.
7471         * tests/test-getpeername.c: New file.
7472
7473         Tests for module 'connect'.
7474         * modules/connect-tests: New file.
7475         * tests/test-connect.c: New file.
7476
7477         Tests for module 'bind'.
7478         * modules/bind-tests: New file.
7479         * tests/test-bind.c: New file.
7480
7481         accept4 tests: Fix for native Windows.
7482         * tests/test-accept4.c: Include sockets.h.
7483         (main): Invoke gl_sockets_startup.
7484         * modules/accept4-tests (Depends-on): Add sockets.
7485
7486         accept tests: Fix for native Windows.
7487         * tests/test-accept.c: Include sockets.h.
7488         (main): Invoke gl_sockets_startup.
7489         * modules/accept-tests (Depends-on): Add sockets.
7490
7491 2011-09-19  Bruno Haible  <bruno@clisp.org>
7492
7493         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
7494         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
7495         do...while(0).
7496         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
7497         Suggested by Paul Eggert.
7498
7499 2011-09-19  Bruno Haible  <bruno@clisp.org>
7500
7501         sched: Ensure pid_t is defined.
7502         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
7503         not define pid_t.
7504         * lib/sched.in.h: Include <sys/types.h>.
7505         * doc/posix-headers/sched.texi: Mention the pid_t problem.
7506         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7507
7508 2011-09-19  Bruno Haible  <bruno@clisp.org>
7509
7510         msvc-inval: Ensure the entire expansion is a single statement.
7511         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
7512         of braces.
7513
7514 2011-09-19  Jim Meyering  <meyering@redhat.com>
7515
7516         tests: use printf, not echo in init.sh's warn_ function
7517         * tests/init.sh (warn_): Use printf, not echo.  The latter would
7518         misbehave when given strings containing a backslash or starting
7519         with e.g., -n.  James Youngman suggested setting IFS.
7520
7521 2011-09-19  Eric Blake  <eblake@redhat.com>
7522
7523         futimens: enhance test
7524         * tests/test-futimens.h (test_futimens): Also check for EBADF on
7525         closed non-negative fd.
7526
7527         date: accept 'hence' as opposite of 'ago'
7528         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
7529         * tests/test-parse-datetime.c (main): Enhance test.
7530         Suggested by Jesse Wilson.
7531
7532 2011-09-19  Jim Meyering  <meyering@redhat.com>
7533
7534         getcwd: don't fail in a deep directory on a system without openat
7535         Before this change, getcwd would fail when called from a directory
7536         of depth PATH_MAX / 3 or greater.  That was due to the fact that
7537         the non-openat implementation used "..", "../..", "../../..", etc.
7538         to access ancestor directories.  With too many, that string would
7539         be longer than PATH_MAX.
7540         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
7541         using gnulib's openat replacement.
7542         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
7543         we're using the replacement function.
7544
7545 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
7546
7547         maint.mk: avoid warnings from perl about missing files
7548         * top/maint.mk (def_sym_regex): Ignore files listed in
7549         $(gl_other_headers_) that do not exist, say because a project
7550         does not use a corresponding module.
7551
7552 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
7553
7554         stat: use pathmax.h only if needed
7555         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
7556         This is better for Emacs, which does not have a mingw port and
7557         therefore can avoid the pathmax module.
7558
7559         utimens: remove dependency on dup2
7560         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
7561         to work around the Linux kernel bug.
7562         * modules/utimens (Depends-on): Remove dup2.
7563
7564 2011-09-18  Bruno Haible  <bruno@clisp.org>
7565
7566         inet_ntop, inet_pton: Look for it also in libresolv.
7567         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
7568         libnsl, search for it in libresolv.
7569         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
7570         Needed on Solaris 7.
7571
7572 2011-09-18  Bruno Haible  <bruno@clisp.org>
7573
7574         accept, accept4 tests: Avoid link error on Solaris.
7575         * modules/accept-tests (Makefile.am): Link test-accept against
7576         $(LIBSOCKET).
7577         * modules/accept4-tests (Makefile.am): Link test-accept4 against
7578         $(LIBSOCKET).
7579
7580         accept4: Avoid link error on Solaris.
7581         * modules/accept4 (Link): New section.
7582
7583         socket functions: Avoid link errors on Solaris.
7584         * modules/accept (Depends-on): Add socketlib.
7585         (Link): New section.
7586         * modules/bind (Depends-on): Add socketlib.
7587         (Link): New section.
7588         * modules/connect (Depends-on): Add socketlib.
7589         (Link): New section.
7590         * modules/getpeername (Depends-on): Add socketlib.
7591         (Link): New section.
7592         * modules/getsockname (Depends-on): Add socketlib.
7593         (Link): New section.
7594         * modules/getsockopt (Depends-on): Add socketlib.
7595         (Link): New section.
7596         * modules/listen (Depends-on): Add socketlib.
7597         (Link): New section.
7598         * modules/recv (Depends-on): Add socketlib.
7599         (Link): New section.
7600         * modules/recvfrom (Depends-on): Add socketlib.
7601         (Link): New section.
7602         * modules/send (Depends-on): Add socketlib.
7603         (Link): New section.
7604         * modules/sendto (Depends-on): Add socketlib.
7605         (Link): New section.
7606         * modules/setsockopt (Depends-on): Add socketlib.
7607         (Link): New section.
7608         * modules/shutdown (Depends-on): Add socketlib.
7609         (Link): New section.
7610         * modules/socket (Depends-on): Add socketlib.
7611         (Link): New section.
7612
7613 2011-09-18  Bruno Haible  <bruno@clisp.org>
7614
7615         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
7616         * tests/test-ptsname.c (main): Terminate the test if it takes longer
7617         than 5 seconds.
7618         * modules/ptsname-tests (configure.ac): Test for alarm.
7619
7620 2011-09-18  Bruno Haible  <bruno@clisp.org>
7621
7622         posix_spawn_file_actions_add*: Fix module dependencies.
7623         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
7624         posix_spawn_file_actions_init.
7625         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
7626         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
7627
7628 2011-09-18  Bruno Haible  <bruno@clisp.org>
7629
7630         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
7631         * tests/test-rename.h (test_rename): Allow error code EEXIST.
7632         * tests/test-renameat.c (main): Likewise.
7633
7634 2011-09-18  Bruno Haible  <bruno@clisp.org>
7635
7636         Tests for module 'accept4'.
7637         * modules/accept4-tests: New file.
7638         * tests/test-accept4.c: New file.
7639
7640 2011-09-18  Bruno Haible  <bruno@clisp.org>
7641
7642         Tests for module 'accept'.
7643         * modules/accept-tests: New file.
7644         * tests/test-accept.c: New file.
7645
7646 2011-09-18  Bruno Haible  <bruno@clisp.org>
7647
7648         dup2: Support for MSVC.
7649         * lib/dup2.c: Include msvc-inval.h.
7650         (rpl_dup2): Handle invalid parameter notifications during dup2 and
7651         _get_osfhandle calls.
7652         * modules/dup2 (Depends-on): Add msvc-inval.
7653         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
7654
7655         New module 'msvc-inval'.
7656         * lib/msvc-inval.h: New file.
7657         * lib/msvc-inval.c: New file.
7658         * m4/msvc-inval.m4: New file.
7659         * modules/msvc-inval: New file.
7660
7661 2011-09-17  Bruno Haible  <bruno@clisp.org>
7662
7663         Tests for module 'pclose'.
7664         * modules/pclose-tests: New file.
7665
7666         New module 'pclose'.
7667         * lib/stdio.in.h (pclose): New declaration.
7668         * lib/pclose.c: New file.
7669         * m4/pclose.m4: New file.
7670         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
7671         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
7672         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
7673         * modules/pclose: New file.
7674         * modules/popen-tests (Depends-on): Add pclose.
7675         * modules/popen-safer-tests (Depends-on): Likewise.
7676         * doc/posix-functions/pclose.texi: Mention the new module.
7677
7678 2011-09-17  Bruno Haible  <bruno@clisp.org>
7679
7680         popen: Support for MSVC.
7681         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
7682         * lib/popen.c (popen): Provide alternate definition for native Windows.
7683         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
7684         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
7685         * modules/popen (Depends-on, configure.ac): Update condition.
7686         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
7687         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
7688         fixed.
7689
7690 2011-09-17  Bruno Haible  <bruno@clisp.org>
7691
7692         isnanl, isnand, isnanf: Work around MSVC bug.
7693         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
7694
7695 2011-09-17  Bruno Haible  <bruno@clisp.org>
7696
7697         sys_socket tests: Fix recent mistake.
7698         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
7699
7700 2011-09-17  Bruno Haible  <bruno@clisp.org>
7701
7702         putenv: Support for MSVC.
7703         * modules/putenv (Depends-on): Add environ.
7704         * lib/putenv.c (environ): Disable declaration.
7705         * lib/unistd.in.h: Update comment.
7706
7707 2011-09-17  Bruno Haible  <bruno@clisp.org>
7708
7709         math: Avoid macro redefinition warnings on MSVC.
7710         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
7711         Undefine before redefining.
7712
7713 2011-09-17  Bruno Haible  <bruno@clisp.org>
7714
7715         doc: Mention functions which are declared as macros.
7716         * doc/posix-functions/*[fl].texi: Mention that some functions are
7717         defined as macros with arguments only.
7718
7719 2011-09-17  Bruno Haible  <bruno@clisp.org>
7720
7721         Add dependencies to new dirent related modules.
7722         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
7723         * modules/fts (Depends-on): Likewise.
7724         * modules/glob (Depends-on): Likewise.
7725         * modules/savedir (Depends-on): Likewise.
7726         * modules/scandir (Depends-on): Likewise.
7727         * modules/dirent-safer (Depends-on): Add opendir, closedir.
7728         * modules/fdopendir (Depends-on): Add opendir.
7729
7730 2011-09-17  Bruno Haible  <bruno@clisp.org>
7731
7732         inet_pton: Support for MSVC on Windows Vista or newer.
7733         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
7734         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
7735         HAVE_DECL_INET_PTON is defined.
7736         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
7737         On platforms with <winsock2.h>, test whether inet_pton is declared in
7738         <ws2tcpip.h>. If so, arrange to replace it.
7739         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
7740         REPLACE_INET_PTON.
7741         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
7742         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
7743         (Depends-on, configure.ac): Update condition.
7744         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
7745
7746 2011-09-17  Bruno Haible  <bruno@clisp.org>
7747
7748         inet_ntop: Support for MSVC on Windows Vista or newer.
7749         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
7750         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
7751         HAVE_DECL_INET_NTOP is defined.
7752         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
7753         On platforms with <winsock2.h>, test whether inet_ntop is declared in
7754         <ws2tcpip.h>. If so, arrange to replace it.
7755         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
7756         REPLACE_INET_NTOP.
7757         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
7758         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
7759         (Depends-on, configure.ac): Update condition.
7760         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
7761
7762 2011-09-16  Eric Blake  <eblake@redhat.com>
7763
7764         test-fsync: yet another enhancement
7765         * tests/test-fsync.c (main): Also test behavior on read-only text
7766         file.
7767
7768 2011-09-16  Bruno Haible  <bruno@clisp.org>
7769
7770         Enhance fsync, fdatasync tests.
7771         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
7772         * tests/test-fdatasync.c (main): Likewise.
7773
7774 2011-09-16  Bruno Haible  <bruno@clisp.org>
7775
7776         Support for MSVC compiler: Ensure mode_t gets defined.
7777         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
7778         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
7779         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
7780         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
7781         * tests/test-fcntl-h.c: Check that mode_t is defined.
7782         * tests/test-sys_stat.c: Likewise.
7783         * tests/test-sys_types.c: Likewise.
7784         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
7785         * doc/posix-headers/sys_stat.texi: Likewise.
7786         * doc/posix-headers/sys_types.texi: Likewise.
7787
7788 2011-09-16  Bruno Haible  <bruno@clisp.org>
7789
7790         sys_stat: Support for MSVC.
7791         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
7792         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
7793         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
7794         MSVC.
7795
7796 2011-09-16  Bruno Haible  <bruno@clisp.org>
7797
7798         Support for MSVC compiler: Ensure off_t gets defined.
7799         * lib/unistd.in.h: Include <sys/types.h>.
7800         * tests/test-fcntl-h.c: Check that off_t is defined.
7801         * tests/test-sys_stat.c: Likewise.
7802         * tests/test-sys_types.c: Likewise.
7803
7804 2011-09-16  Eric Blake  <eblake@redhat.com>
7805
7806         fdatasync: port to Solaris
7807         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
7808         * modules/fdatasync (Link): Document it.
7809         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
7810
7811         fdatasync: port to MacOS X 10.7
7812         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
7813         declared.
7814         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
7815         * modules/unistd (Makefile.am): Substitute it.
7816         * lib/unistd.in.h (fdatasync): Declare on MacOS.
7817         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
7818
7819         fdatasync: minor improvements
7820         * modules/fdatasync (Depends-on): Add condition for fsync.
7821         * lib/fdatasync.c (fdatasync): Add comment.
7822         * tests/test-unistd-c++.cc: Test fdatasync.
7823
7824         unistd: update refs to newer POSIX
7825         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
7826         Suggested by Bruno Haible.
7827
7828         fdatasync: new module
7829         * modules/fsync (Description): Document difference to fdatasync.
7830         * modules/fdatasync: New module.
7831         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
7832         * lib/fdatasync.c (fdatasync): Likewise.
7833         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
7834         defaults.
7835         * modules/unistd (Makefile.am): Set witnesses.
7836         * lib/unistd.in.h (fdatasync): Declare.
7837         * MODULES.html.sh: Document it.
7838         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
7839         * modules/fdatasync-tests: New test.
7840         * tests/test-fdatasync.c: Likewise.
7841
7842 2011-09-16  Eric Blake  <eblake@redhat.com>
7843
7844         test-fsync: enhance tests
7845         * modules/fsync-tests (Depends-on): Add errno, for mingw.
7846         * tests/test-fsync.c (main): Enhance test.
7847
7848 2011-09-15  Bruno Haible  <bruno@clisp.org>
7849
7850         Support for MSVC compiler: Ensure ssize_t gets defined.
7851         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
7852         * doc/posix-headers/stdio.texi: Likewise.
7853         * modules/stdio (Depends-on): Add ssize_t.
7854         * modules/sys_socket (Depends-on): Likewise.
7855         * modules/sys_types (Depends-on): Likewise.
7856         * modules/sys_uio (Depends-on): Likewise.
7857         * modules/unistd (Depends-on): Likewise.
7858         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
7859         * tests/test-sys_types.c: Check that ssize_t is defined.
7860
7861 2011-09-14  Bruno Haible  <bruno@clisp.org>
7862
7863         Avoid using #, the m4 comment starter character, near brackets.
7864         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
7865         delimiter character in sed expressions.
7866         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
7867         Suggested by Eric Blake.
7868
7869         Properly quote AC_CHECK_DECLS' 4th argument.
7870         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
7871         argument.
7872         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
7873         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
7874         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
7875         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
7876         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
7877         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
7878         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
7879         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
7880         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
7881         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
7882         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
7883         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
7884         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
7885         * m4/isinf.m4 (gl_ISINF): Likewise.
7886         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
7887         * m4/readutmp.m4 (gl_READUTMP): Likewise.
7888         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
7889         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
7890         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
7891         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
7892         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
7893         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
7894         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
7895         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
7896         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
7897         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
7898         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
7899         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
7900         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
7901         Reported by Eric Blake.
7902
7903         Properly quote AC_CHECK_DECL's 4th argument.
7904         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
7905         argument.
7906         * m4/argp.m4 (gl_ARGP): Likewise.
7907         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
7908         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
7909         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
7910         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
7911         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
7912         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
7913         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
7914         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
7915         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
7916         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
7917         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
7918         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
7919         Reported by Eric Blake.
7920
7921 2011-09-14  Eric Blake  <eblake@redhat.com>
7922
7923         opendir: avoid compile warning
7924         * lib/opendir.c (includes): Always include errno.h.
7925         Reported by Tatsuro MATSUOKA.
7926
7927 2011-09-14  Jim Meyering  <meyering@redhat.com>
7928
7929         maint.mk: sc_tight_scope: propagate failure from sub-make
7930         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
7931         Reported by Martin von Gagern.
7932
7933 2011-09-13  Bruno Haible  <bruno@clisp.org>
7934
7935         tempname: Support for MSVC.
7936         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
7937         MSVC.
7938         * modules/tempname (Depends-on): Add fcntl-h.
7939
7940 2011-09-13  Bruno Haible  <bruno@clisp.org>
7941
7942         sys_time: Support for MSVC.
7943         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
7944         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
7945         include <winsock2.h>.
7946         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
7947         function declarations that collide with POSIX.
7948         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
7949         (Makefile.am): Substitute HAVE_WINSOCK2_H.
7950
7951 2011-09-13  Bruno Haible  <bruno@clisp.org>
7952
7953         stat: Support for MSVC.
7954         * lib/stat.c: Include pathmax.h.
7955         * modules/stat (Depends-on): Add pathmax.
7956
7957         pathmax: Support for native Windows.
7958         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
7959
7960 2011-09-12  Bruno Haible  <bruno@clisp.org>
7961
7962         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
7963         * lib/dirent.in.h (struct dirent): New type.
7964         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
7965         DT_WHT): New macros.
7966         (DIR): New type.
7967         (opendir, closedir): Declare only if the module 'opendir' is enabled.
7968         (readdir, rewinddir): New declarations.
7969         * lib/dirent-private.h: New file.
7970         * lib/opendir.c: New file.
7971         * lib/readdir.c: New file.
7972         * lib/rewinddir.c: New file.
7973         * lib/closedir.c: New file.
7974         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
7975         * m4/opendir.m4: New file.
7976         * m4/readdir.m4: New file.
7977         * m4/rewinddir.m4: New file.
7978         * m4/closedir.m4: New file.
7979         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
7980         REPLACE_CLOSEDIR here.
7981         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
7982         readdir, rewinddir are declared.
7983         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
7984         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
7985         HAVE_REWINDDIR, HAVE_CLOSEDIR.
7986         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
7987         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
7988         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
7989         * modules/opendir: New file.
7990         * modules/readdir: New file.
7991         * modules/rewinddir: New file.
7992         * modules/closedir: New file.
7993         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
7994         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
7995         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
7996         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
7997         * NEWS: Mention the 'fchdir' change.
7998
7999 2011-09-11  Bruno Haible  <bruno@clisp.org>
8000
8001         asm-underscore.m4: Support for MSVC.
8002         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
8003         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
8004
8005 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
8006
8007         Doc about crypt functions.
8008         * doc/posix-functions/crypt.texi: Expand range of glibc versions
8009         needing for _GNU_SOURCE to get crypt.
8010         * doc/posix-functions/encrypt.texi: Likewise.
8011         * doc/posix-functions/setkey.texi: Likewise.
8012
8013 2011-09-11  Bruno Haible  <bruno@clisp.org>
8014
8015         doc: Update regarding MSVC 9.
8016         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
8017         tested".
8018         * doc/posix-functions/*.texi: Update with info about MSVC 9.
8019         * doc/posix-headers/*.texi: Likewise.
8020         * doc/pastposix-functions/*.texi: Likewise.
8021         * doc/glibc-functions/*.texi: Likewise.
8022         * doc/glibc-headers/*.texi: Likewise.
8023
8024 2011-09-11  Bruno Haible  <bruno@clisp.org>
8025
8026         unistd et al.: Don't assume <unistd.h> exists.
8027         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
8028         does not exist.
8029         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
8030         exist. But include <stdlib.h>.
8031         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
8032         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
8033         symlink() does not exist.
8034         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
8035         include <io.h> instead.
8036         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
8037         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
8038         include <direct.h> instead.
8039         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
8040         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
8041         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
8042         <io.h> instead.
8043         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
8044         correctly if the system does not have hard links.
8045         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
8046         <direct.h> instead.
8047         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
8048         it when looking for function declarations.
8049         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
8050         <direct.h> and <io.h> instead.
8051         * doc/posix-headers/unistd.texi: More details about MSVC problem.
8052
8053 2011-09-11  Bruno Haible  <bruno@clisp.org>
8054
8055         strcase: Support for MSVC.
8056         * modules/strcase (Status, Notice): Remove obsoletion mark.
8057         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
8058         * doc/posix-functions/strncasecmp.texi: Likewise.
8059
8060         strings: Don't assume <strings.h> exists.
8061         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
8062         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
8063         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
8064         * doc/posix-headers/strings.texi: Mention the MSVC problem.
8065
8066 2011-09-11  Bruno Haible  <bruno@clisp.org>
8067
8068         dirent: Don't assume <dirent.h> exists.
8069         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
8070         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
8071         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
8072         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
8073
8074 2011-09-11  Bruno Haible  <bruno@clisp.org>
8075
8076         Fix wint_t on MSVC.
8077         * lib/wchar.in.h (wint_t): On MSVC, override it.
8078         * lib/wctype.in.h (wint_t): Likewise.
8079         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
8080         MSVC.
8081         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
8082         * doc/posix-headers/wctype.texi: Likewise.
8083
8084 2011-09-11  Bruno Haible  <bruno@clisp.org>
8085
8086         sys_types: Fix typo.
8087         * lib/sys_types.in.h: Fix typo in comment.
8088         Reported by Paul Eggert.
8089
8090         Support for MSVC compiler: Ensure size_t gets defined.
8091         * modules/strings (Depends-on): Add 'sys_types'.
8092         * modules/sys_uio (Depends-on): Likewise.
8093         * lib/sys_uio.in.h: Update comment.
8094
8095         C++ tests for module 'sys_types'.
8096         * modules/sys_types-c++-tests: New file.
8097         * tests/test-sys_types-c++.cc: New file.
8098
8099         Tests for module 'sys_types'.
8100         * modules/sys_types-tests: New file.
8101         * tests/test-sys_types.c: New file.
8102
8103         New module 'sys_types'.
8104         * lib/sys_types.in.h: New file.
8105         * m4/sys_types_h.m4: New file.
8106         * modules/sys_types: New file.
8107         * doc/posix-headers/sys_types.texi: Mention the new module and the
8108         size_t problem on MSVC 9.
8109
8110 2011-09-11  Bruno Haible  <bruno@clisp.org>
8111
8112         Support for MSVC compiler: Avoid division by a literal 0.
8113         * lib/math.in.h (NAN): Define through a function call also on MSVC.
8114         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
8115         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
8116         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
8117         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
8118         * tests/infinity.h: New file.
8119         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
8120         on MSVC.
8121         * tests/test-ceilf1.c: Include infinity.h.
8122         (main): Use Infinityf.
8123         * tests/test-ceil1.c: Include infinity.h.
8124         (main): Use Infinityd.
8125         * tests/test-ceill.c: Include infinity.h.
8126         (main): Use Infinityl.
8127         * tests/test-dprintf-posix.c: Include infinity.h.
8128         (test_function): Use Infinityd.
8129         * tests/test-floorf1.c: Include infinity.h.
8130         (main): Use Infinityf.
8131         * tests/test-floor1.c: Include infinity.h.
8132         (main): Use Infinityd.
8133         * tests/test-floorl.c: Include infinity.h.
8134         (main): Use Infinityl.
8135         * tests/test-fprintf-posix.c: Include infinity.h.
8136         (test_function): Use Infinityd.
8137         * tests/test-frexp.c: Include infinity.h.
8138         (main): Use Infinityd.
8139         * tests/test-frexpl.c: Include infinity.h.
8140         (main): Use Infinityl.
8141         * tests/test-isfinite.c: Include infinity.h.
8142         (test_isfinitef): Use Infinityf.
8143         (test_isfinited): Use Infinityd.
8144         (test_isfinitel): Use Infinityl.
8145         * tests/test-isinf.c: Include infinity.h.
8146         (test_isinff): Use Infinityf.
8147         (test_isinfd): Use Infinityd.
8148         (test_isinfl): Use Infinityl.
8149         * tests/test-isnan.c: Include infinity.h.
8150         (test_float): Use Infinityf.
8151         (test_double): Use Infinityd.
8152         (test_long_double): Use Infinityl.
8153         * tests/test-isnanf.h: Include infinity.h.
8154         (main): Use Infinityf.
8155         * tests/test-isnand.h: Include infinity.h.
8156         (main): Use Infinityd.
8157         * tests/test-isnanl.h: Include infinity.h.
8158         (main): Use Infinityl.
8159         * tests/test-ldexpl.c: Include infinity.h.
8160         (main): Use Infinityl.
8161         * tests/test-printf-posix.h: Include infinity.h.
8162         (test_function): Use Infinityd.
8163         * tests/test-roundf1.c: Include infinity.h.
8164         (main): Use Infinityf.
8165         * tests/test-round1.c: Include infinity.h.
8166         (main): Use Infinityd.
8167         * tests/test-roundl.c: Include infinity.h.
8168         (main): Use Infinityl.
8169         * tests/test-signbit.c: Include infinity.h.
8170         (test_signbitf): Use Infinityf.
8171         (test_signbitd): Use Infinityd.
8172         (test_signbitl): Use Infinityl.
8173         * tests/test-snprintf-posix.h: Include infinity.h.
8174         (test_function): Use Infinityd, Infinityl.
8175         * tests/test-sprintf-posix.h: Include infinity.h.
8176         (test_function): Use Infinityd, Infinityl.
8177         * tests/test-truncf1.c: Include infinity.h.
8178         (main): Use Infinityf.
8179         * tests/test-trunc1.c: Include infinity.h.
8180         (main): Use Infinityd.
8181         * tests/test-truncl.c: Include infinity.h.
8182         (main): Use Infinityl.
8183         * tests/test-vasnprintf-posix.c: Include infinity.h.
8184         (test_function): Use Infinityd, Infinityl.
8185         * tests/test-vasprintf-posix.c: Include infinity.h.
8186         (test_function): Use Infinityd, Infinityl.
8187         * modules/ceilf-tests (Files): Add tests/infinity.h.
8188         * modules/ceil-tests (Files): Likewise.
8189         * modules/ceill-tests (Files): Likewise.
8190         * modules/dprintf-posix-tests (Files): Likewise.
8191         * modules/floorf-tests (Files): Likewise.
8192         * modules/floor-tests (Files): Likewise.
8193         * modules/floorl-tests (Files): Likewise.
8194         * modules/fprintf-posix-tests (Files): Likewise.
8195         * modules/frexp-tests (Files): Likewise.
8196         * modules/frexp-nolibm-tests (Files): Likewise.
8197         * modules/frexpl-tests (Files): Likewise.
8198         * modules/frexpl-nolibm-tests (Files): Likewise.
8199         * modules/isfinite-tests (Files): Likewise.
8200         * modules/isinf-tests (Files): Likewise.
8201         * modules/isnan-tests (Files): Likewise.
8202         * modules/isnanf-tests (Files): Likewise.
8203         * modules/isnanf-nolibm-tests (Files): Likewise.
8204         * modules/isnand-tests (Files): Likewise.
8205         * modules/isnand-nolibm-tests (Files): Likewise.
8206         * modules/isnanl-tests (Files): Likewise.
8207         * modules/isnanl-nolibm-tests (Files): Likewise.
8208         * modules/ldexpl-tests (Files): Likewise.
8209         * modules/printf-posix-tests (Files): Likewise.
8210         * modules/roundf-tests (Files): Likewise.
8211         * modules/round-tests (Files): Likewise.
8212         * modules/roundl-tests (Files): Likewise.
8213         * modules/signbit-tests (Files): Likewise.
8214         * modules/snprintf-posix-tests (Files): Likewise.
8215         * modules/sprintf-posix-tests (Files): Likewise.
8216         * modules/truncf-tests (Files): Likewise.
8217         * modules/trunc-tests (Files): Likewise.
8218         * modules/truncl-tests (Files): Likewise.
8219         * modules/vasnprintf-posix-tests (Files): Likewise.
8220         * modules/vasprintf-posix-tests (Files): Likewise.
8221         * modules/vdprintf-posix-tests (Files): Likewise.
8222         * modules/vfprintf-posix-tests (Files): Likewise.
8223         * modules/vprintf-posix-tests (Files): Likewise.
8224         * modules/vsnprintf-posix-tests (Files): Likewise.
8225         * modules/vsprintf-posix-tests (Files): Likewise.
8226         * modules/xprintf-posix-tests (Files): Likewise.
8227
8228 2011-09-11  Bruno Haible  <bruno@clisp.org>
8229
8230         Ensure pid_t gets defined.
8231         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
8232         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
8233         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
8234         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
8235         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
8236         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
8237         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
8238         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
8239         * tests/test-fcntl-h.c: Check that pid_t is defined.
8240         * tests/test-sched.c: Likewise.
8241         * tests/test-termios.c: Likewise.
8242         * tests/test-time.c: Likewise.
8243         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
8244         * doc/posix-headers/signal.texi: Likewise.
8245         * doc/posix-headers/sys_types.texi: Likewise.
8246         * doc/posix-headers/time.texi: Likewise.
8247
8248 2011-09-11  Bruno Haible  <bruno@clisp.org>
8249
8250         acl: Fix compilation on Solaris 10 (older version).
8251         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
8252         of ACE_EVERYONE.
8253         * lib/set-mode-acl.c (qset_acl): Likewise.
8254         Reported by Christian Jullien <eligis@orange.fr>.
8255
8256 2011-09-10  Bruno Haible  <bruno@clisp.org>
8257
8258         iconv, unsetenv: Add support for MSVC compiler.
8259         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
8260         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
8261
8262 2011-09-10  Bruno Haible  <bruno@clisp.org>
8263
8264         *printf: Add support for MSVC compiler.
8265         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
8266         handles the exception caused by the %n directive. When cross-compiling,
8267         guess no on native Windows.
8268         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
8269         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
8270         emulate it through vsnprintf.
8271         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
8272         * doc/posix-functions/dprintf.texi: Update documentation regarding
8273         MSVC 9.
8274         * doc/posix-functions/fprintf.texi: Likewise.
8275         * doc/posix-functions/printf.texi: Likewise.
8276         * doc/posix-functions/snprintf.texi: Likewise.
8277         * doc/posix-functions/sprintf.texi: Likewise.
8278         * doc/posix-functions/swprintf.texi: Likewise.
8279         * doc/posix-functions/vdprintf.texi: Likewise.
8280         * doc/posix-functions/vfprintf.texi: Likewise.
8281         * doc/posix-functions/vprintf.texi: Likewise.
8282         * doc/posix-functions/vsnprintf.texi: Likewise.
8283         * doc/posix-functions/vsprintf.texi: Likewise.
8284         * doc/glibc-functions/asprintf.texi: Likewise.
8285         * doc/glibc-functions/obstack_printf.texi: Likewise.
8286         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
8287         * doc/glibc-functions/vasprintf.texi: Likewise.
8288
8289 2011-09-10  Bruno Haible  <bruno@clisp.org>
8290
8291         nocrash: Add support for native Windows.
8292         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
8293
8294 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
8295             Bruno Haible  <bruno@clisp.org>
8296
8297         absolute-header, include-next: Add support for MSVC compiler.
8298         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
8299         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
8300         directory separator in #line directives.
8301         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
8302         recognize also backslash as directory separator in #line directives.
8303
8304 2011-09-08  Jim Meyering  <meyering@redhat.com>
8305
8306         maint.mk: mark the post-release commit log with "maint: " prefix
8307         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
8308         one-line commit-log summary.
8309
8310 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
8311             Bruno Haible  <bruno@clisp.org>
8312
8313         Doc about crypt functions.
8314         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
8315         systems.
8316         * doc/posix-functions/encrypt.texi: Likewise.
8317         * doc/posix-functions/setkey.texi: Likewise.
8318
8319 2011-09-08  Simon Josefsson  <simon@josefsson.org>
8320
8321         * lib/gc.h: Fix copyright header.
8322
8323 2011-09-07  Bruno Haible  <bruno@clisp.org>
8324
8325         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
8326         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
8327         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
8328
8329 2011-09-07  Bruno Haible  <bruno@clisp.org>
8330
8331         openat: Work around compilation error with OSF/1 5.1 DTK cc.
8332         * lib/fopen.c: Use different syntax for include of <stdio.h>.
8333         * lib/freopen.c: Likewise.
8334         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
8335         * lib/lstat.c: Likewise.
8336         * lib/stat.c: Likewise.
8337         * lib/open.c: Use different syntax for include of <fcntl.h>.
8338         * lib/openat.c: Include fcntl.h again, explicitly.
8339
8340 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
8341
8342         parse-datetime: document the newly accepted format
8343         * doc/parse-datetime.texi (Combined date and time of day items):
8344         New section.
8345
8346 2011-09-06  Bruno Haible  <bruno@clisp.org>
8347
8348         acl: Fix a test failure on newer Solaris 10 with ZFS.
8349         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
8350         ENOSYS as no ACL.
8351         Reported by Jim Meyering.
8352
8353 2011-09-06  Bruno Haible  <bruno@clisp.org>
8354
8355         acl: Update for AIX >= 5.3 with NFS.
8356         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
8357         ENOSYS as no ACL.
8358
8359         acl: Fix a test failure on AIX >= 5.3 with NFS.
8360         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
8361         as no ACL.
8362
8363 2011-09-06  Bruno Haible  <bruno@clisp.org>
8364
8365         acl: Fix a test failure on IRIX 6.5 with NFS.
8366         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
8367         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
8368         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
8369         * lib/copy-acl.c (qcopy_acl): Likewise.
8370
8371 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
8372
8373         openat: port to AIX 7.1 with large files
8374         AIX 7.1 does a "#define openat open64at" if large files are in use,
8375         so we can't simply #undef openat.  Use the orig_openat trick (similar
8376         to orig_open in lib/open.c) to work around the problem.  Problem
8377         reported by Kevin Brott for GNU tar, in the thread containing
8378         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
8379         * lib/openat.c (__need_system_fcntl_h): Define first.
8380         Include <fcntl.h> and <sys/types.h> before undefining.
8381         (orig_openat) [HAVE_OPENAT]: New inline function.
8382         (openat) [HAVE_OPENAT]: Do not undef.
8383         (rpl_openat): Use orig_openat, not openat.
8384
8385 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
8386             Bruno Haible  <bruno@clisp.org>
8387
8388         acl: Avoid errors on NonStop Kernel.
8389         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
8390         ENOTSUP errors.
8391
8392 2011-09-05  Bruno Haible  <bruno@clisp.org>
8393
8394         acl: Clean up Solaris code.
8395         * lib/acl-internal.h: Remove no-op #if.
8396         * lib/file-has-acl.c: Likewise.
8397         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
8398         * lib/copy-acl.c (qcopy_acl): Likewise.
8399
8400 2011-09-05  Bruno Haible  <bruno@clisp.org>
8401
8402         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
8403         binaries built on the original Solaris 10.
8404         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
8405         trivial.
8406
8407 2011-09-05  Bruno Haible  <bruno@clisp.org>
8408
8409         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
8410         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
8411         10.
8412         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
8413         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
8414         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
8415         instead of acl_get, facl_get, acl_set, facl_set.
8416
8417 2011-09-05  Bruno Haible  <bruno@clisp.org>
8418
8419         copy-file: Try unit tests on more file systems.
8420         * tests/test-copy-file-1.sh: New file.
8421         * tests/test-copy-file-2.sh: New file.
8422         * modules/copy-file-tests (Files): Add them.
8423         (Makefile.am): Add them to TESTS.
8424
8425         acl: Try unit tests on more file systems.
8426         * tests/test-file-has-acl-1.sh: New file.
8427         * tests/test-file-has-acl-2.sh: New file.
8428         * tests/test-set-mode-acl-1.sh: New file.
8429         * tests/test-set-mode-acl-2.sh: New file.
8430         * tests/test-copy-acl-1.sh: New file.
8431         * tests/test-copy-acl-2.sh: New file.
8432         * modules/acl-tests (Files): Add them.
8433         (Makefile.am): Add them to TESTS.
8434
8435 2011-09-04  Bruno Haible  <bruno@clisp.org>
8436
8437         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
8438         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
8439         10.
8440         (OLD_ALLOW, OLD_DENY): New macros.
8441         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
8442         ACE_ACCESS_ALLOWED_ACE_TYPE.
8443         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
8444         ACE_ACCESS_DENIED_ACE_TYPE.
8445         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
8446         (NEW_ACE_EXECUTE): Fix value.
8447         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
8448         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
8449         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
8450         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
8451         NEW_ACE_SYNCHRONIZE): New macros.
8452         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
8453         instead of acl_fromtext, acl_set, facl_set.
8454         Fixes a coreutils/tests/cp/perm failure.
8455
8456 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
8457
8458         openat: test for fstatat (..., 0) bug
8459         Further testing with tar suggests that fstatat (..., 0)
8460         does not work in general, on AIX 7.1; see
8461         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
8462         So, give up entirely on AIX 7.1's fstatat, and fall back on our
8463         replacement fstatat (which is what older AIX releases were using
8464         anyway).
8465         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
8466         use is now changed to orig_fstatat.  This was probably the right
8467         thing to do anyway.
8468         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
8469         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
8470         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
8471         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
8472         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
8473         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
8474         if the bug is found.
8475
8476         openat: test for fstatat (AT_FDCWD, ..., 0) bug
8477         This tests for another fstatat bug on AIX 7.1:
8478         fstatat (AT_FDCWD, ..., 0) does not work.  See
8479         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
8480         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
8481         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
8482         (rpl_fstatat): Adjust so that it works around either (or both)
8483         bugs if present.
8484         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
8485
8486 2011-09-03  Karl Berry  <karl@gnu.org>
8487
8488         * doc/regex.texi (Character Class Operators): Avoid literal ":"
8489         in index entries.
8490
8491 2011-09-02  Bruno Haible  <bruno@clisp.org>
8492
8493         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
8494         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
8495         values of AR, ARFLAGS, RANLIB.
8496         Reported by John W. Eaton <jwe@gnu.org> for Octave.
8497
8498 2011-09-02  Bruno Haible  <bruno@clisp.org>
8499
8500         Find 'ar' program that fits with --host argument.
8501         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
8502
8503 2011-09-02  Bruno Haible  <bruno@clisp.org>
8504
8505         tests: init.sh: Support any non-GNU diff.
8506         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
8507         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
8508         Solaris 8.
8509
8510 2011-09-02  Bruno Haible  <bruno@clisp.org>
8511
8512         tests: init.sh: work also with any non-GNU diff that supports -u
8513         * tests/init.sh: Relax check for diff -u support.
8514         Rather than checking for GNU diff via --version, simply check
8515         for support for -u itself.  Useful at least on OpenBSD 4.9,
8516         AIX 7.1, IRIX 6.5, and Solaris 10.
8517
8518 2011-09-01  Bruno Haible  <bruno@clisp.org>
8519
8520         strtoimax, strtoumax: Document problem on HP-UX 11.
8521         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
8522         * doc/posix-functions/strtoumax.texi: Likewise.
8523
8524 2011-09-01  Bruno Haible  <bruno@clisp.org>
8525
8526         strtoumax: Avoid link error on OSF/1 with DTK cc.
8527         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
8528         defined as a function.
8529         * modules/strtoumax (Depends-on, configure.ac): Test only whether
8530         strtoumax is defined, not whether it is declared.
8531
8532 2011-09-01  Bruno Haible  <bruno@clisp.org>
8533
8534         strtoimax: Avoid link error on OSF/1 with DTK cc.
8535         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
8536         defined as a function.
8537         * modules/strtoimax (Depends-on, configure.ac): Test only whether
8538         strtoimax is defined, not whether it is declared.
8539
8540 2011-09-01  Bruno Haible  <bruno@clisp.org>
8541
8542         imaxdiv: Avoid link error on OSF/1 with DTK cc.
8543         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
8544         as a function.
8545         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
8546         whether it is declared.
8547
8548 2011-09-01  Bruno Haible  <bruno@clisp.org>
8549
8550         imaxabs: Avoid link error on OSF/1 with DTK cc.
8551         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
8552         as a function.
8553         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
8554         whether it is declared.
8555
8556 2011-09-01  Bruno Haible  <bruno@clisp.org>
8557
8558         Tests for module 'strtoumax'.
8559         * modules/strtoumax-tests: New file.
8560         * tests/test-strtoumax.c: New file.
8561
8562         Tests for module 'strtoimax'.
8563         * modules/strtoimax-tests: New file.
8564         * tests/test-strtoimax.c: New file.
8565
8566         Tests for module 'imaxdiv'.
8567         * modules/imaxdiv-tests: New file.
8568         * tests/test-imaxdiv.c: New file.
8569
8570         Tests for module 'imaxabs'.
8571         * modules/imaxabs-tests: New file.
8572         * tests/test-imaxabs.c: New file.
8573
8574 2011-09-01  Bruno Haible  <bruno@clisp.org>
8575
8576         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
8577         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
8578         pthread_create.
8579
8580 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
8581
8582         openat: work around AIX 7.1 fstatat issue
8583         This should fix the problem that was not properly fixed
8584         in the previous change, dated 2011-08-30.
8585         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
8586         __need_system_stat_h defined.
8587         (orig_fstatat) [HAVE_FSTATAT]: New function.
8588         (rpl_fstatat): Go back to the old way of doing things,
8589         except call orig_fstatat instead of fstatat.
8590         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
8591         Remove unnecessary check whether fstatat fills in st_size etc.
8592
8593 2011-09-01  Bruno Haible  <bruno@clisp.org>
8594
8595         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
8596         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
8597         just include the system's header.
8598
8599 2011-08-31  Jim Meyering  <meyering@redhat.com>
8600
8601         tests: avoid spurious assertion failure in test-float.c on ppc64
8602         * tests/test-float.c (test_long_double): Comment out an assertion,
8603         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
8604         with gcc-4.4.4.
8605
8606         maint: indent with spaces, not TABs
8607         I need to get in the habit of running gnulib's "make check".
8608         Both of these would have been caught.
8609         * m4/largefile.m4: Indent with spaces, not TABs.
8610         * lib/parse-datetime.y (iso_8601_time): Likewise.
8611         Spotted by Pádraig Brady.
8612
8613         test-parse-datetime.c: accommodate a relatively strict gcc warning
8614         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
8615         to avoid a warning from gcc's -Werror=missing-declarations.
8616         Insert a few spaces-before-funcall-parenthesis.
8617
8618 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
8619
8620         parse-datetime: accept ISO 8601 date and time rep with "T" separator
8621         The parser now accepts ISO 8601 date-time strings with "T" as the
8622         separator.  It has long parsed dates like "2004-02-29 16:21:42"
8623         with a space between the date and time strings.  Now it also parses
8624         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
8625         variants like "2004-02-29T16:21:42.333-07:00"
8626         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
8627         of day representation using the 'T' separator character.
8628         * doc/parse-datetime.texi (General date syntax): replace use of
8629         deprecated --iso-8601 option with --rfc-3339 in example of date
8630         command output formats that can be parsed.
8631         * tests/test-parse-datetime.c (tm_diff): New function, taken from
8632         lib/parse-datetime.y.
8633         (gmt_offset): New function.
8634         (main): Add additional test cases to validate ISO8601 extended
8635         date and time of day parsing.
8636
8637 2011-08-31  Bruno Haible  <bruno@clisp.org>
8638
8639         freopen: Documentation.
8640         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
8641         name.
8642         Reported by Claudio Bley <claudio.bley@gmail.com>.
8643
8644 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
8645
8646         freopen: Don't crash if the filename argument is NULL.
8647         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
8648         NULL.
8649
8650 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
8651
8652         openat: work around AIX 7.1 fstatat bug
8653         Problem reported by Kevin Brott for GNU tar, in the thread containing
8654         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
8655         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
8656         FSTATAT_ST_SIZE_ETC_BROKEN.
8657         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
8658         rpl_fstatat.
8659         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
8660         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
8661         AC_CHECK_FUNCS_ONCE for fstatat.
8662         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
8663         fchmodat, mkdirat, openat and unlinkat.
8664
8665 2011-08-30  Bruno Haible  <bruno@clisp.org>
8666
8667         Avoid endless recursions if config.h includes some header files.
8668         * lib/fopen.c (__need_FILE): Define already before including config.h.
8669         * lib/freopen.c (__need_FILE): Likewise.
8670         * lib/open.c (__need_system_fcntl_h): Likewise.
8671         * lib/stat.c (__need_system_sys_stat_h): Likewise.
8672         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
8673         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
8674
8675 2011-08-25  Karl Berry  <karl@gnu.org>
8676
8677         * config/srclist.txt (ylwrap): new try.
8678         * build-aux/ylwrap: new file.
8679
8680 2011-08-23  Bruno Haible  <bruno@clisp.org>
8681
8682         tmpdir: Use a good default directory on native Windows.
8683         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
8684         (P_tmpdir): Default to _P_tmpdir on native Windows.
8685         (path_search): On native Windows, try the value returned by GetTempPath
8686         before trying P_tmpdir.
8687         * modules/tmpdir (Depends-on): Add pathmax.
8688         Suggested by John Darrington <john@darrington.wattle.id.au>.
8689
8690 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
8691
8692         doc: fix typo in README-release
8693         * top/README-release: Capitalize first word of a sentence.
8694
8695 2011-08-19  Jim Meyering  <meyering@redhat.com>
8696
8697         fts: do not exhaust memory when processing million-entry directories
8698         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
8699         directory would require about 256*N bytes of memory.  Thus, it was
8700         easy to construct a directory too large to be processed by any of
8701         those tools.  With this change, fts' maximum memory utilization is
8702         now limited to around 30MB.
8703         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
8704         (fts_read): When we've processed the final entry (i.e., when
8705         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
8706         using the parent entry to read any remaining entries.  Dispatch
8707         depending on what fts_build returns:
8708         - NULL+stop, aka failure: stop
8709         - NULL otherwise: move up in the dir hierarchy
8710         - non-NULL: handle this new entry
8711         (fts_build): Declare and use new local, continue_readdir.
8712         Prepare to be called from fts_read, when the entries
8713         from a partially-read directory have just been exhausted.
8714         In that case, we'll skip the opendir and instead use the parent's
8715         fts_dirp and derive dir_fd from that.
8716         Finally, in the readdir loop, if we read max_entries entries,
8717         exit the loop ensuring *not* to call closedir.  This is required
8718         so that fts_dirp can be reused on a subsequent call.
8719         Prompted by Ben England's report of memory exhaustion in find
8720         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
8721
8722         maint: fts: move decl of `dp' down into while loop; split a long line
8723         * lib/fts.c (fts_build): No semantic change.
8724
8725         fts: add/use new struct member, fts_dirp
8726         We are about to use this to manage any directory with
8727         too many entries to read all of them into memory at once.
8728         To do that, we'll need to save the DIR* pointer in each
8729         affected FTSENT struct.
8730         * lib/fts_.h: Include <dirent.h>.
8731         (struct FTSENT) [fts_dirp]: New member.
8732         * lib/fts.c (closedir_and_clear): Define.
8733         Use it in place of closedir so that we are sure to
8734         clear the new fts_dirp member when done with it.
8735         (fts_alloc): Initialize the new member.
8736         (fts_lfree): Free, if needed.
8737
8738         maint: fts: give __opendir2 a new parameter and rename
8739         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
8740         than surreptitiously using sole caller's "dir_fd".
8741         (fts_opendir): Rename from __opendir2.
8742
8743         maint: fts.c: remove __opendir2's now-unused parameter, oflag
8744         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
8745
8746         maint: fts.c: correct off-by-one indentation
8747         * lib/fts.c (fts_build): Correct indentation, change style
8748         of a couple of block comments, and bracing style.
8749
8750         maint: fts.c: move __opendir2 #define "up" out of function body
8751         * lib/fts.c (__opendir2): Move "up".  No semantic change.
8752
8753         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
8754         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
8755         out for a long time and besides was useful only on BSD systems.
8756
8757 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
8758
8759         regex: port to Stratus OpenVOS
8760         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
8761         define to empty, rather than attempting nonportable optimizations.
8762         Problem reported by Paul Green in:
8763         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
8764         and fix suggested by Eric Blake in:
8765         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
8766
8767 2011-08-17  Eric Blake  <eblake@redhat.com>
8768
8769         getcwd: fix test failures on mingw
8770         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
8771         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
8772         test if long directory cannot be created, and allow mingw errno.
8773
8774         getcwd-lgpl: fix m4 to match relaxed test for BSD
8775         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
8776         (gl_FUNC_GETCWD_SIGNATURE): New macro.
8777         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
8778         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
8779         signature problem.
8780
8781         getcwd: fix compilation on mingw64
8782         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
8783         getcwd.
8784         Reported by Marc-André Lureau.
8785
8786         pipe2: silence compiler warning
8787         * lib/pipe2.c (pipe2): Hide label if it is not used.
8788
8789 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
8790
8791         relocatable-prog: fix link error
8792         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
8793         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
8794         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
8795         into modules/relocatable-lib without noticing that
8796         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
8797         also needs to build relocatable.c.
8798
8799 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
8800
8801         getaddrinfo: fix sh typo in gai_strerrorA decl checking
8802         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
8803         shell code: it contained a 'break' that was not in a loop.
8804         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
8805         via a shell-language loop; this may have been true in old Autoconf
8806         versions, but it's not true in Autoconf 2.68.  I found this bug
8807         when testing coreutils git on Solaris 8, whose shell complains
8808         about the syntax error.
8809
8810 2011-08-12  Simon Josefsson  <simon@josefsson.org>
8811
8812         * lib/base64.c: Fix comment to reference RFC 4648.
8813         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
8814         <gvtulder@gmail.com>.
8815
8816 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
8817
8818         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
8819
8820         po/Makefile.in.in: fix make -q problem
8821         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
8822         rule, since there's no file named 'check-macro-version' and its
8823         use as a file breaks make -q.
8824         (all): Don't depend on check-macro-version.
8825         (CHECK_MACRO_VERSION): New macro.
8826         (stamp-po): Use it.
8827
8828         configmake: fix make -q problem
8829         * modules/configmake (configmake.h): Update configmake.h's time stamp
8830         even if the file does not change.  Otherwise, 'make -q' fails.
8831         Problem reported by Simon Josefsson in
8832         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
8833
8834 2011-08-11  Jim Meyering  <meyering@redhat.com>
8835
8836         git-version-gen: correct the advice in a comment
8837         * build-aux/git-version-gen: Correct comment.
8838         Don't recommend to list .tarball-version in .gitignore.
8839
8840 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
8841
8842         base64: fix off-by-one buffer size bug
8843         Problem and (trivial) fix reported by Gijs van Tulder in
8844         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
8845         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
8846         * tests/test-base64.c (main): Catch the bug.
8847
8848 2011-08-10  Eric Blake  <eblake@redhat.com>
8849
8850         closein: correct comments
8851         * lib/closein.c (close_stdin): Improve comments.
8852
8853 2011-08-09  Bruno Haible  <bruno@clisp.org>
8854
8855         More tests for 'fseeko'.
8856         * tests/test-fseeko3.c: New file, from Eric Blake.
8857         * tests/test-fseeko3.sh: New file.
8858         * modules/fseeko-tests (Files): Add them.
8859         (TESTS): Add test-fseeko3.sh.
8860         (check_PROGRAMS): Add test-fseeko3.
8861
8862 2011-08-09  Eric Blake  <eblake@redhat.com>
8863
8864         fseeko: remove unneeded hack
8865         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
8866
8867         fseeko: fix bug on glibc
8868         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
8869         Reported by John W. Eaton.
8870
8871 2011-08-08  Bruno Haible  <bruno@clisp.org>
8872
8873         unictype/base: Fix interoperability with preinstalled libunistring.
8874         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
8875         Reported by Simon Josefsson.
8876
8877 2011-08-08  Bruno Haible  <bruno@clisp.org>
8878
8879         iswblank: Detect declaration correctly.
8880         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
8881         AC_CHECK_DECLS invocation.
8882
8883 2011-08-08  Bruno Haible  <bruno@clisp.org>
8884
8885         tcgetsid: Detect declaration correctly.
8886         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
8887         AC_CHECK_DECLS invocation.
8888         Reported by Simon Josefsson.
8889
8890 2011-08-08  Eric Blake  <eblake@redhat.com>
8891
8892         largefile: fix typo that regressed large file support
8893         * modules/largefile (configure.ac-early): Fix section name.
8894
8895 2011-08-06  Karl Berry  <karl@gnu.org>
8896
8897         * MODULES.html.sh (func_all_files): _Noreturn is no longer
8898         a separate module.
8899
8900 2011-08-05  Simon Josefsson  <simon@josefsson.org>
8901
8902         openat: Fix warnings and commens when building unlinkat.c on Hurd.
8903         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
8904         get prototype for free.
8905
8906 2011-08-04  Bruno Haible  <bruno@clisp.org>
8907
8908         Tests for module 'pathmax'.
8909         * modules/pathmax-tests: New file.
8910         * tests/test-pathmax.c: New file.
8911
8912         canonicalize-lgpl: Support larger filenames on the Hurd.
8913         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
8914         Reported by Paul Eggert.
8915
8916         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
8917         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
8918         * lib/chdir-long.h: Include pathmax.h.
8919         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
8920         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
8921         (PATH_MAX): Remove code that is done by pathmax.h.
8922         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
8923         * lib/tmpfile.c: Add a comment.
8924         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
8925         * modules/chdir-long (Depends-on): Add pathmax.
8926         * modules/getcwd (Depends-on): Add pathmax.
8927         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
8928         is not defined.
8929         * doc/posix-headers/limits.texi: Mention the pathmax module.
8930         * NEWS: Mention the change.
8931
8932 2011-08-02  Bruno Haible  <bruno@clisp.org>
8933
8934         pthread_sigmask: Actually use results of gl_THREADLIB.
8935         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
8936         gl_THREADLIB, not gl_[]THREADLIB.
8937         Reported by Eric Blake.
8938
8939 2011-08-02  Jim Meyering  <meyering@redhat.com>
8940
8941         maint.mk: relax the default _gl_TS_function_match regexp
8942         * top/maint.mk (_gl_TS_function_match): Don't require at least one
8943         space between function name and "(" in an "extern" declaration.
8944         That would fail to match a decl with no space there: extern void foo();
8945
8946 2011-07-31  Iain Nicol  <iain@thenicols.net>
8947
8948         git-version-gen: document that EXTRA_DIST must include .version
8949         * build-aux/git-version-gen: In the how-to-use comment, document
8950         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
8951         will fail when run from an unpacked distribution tarball.
8952
8953 2011-08-01  Bruno Haible  <bruno@clisp.org>
8954
8955         wctype-h: Fix last change.
8956         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
8957         REPLACE_TOWLOWER to 0.
8958         Reported by Sam Steingold <sds@gnu.org>.
8959
8960 2011-07-31  Bruno Haible  <bruno@clisp.org>
8961
8962         frexpl: Update autoconf test.
8963         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
8964         according to changes of 2011-06-20.
8965
8966 2011-07-31  Bruno Haible  <bruno@clisp.org>
8967
8968         sys_utsname: Add support for Minix.
8969         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
8970         <sys/utsname.h>.
8971         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
8972         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
8973
8974 2011-07-31  Bruno Haible  <bruno@clisp.org>
8975
8976         strings: Add support for Minix.
8977         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
8978         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
8979         * doc/posix-headers/strings.texi: Document the Minix problem.
8980
8981 2011-07-31  Bruno Haible  <bruno@clisp.org>
8982
8983         wctype-h: Add support for Minix.
8984         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
8985         REPLACE_TOWLOWER.
8986         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
8987         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
8988         REPLACE_ISWCNTRL.
8989
8990 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
8991
8992         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
8993         This is a performance improvement for 64-bit hosts: it causes the
8994         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
8995
8996 2011-07-31  Bruno Haible  <bruno@clisp.org>
8997
8998         stdioext: Add support for Minix.
8999         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
9000         * lib/fpurge.c (fpurge): Likewise.
9001         * lib/freadahead.c (freadahead): Likewise.
9002         * lib/freadable.c (freadable): Likewise.
9003         * lib/freading.c (freading): Likewise.
9004         * lib/freadptr.c (freadptr): Likewise.
9005         * lib/freadseek.c (freadptrinc): Likewise.
9006         * lib/fseeko.c (rpl_fseeko): Likewise.
9007         * lib/fseterr.c (fseterr): Likewise.
9008         * lib/fwritable.c (fwritable): Likewise.
9009         * lib/fwriting.c (fwriting): Likewise.
9010         * lib/fflush.c (clear_ungetc_buffer): Update comment.
9011         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
9012
9013 2011-07-31  Bruno Haible  <bruno@clisp.org>
9014
9015         errno: Port to Minix.
9016         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
9017         ECONNABORTED are defined.
9018         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
9019         GNULIB_defined_ECONNABORTED): New macros.
9020         * lib/strerror-override.h (strerror_override): Test also
9021         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
9022         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
9023         ECONNABORTED.
9024         * doc/posix-headers/errno.texi: Mention the Minix problem.
9025
9026 2011-07-31  Bruno Haible  <bruno@clisp.org>
9027
9028         Work around declaration collisions on Minix.
9029         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
9030         defined, set REPLACE_MBSINIT.
9031         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
9032         defined, set REPLACE_MBRTOWC.
9033         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
9034         set REPLACE_MBRLEN.
9035         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
9036         defined, set REPLACE_MBSRTOWCS.
9037         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
9038         defined, set REPLACE_WCRTOMB.
9039         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
9040         defined, set REPLACE_WCSRTOMBS.
9041
9042 2011-07-31  Bruno Haible  <bruno@clisp.org>
9043
9044         Add support for Minix with ACK compiler.
9045         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
9046         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
9047         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
9048
9049 2011-07-31  Bruno Haible  <bruno@clisp.org>
9050
9051         Documentation about Minix.
9052         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
9053         * doc/glibc-headers/*.texi: Likewise.
9054         * doc/posix-functions/*.texi: Likewise.
9055         * doc/glibc-functions/*.texi: Likewise.
9056
9057 2011-07-31  Bruno Haible  <bruno@clisp.org>
9058
9059         snippet/warn-on-use: Fix indentation.
9060         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
9061
9062 2011-07-25  Jim Meyering  <meyering@redhat.com>
9063
9064         tests: test-update-copyright.sh: remove unnecessary "rm" commands
9065         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
9066         commands.
9067
9068 2011-07-27  Jim Meyering  <meyering@redhat.com>
9069
9070         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
9071         * top/maint.mk (gl_extract_significant_defines_): Now that
9072         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
9073         gnulib/lib/signal.in.h, and now that we recommend to
9074         define-if-undefined those two symbols in application code,
9075         we must filter them out of the "significant" list.
9076         This avoids a "make syntax-check" failure in coreutils.
9077
9078 2011-07-26  Eric Blake  <eblake@redhat.com>
9079
9080         warnings: add comments about previous patch
9081         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
9082         * m4/include_next.m4: Likewise.
9083         * m4/warn-on-use.m4: Likewise.
9084         * m4/warnings.m4: Likewise, and simplify use.
9085         Suggested by Stefano Lattarini.
9086
9087         include-next, warnings: support older autoconf
9088         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
9089         AS_VAR_PUSHDEF in a way that works with older autoconf.
9090         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
9091         Reported by Daniel P. Berrange.
9092
9093 2011-07-25  Bruno Haible  <bruno@clisp.org>
9094
9095         fseek, ftell: Fix doc.
9096         * doc/posix-functions/fseek.texi: Reword statement about
9097         AC_SYS_LARGEFILE.
9098         * doc/posix-functions/ftell.texi: Likewise.
9099
9100 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
9101             Bruno Haible  <bruno@clisp.org>
9102
9103         Add dependencies to the 'largefile' module.
9104         * modules/fopen (Depends-on): Add 'largefile'.
9105         * modules/freopen (Depends-on): Likewise.
9106         * modules/fseeko (Depends-on): Likewise.
9107         * modules/ftello (Depends-on): Likewise.
9108         * modules/glob (Depends-on): Likewise.
9109         * modules/lseek (Depends-on): Likewise.
9110         * modules/lstat (Depends-on): Likewise.
9111         * modules/mkostemp (Depends-on): Likewise.
9112         * modules/mkostemps (Depends-on): Likewise.
9113         * modules/mkstemp (Depends-on): Likewise.
9114         * modules/mkstemps (Depends-on): Likewise.
9115         * modules/open (Depends-on): Likewise.
9116         * modules/openat (Depends-on): Likewise.
9117         * modules/pread (Depends-on): Likewise.
9118         * modules/pwrite (Depends-on): Likewise.
9119         * modules/scandir (Depends-on): Likewise.
9120         * modules/stat (Depends-on): Likewise.
9121         * modules/tmpfile (Depends-on): Likewise.
9122         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
9123         since the containing module now depends on the largefile module.
9124         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
9125         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
9126         off_t is fixed by gnulib.
9127         * doc/posix-functions/freopen.texi: Likewise.
9128         * doc/posix-functions/fseeko.texi: Likewise.
9129         * doc/posix-functions/fstatat.texi: Likewise.
9130         * doc/posix-functions/ftello.texi: Likewise.
9131         * doc/posix-functions/glob.texi: Likewise.
9132         * doc/posix-functions/lseek.texi: Likewise.
9133         * doc/posix-functions/lstat.texi: Likewise.
9134         * doc/posix-functions/mkstemp.texi: Likewise.
9135         * doc/posix-functions/open.texi: Likewise.
9136         * doc/posix-functions/openat.texi: Likewise.
9137         * doc/posix-functions/pread.texi: Likewise.
9138         * doc/posix-functions/pwrite.texi: Likewise.
9139         * doc/posix-functions/scandir.texi: Likewise.
9140         * doc/posix-functions/stat.texi: Likewise.
9141         * doc/posix-functions/tmpfile.texi: Likewise.
9142         * doc/glibc-functions/mkostemp.texi: Likewise.
9143         * doc/glibc-functions/mkostemps.texi: Likewise.
9144         * doc/glibc-functions/mkstemps.texi: Likewise.
9145
9146 2011-07-25  Bruno Haible  <bruno@clisp.org>
9147
9148         fcntl: Move AC_LIBOBJ invocation to module description.
9149         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
9150         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
9151
9152         fcntl: Remove call-in from fchdir.m4.
9153         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
9154         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
9155
9156         dup3: Remove potential call-in from fchdir.m4.
9157         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
9158         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
9159
9160         dup2: Move AC_LIBOBJ invocation to module description.
9161         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
9162         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
9163         Don't invoke AC_LIBOBJ.
9164         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
9165
9166         dup2: Remove call-in from fchdir.m4.
9167         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
9168         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
9169
9170         fclose: Move AC_LIBOBJ invocation to module description.
9171         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
9172         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
9173         to 1.
9174         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
9175
9176         fclose: Remove call-in from close.m4.
9177         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
9178         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
9179
9180         close: Move AC_LIBOBJ invocation to module description.
9181         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
9182         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
9183         1.
9184         * modules/close (configure.ac): Invoke AC_LIBOBJ.
9185
9186         close: Remove call-in from fchdir.m4.
9187         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
9188         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
9189
9190         open: Move AC_LIBOBJ invocation to module description.
9191         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
9192         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
9193         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
9194
9195         open: Remove call-in from fchdir.m4.
9196         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
9197         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
9198
9199         fchdir: Start to remove gl_REPLACE_* idiom.
9200         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
9201         (gl_FUNC_FCHDIR): Invoke it.
9202
9203 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
9204
9205         * lib/ftell.c (ftell): Comment out cast.
9206
9207         close: use gl_REPLACE_FCLOSE only if defined
9208         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
9209         is defined.  The close module doesn't depend on the fclose module
9210         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
9211         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
9212         I reproduced the problem with "./gnulib-tool --test close sys_socket".
9213
9214 2011-07-24  Jim Meyering  <meyering@redhat.com>
9215
9216         test-select.h: avoid warning when using gcc's -Wmissing-declarations
9217         * tests/test-select.h (test_function): Declare as "static".
9218
9219 2011-07-24  Bruno Haible  <bruno@clisp.org>
9220
9221         doc: Mention the effects of AC_SYS_LARGEFILE.
9222         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
9223         on this function.
9224         * doc/posix-functions/aio_error.texi: Likewise.
9225         * doc/posix-functions/aio_fsync.texi: Likewise.
9226         * doc/posix-functions/aio_read.texi: Likewise.
9227         * doc/posix-functions/aio_return.texi: Likewise.
9228         * doc/posix-functions/aio_suspend.texi: Likewise.
9229         * doc/posix-functions/aio_write.texi: Likewise.
9230         * doc/posix-functions/fgetpos.texi: Likewise.
9231         * doc/posix-functions/fopen.texi: Likewise.
9232         * doc/posix-functions/freopen.texi: Likewise.
9233         * doc/posix-functions/fsetpos.texi: Likewise.
9234         * doc/posix-functions/fstatvfs.texi: Likewise.
9235         * doc/posix-functions/ftruncate.texi: Likewise.
9236         * doc/posix-functions/ftw.texi: Likewise.
9237         * doc/posix-functions/getrlimit.texi: Likewise.
9238         * doc/posix-functions/glob.texi: Likewise.
9239         * doc/posix-functions/lio_listio.texi: Likewise.
9240         * doc/posix-functions/lockf.texi: Likewise.
9241         * doc/posix-functions/mkstemp.texi: Likewise.
9242         * doc/posix-functions/mmap.texi: Likewise.
9243         * doc/posix-functions/nftw.texi: Likewise.
9244         * doc/posix-functions/openat.texi: Likewise.
9245         * doc/posix-functions/opendir.texi: Likewise.
9246         * doc/posix-functions/posix_fadvise.texi: Likewise.
9247         * doc/posix-functions/posix_fallocate.texi: Likewise.
9248         * doc/posix-functions/pread.texi: Likewise.
9249         * doc/posix-functions/pwrite.texi: Likewise.
9250         * doc/posix-functions/readdir.texi: Likewise.
9251         * doc/posix-functions/readdir_r.texi: Likewise.
9252         * doc/posix-functions/rewinddir.texi: Likewise.
9253         * doc/posix-functions/scandir.texi: Likewise.
9254         * doc/posix-functions/seekdir.texi: Likewise.
9255         * doc/posix-functions/setrlimit.texi: Likewise.
9256         * doc/posix-functions/statvfs.texi: Likewise.
9257         * doc/posix-functions/telldir.texi: Likewise.
9258         * doc/posix-functions/tmpfile.texi: Likewise.
9259         * doc/posix-functions/truncate.texi: Likewise.
9260         * doc/glibc-functions/fallocate.texi: Likewise.
9261         * doc/glibc-functions/fstatfs.texi: Likewise.
9262         * doc/glibc-functions/fts_children.texi: Likewise.
9263         * doc/glibc-functions/fts_read.texi: Likewise.
9264         * doc/glibc-functions/getdirentries.texi: Likewise.
9265         * doc/glibc-functions/mkostemp.texi: Likewise.
9266         * doc/glibc-functions/mkostemps.texi: Likewise.
9267         * doc/glibc-functions/mkstemps.texi: Likewise.
9268         * doc/glibc-functions/preadv.texi: Likewise.
9269         * doc/glibc-functions/pwritev.texi: Likewise.
9270         * doc/glibc-functions/sendfile.texi: Likewise.
9271         * doc/glibc-functions/statfs.texi: Likewise.
9272
9273 2011-07-24  Bruno Haible  <bruno@clisp.org>
9274
9275         doc: Fix typo.
9276         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
9277
9278 2011-07-24  Bruno Haible  <bruno@clisp.org>
9279
9280         doc: Mention fsusage.
9281         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
9282
9283 2011-07-24  Bruno Haible  <bruno@clisp.org>
9284
9285         doc: Mention new glibc headers and functions.
9286         * doc/glibc-headers/gshadow.texi: New file.
9287         * doc/glibc-functions/endsgent.texi: New file.
9288         * doc/glibc-functions/fgetsgent.texi: New file.
9289         * doc/glibc-functions/fgetsgent_r.texi: New file.
9290         * doc/glibc-functions/getsgent.texi: New file.
9291         * doc/glibc-functions/getsgent_r.texi: New file.
9292         * doc/glibc-functions/getsgnam.texi: New file.
9293         * doc/glibc-functions/getsgnam_r.texi: New file.
9294         * doc/glibc-functions/putsgent.texi: New file.
9295         * doc/glibc-functions/setsgent.texi: New file.
9296         * doc/glibc-functions/sgetsgent.texi: New file.
9297         * doc/glibc-functions/sgetsgent_r.texi: New file.
9298         * doc/glibc-functions/malloc_info.texi: New file.
9299         * doc/glibc-functions/preadv.texi: New file.
9300         * doc/glibc-functions/pwritev.texi: New file.
9301         * doc/glibc-functions/register_printf_modifier.texi: New file.
9302         * doc/glibc-functions/register_printf_specifier.texi: New file.
9303         * doc/glibc-functions/register_printf_type.texi: New file.
9304         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
9305         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
9306         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
9307         * doc/glibc-functions/pthread_getname_np.texi: New file.
9308         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
9309         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
9310         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
9311         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
9312         * doc/glibc-functions/pthread_setname_np.texi: New file.
9313         * doc/glibc-functions/pthread_sigqueue.texi: New file.
9314         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
9315         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
9316         * doc/glibc-functions/qsort_r.texi: New file.
9317         * doc/glibc-functions/quick_exit.texi: New file.
9318         * doc/glibc-functions/syncfs.texi: New file.
9319         * doc/gnulib.texi: Include them.
9320         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
9321         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
9322         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
9323         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
9324         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
9325         * doc/glibc-functions/execvpe.texi: Likewise.
9326
9327 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
9328
9329         ftell: don't include <unistd.h>
9330         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
9331         guaranteed to define off_t, and the ftell module depends on the
9332         stdio module.
9333
9334         ftell: do not assume wraparound signed arithmetic
9335         * lib/ftell.c: Include <limits.h>.
9336         (ftell): Don't assume wraparound signed arithmetic.
9337
9338 2011-07-24  Bruno Haible  <bruno@clisp.org>
9339
9340         close: No longer depend on module 'fclose'.
9341         * modules/close (Depends-on): Remove fclose.
9342         * NEWS: Mention the change.
9343         Suggested by Sam Steingold <sds@gnu.org>.
9344
9345 2011-07-24  Bruno Haible  <bruno@clisp.org>
9346
9347         fsusage: Enable large volume support on AIX >= 5.2.
9348         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
9349         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
9350         instead of STAT_STATVFS.
9351         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
9352
9353         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
9354         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
9355         f_blocks field only on MacOS X.
9356
9357         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
9358         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
9359         * modules/fsusage (Depends-on): Add largefile.
9360
9361 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
9362
9363         * README: Modernize discussion of signed integers.
9364         Assuming overflow wraparound is no longer safe.
9365         Mention ones' complement and signed magnitude.
9366
9367 2011-07-22  Bruno Haible  <bruno@clisp.org>
9368
9369         select tests, pselect tests: Refactor.
9370         * tests/test-select.h: New file, extracted from tests/test-select.c.
9371         (select_fn): New type.
9372         (test, do_select, do_select_nowait, do_select_wait, test_tty,
9373         test_connect_first, test_accept_first, test_pair, test_socket_pair,
9374         test_pipe): Add my_select argument.
9375         (test_function): Renamed from main. Add my_select argument.
9376         * tests/test-select.c: Move most code to tests/test-select.h. Include
9377         test-select.h.
9378         * modules/select-tests (Files): Add tests/test-select.h.
9379         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
9380         (my_select, main): New functions.
9381         * modules/pselect-tests (Files): Add tests/test-select.h,
9382         tests/macros.h, tests/signature.h.
9383         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
9384         (configure.ac): Check for <sys/wait.h>.
9385
9386 2011-07-22  Bruno Haible  <bruno@clisp.org>
9387
9388         sys_select tests: Check the signature of FD_*.
9389         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
9390         signature tests from here...
9391         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
9392         here.
9393         * modules/sys_select-tests (Files): Add tests/signature.h.
9394
9395 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
9396
9397         largefile: new module, replacing large-inode
9398         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
9399         * MODULES.html.sh: Add largefile, remove large-inode.
9400         * modules/largefile, m4/largefile.m4: New files.
9401         * modules/large-inode, m4/large-inode.m4: Remove.
9402
9403         fsusage: port to MacOS X 10.7 with 4 TiB file systems
9404         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
9405         implementations that use only 32 bits to count blocks.
9406         On typical hosts with 1024-byte blocks, this fails with file
9407         systems as small as 4 TiB.  Problem reported by Herb Wartens
9408         <http://debbugs.gnu.org/9140> and this should also fix a similar
9409         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
9410
9411         large-inode: New module
9412         * MODULES.html.sh: Add it.
9413         * modules/large-inode, m4/large-inode.m4: New files.
9414
9415         extensions: Enable extensions on MacOS X 10.5 and later.
9416         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
9417
9418 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
9419
9420         file-has-acl: use acl_extended_file_nofollow if available
9421         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
9422         (acl_extended_file): New macro.
9423         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
9424         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
9425
9426 2011-07-21  Bruno Haible  <bruno@clisp.org>
9427
9428         Declare system functions in a way that works with C++.
9429         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
9430         declare fdopendir as extern "C".
9431         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
9432         declare frexpl as extern "C".
9433         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
9434         declare gai_strerror as extern "C".
9435         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
9436         programs, declare gai_strerror as extern "C".
9437         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
9438         declare getlogin_r as extern "C".
9439         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
9440         as extern "C".
9441         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
9442         declare ldexpl as extern "C".
9443         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
9444         as extern "C".
9445         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
9446         program, declare getmntinfo as extern "C".
9447         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
9448         stpncpy as extern "C".
9449         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
9450         program, declare __xpg_strerror_r as extern "C".
9451         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
9452         strndup as extern "C".
9453         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
9454         declare memset and bzero as extern "C".
9455         Reported by Sam Steingold <sds@gnu.org>.
9456
9457 2011-07-12  Jim Meyering  <meyering@redhat.com>
9458
9459         maint.mk: prohibit inclusion of "verify.h" without use
9460         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
9461
9462 2011-07-19  Pádraig Brady  <P@draigBrady.com>
9463
9464         timer-time: A new module to check for timer_settime()
9465         * m4/timer_time.m4: Check for the posix function.
9466         * modules/timer-time: Add the new module.
9467         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
9468         Mention it.
9469
9470 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
9471             Bruno Haible  <bruno@clisp.org>
9472
9473         pthread_sigmask: assume POSIX threads if --avoid=threadlib
9474         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
9475         not defined, assume POSIX threads and look for pthread_sigmask in
9476         $LIBS, without changing $CPPFLAGS.
9477
9478 2011-07-19  Bruno Haible  <bruno@clisp.org>
9479
9480         strstr: Update cross-compilation guess.
9481         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
9482         CPUs, guess no, in view of glibc
9483         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
9484         Suggested by Eric Blake. Reported by Reuben Thomas.
9485
9486 2011-07-19  Pádraig Brady  <P@draigBrady.com>
9487
9488         getopt-gnu: suppress core dumps from detection code
9489         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
9490         to suppress core dumps that may well occur on glibc systems.
9491         * modules/getopt-gnu: Depend on nocrash.
9492
9493 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
9494
9495         pthread_sigmask: ensure usleep is declared
9496         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
9497         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
9498
9499 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
9500
9501         doc: Document NonStop portability issues.
9502         * doc/posix-functions/sigaction.texi (sigaction):
9503         * doc/posix-headers/signal.texi (signal.h):
9504         Document NonStop.  See Joachim Schmitz in
9505         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
9506
9507 2011-07-15  Bruno Haible  <bruno@clisp.org>
9508
9509         ffsl, ffsll: Avoid unportable behaviour.
9510         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
9511
9512 2011-07-15  Bruno Haible  <bruno@clisp.org>
9513
9514         ffs: More tests.
9515         * tests/test-ffs.c (NBITS): New macro.
9516         (main): Add more tests.
9517         * tests/test-ffsl.c (NBITS): New macro.
9518         (main): Add more tests.
9519         * tests/test-ffsll.c (NBITS): New macro.
9520         (main): Add more tests.
9521
9522 2011-07-15  Eric Blake  <eblake@redhat.com>
9523
9524         ffsl, ffsll: new modules
9525         * modules/ffsl: New file.
9526         * modules/ffsll: Likewise.
9527         * m4/ffsl.m4: Likewise.
9528         * m4/ffsll.m4: Likewise.
9529         * lib/ffsl.c: Likewise.
9530         * lib/ffsl.h: Likewise.
9531         * lib/ffsll.c: Likewise.
9532         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
9533         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
9534         * modules/string (Makefile.am): Substitute witnesses.
9535         * lib/strings.in.h (ffsl, ffsll): Declare.
9536         * modules/ffsl-tests: New test file.
9537         * modules/ffsll-tests: Likewise.
9538         * tests/test-ffsl.c: Likewise.
9539         * tests/test-ffsll.c: Likewise.
9540         * MODULES.html.sh (Integer arithmetic functions): Mention it.
9541         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
9542         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
9543
9544         ffs: fix m4 prerequisite
9545         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
9546
9547         ffs: avoid undefined behavior
9548         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
9549         * tests/test-ffs.c (naive, main): Avoid signed shifts.
9550         Reported by Bruno Haible.
9551
9552 2011-07-12  Bruno Haible  <bruno@clisp.org>
9553
9554         pthread_sigmask: Rely on module 'threadlib'.
9555         * modules/pthread_sigmask (Depends-on): Add threadlib.
9556         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
9557         is defined.
9558
9559 2011-07-12  Bruno Haible  <bruno@clisp.org>
9560
9561         regex: Depend on module 'strcase'.
9562         * modules/regex (Depends-on): Add strcase, for strcasecmp().
9563
9564 2011-07-12  Jim Meyering  <meyering@redhat.com>
9565
9566         warn-on-use: fix typo in file name
9567         * modules/snippet/warn-on-use (Files): Correct file name:
9568         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
9569
9570 2011-07-12  Bruno Haible  <bruno@clisp.org>
9571
9572         strings: Document module.
9573         * doc/posix-headers/strings.texi: Mention module 'strings'.
9574
9575 2011-07-12  Bruno Haible  <bruno@clisp.org>
9576
9577         Rename module '_Noreturn' to 'snippet/_Noreturn'.
9578         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
9579         (Files, Makefile.am): Update.
9580         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
9581         * modules/stdlib (Depends-on): Update.
9582
9583 2011-07-12  Bruno Haible  <bruno@clisp.org>
9584
9585         * NEWS: Mention the changes.
9586
9587         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
9588         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
9589         (Files, Makefile.am): Update.
9590         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
9591         * modules/arpa_inet (Depends-on): Update.
9592         * modules/ctype (Depends-on): Update.
9593         * modules/dirent (Depends-on): Update.
9594         * modules/fcntl-h (Depends-on): Update.
9595         * modules/glob (Depends-on): Update.
9596         * modules/iconv-h (Depends-on): Update.
9597         * modules/inttypes-incomplete (Depends-on): Update.
9598         * modules/langinfo (Depends-on): Update.
9599         * modules/locale (Depends-on): Update.
9600         * modules/math (Depends-on): Update.
9601         * modules/netdb (Depends-on): Update.
9602         * modules/poll-h (Depends-on): Update.
9603         * modules/pty (Depends-on): Update.
9604         * modules/search (Depends-on): Update.
9605         * modules/signal (Depends-on): Update.
9606         * modules/spawn (Depends-on): Update.
9607         * modules/stdio (Depends-on): Update.
9608         * modules/stdlib (Depends-on): Update.
9609         * modules/string (Depends-on): Update.
9610         * modules/strings (Depends-on): Update.
9611         * modules/sys_file (Depends-on): Update.
9612         * modules/sys_ioctl (Depends-on): Update.
9613         * modules/sys_select (Depends-on): Update.
9614         * modules/sys_socket (Depends-on): Update.
9615         * modules/sys_stat (Depends-on): Update.
9616         * modules/sys_time (Depends-on): Update.
9617         * modules/sys_times (Depends-on): Update.
9618         * modules/sys_utsname (Depends-on): Update.
9619         * modules/sys_wait (Depends-on): Update.
9620         * modules/termios (Depends-on): Update.
9621         * modules/time (Depends-on): Update.
9622         * modules/unistd (Depends-on): Update.
9623         * modules/wchar (Depends-on): Update.
9624         * modules/wctype-h (Depends-on): Update.
9625         * MODULES.html.sh (Support for building libraries and executables):
9626         Update.
9627
9628         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
9629         * modules/snippet/unused-parameter: Renamed from
9630         modules/unused-parameter.
9631         (Files, Makefile.am): Update.
9632         * build-aux/snippet/unused-parameter.h: Renamed from
9633         build-aux/unused-parameter.h.
9634         * modules/selinux-h (Depends-on): Update.
9635         * modules/unistr/base (Depends-on): Update.
9636         * MODULES.html.sh (Core language properties): Update.
9637
9638         Rename module 'link-warning' to 'snippet/link-warning'.
9639         * modules/snippet/link-warning: Renamed from modules/link-warning.
9640         (Files, Makefile.am): Update.
9641         * build-aux/snippet/link-warning.h: Renamed from
9642         build-aux/link-warning.h.
9643         * MODULES.html.sh (Support for building libraries and executables):
9644         Update.
9645
9646         Rename module 'c++defs' to 'snippet/c++defs'.
9647         * modules/snippet/c++defs: Renamed from modules/c++defs.
9648         (Files, Makefile.am): Update.
9649         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
9650         * modules/arpa_inet (Depends-on): Update.
9651         * modules/ctype (Depends-on): Update.
9652         * modules/dirent (Depends-on): Update.
9653         * modules/fcntl-h (Depends-on): Update.
9654         * modules/glob (Depends-on): Update.
9655         * modules/iconv-h (Depends-on): Update.
9656         * modules/langinfo (Depends-on): Update.
9657         * modules/locale (Depends-on): Update.
9658         * modules/math (Depends-on): Update.
9659         * modules/netdb (Depends-on): Update.
9660         * modules/poll-h (Depends-on): Update.
9661         * modules/pty (Depends-on): Update.
9662         * modules/search (Depends-on): Update.
9663         * modules/signal (Depends-on): Update.
9664         * modules/spawn (Depends-on): Update.
9665         * modules/stdio (Depends-on): Update.
9666         * modules/stdlib (Depends-on): Update.
9667         * modules/string (Depends-on): Update.
9668         * modules/strings (Depends-on): Update.
9669         * modules/sys_ioctl (Depends-on): Update.
9670         * modules/sys_select (Depends-on): Update.
9671         * modules/sys_socket (Depends-on): Update.
9672         * modules/sys_stat (Depends-on): Update.
9673         * modules/sys_time (Depends-on): Update.
9674         * modules/sys_wait (Depends-on): Update.
9675         * modules/termios (Depends-on): Update.
9676         * modules/time (Depends-on): Update.
9677         * modules/unistd (Depends-on): Update.
9678         * modules/wchar (Depends-on): Update.
9679         * modules/wctype-h (Depends-on): Update.
9680
9681         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
9682         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
9683         (Files, Makefile.am): Update.
9684         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
9685         * modules/argv-iter (Depends-on): Update.
9686         * modules/arpa_inet (Depends-on): Update.
9687         * modules/dirent (Depends-on): Update.
9688         * modules/fcntl-h (Depends-on): Update.
9689         * modules/fnmatch (Depends-on): Update.
9690         * modules/getopt-posix (Depends-on): Update.
9691         * modules/glob (Depends-on): Update.
9692         * modules/iconv-h (Depends-on): Update.
9693         * modules/inttypes-incomplete (Depends-on): Update.
9694         * modules/locale (Depends-on): Update.
9695         * modules/math (Depends-on): Update.
9696         * modules/netdb (Depends-on): Update.
9697         * modules/search (Depends-on): Update.
9698         * modules/signal (Depends-on): Update.
9699         * modules/spawn (Depends-on): Update.
9700         * modules/stdio (Depends-on): Update.
9701         * modules/stdlib (Depends-on): Update.
9702         * modules/string (Depends-on): Update.
9703         * modules/strings (Depends-on): Update.
9704         * modules/sys_socket (Depends-on): Update.
9705         * modules/sys_stat (Depends-on): Update.
9706         * modules/sys_time (Depends-on): Update.
9707         * modules/sys_times (Depends-on): Update.
9708         * modules/sys_utsname (Depends-on): Update.
9709         * modules/time (Depends-on): Update.
9710         * modules/unistd (Depends-on): Update.
9711         * modules/wchar (Depends-on): Update.
9712         * MODULES.html.sh (Support for building libraries and executables):
9713         Update.
9714
9715 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
9716
9717         Improvements on _Noreturn and related modules.
9718
9719         modules/_Exit-tests: test _Noreturn too
9720         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
9721         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
9722         (main): Use them.
9723
9724         stdnoreturn, stdnoreturn-tests: remove modules
9725         They're not needed here and a bit premature for use elsewhere.  See
9726         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
9727         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
9728         * tests/test-stdnoreturn.c: Remove files.
9729         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
9730         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
9731         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
9732         and using noreturn.
9733         * modules/openat, modules/sigpipe-die, modules/xalloc:
9734         * modules/xmemdup0, modules/xstrtol:
9735         Remove dependency on stdnoreturn.
9736
9737         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
9738         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
9739         Reparenthesize to avoid GCC warning.
9740         Support Microsoft's syntax.
9741         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
9742
9743         _Noreturn-tests: remove module
9744         * modules/_Noreturn-tests: Remove.
9745         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
9746         * tests/test-_Noreturn.c: Remove.
9747         * tests/test-stdnoreturn.c: Merge from the old
9748         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
9749
9750 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
9751
9752         _Noreturn, stdnoreturn, and related modules.
9753
9754         * top/maint.mk: Adjust to new noreturn support.
9755         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
9756         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
9757
9758         xalloc: use stdnoreturn.h
9759         * lib/xalloc.h: Include <stdnoreturn.h>.
9760         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
9761         * modules/xalloc (Depends-on): Add stdnoreturn.
9762
9763         xstrtol: use stdnoreturn.h
9764         * lib/xstrtol.h: Include <stdnoreturn.h>.
9765         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
9766         * modules/xstrtol (Depends-on): Add stdnoreturn.
9767
9768         xmemdup0: use stdnoreturn.h
9769         * lib/xmemdup0.h: Include <stdnoreturn.h>.
9770         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
9771         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
9772
9773         sigpipe-die: use stdnoreturn.h
9774         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
9775         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
9776         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
9777
9778         openat: use stdnoreturn.h
9779         * lib/openat.h: Include <stdnoreturn.h>.
9780         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
9781         * modules/openat (Depends-on): Add stdnoreturn.
9782
9783         * lib/openat-die.c (openat_save_fail): Modernize comment.
9784
9785         * lib/xalloc-die.c (xalloc_die): Modernize comment.
9786
9787         * lib/glthread/thread.h: Modernize comment.
9788
9789         obstack: use _Noreturn
9790         * lib/obstack.c (__attribute__): Remove macro.
9791         (print_and_abort): Use _Noreturn.
9792
9793         c-stack: use _Noreturn
9794         * lib/c-stack.c (die, overflow_handler, segv_handler):
9795         Use _Noreturn rather than __attribute__((noreturn)).
9796
9797         argmatch-tests, exclude_tests: use _Noreturn
9798         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
9799         Remove.
9800         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
9801
9802         stdlib: use _Noreturn
9803         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
9804         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
9805         * modules/stdlib (Depends-on): Add _Noreturn.
9806         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
9807
9808         stdnoreturn-tests: new module
9809         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
9810
9811         stdnoreturn: new module
9812         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
9813         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
9814
9815         _Noreturn-tests: new module
9816         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
9817
9818         _Noreturn: new module
9819         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
9820         New section, mentioning it.
9821         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
9822
9823         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
9824
9825 2011-07-11  Eric Blake  <eblake@redhat.com>
9826
9827         ffs: new module
9828         * modules/ffs: New file.
9829         * m4/ffs.m4: Likewise.
9830         * lib/ffs.c: Likewise.
9831         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
9832         * modules/strings (Makefile.am): Substitute witness.
9833         (Depends-on): Add c++defs.
9834         * lib/strings.in.h (ffs): Declare.
9835         * modules/ffs-tests: New test file.
9836         * tests/test-ffs.c: Test new module.
9837         * MODULES.html.sh (Integer arithmetic functions): Mention it.
9838         * doc/posix-functions/ffs.texi (ffs): Likewise.
9839
9840         regex: avoid compiler warning
9841         * lib/regex.c (includes): Include <strings.h>, for use of
9842         strcasecmp in regcomp.c.
9843         Reported by Joachim Schmitz.
9844
9845 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
9846
9847         stdint: respect system's intmax_t if INTMAX_MAX
9848         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
9849         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
9850         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
9851         long but int64_t is long long, and where we will clash with the
9852         system intmax_t if we override it.  See
9853         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
9854         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
9855         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
9856         similarly for UINTMAX_C.
9857
9858 2011-07-08  Bruno Haible  <bruno@clisp.org>
9859
9860         pthread_sigmask tests: Avoid a compiler warning.
9861         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
9862         non-zero.
9863
9864         sigprocmask tests: A better way to avoid a compiler warning.
9865         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
9866         (main): Complain if system() returns non-zero.
9867         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
9868
9869 2011-07-08  Bruno Haible  <bruno@clisp.org>
9870
9871         pthread_sigmask: Work around IRIX bug.
9872         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
9873         bug.
9874         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
9875         there may be unblocked pending signals.
9876         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
9877
9878 2011-07-08  Bruno Haible  <bruno@clisp.org>
9879
9880         pthread_sigmask: Work around Cygwin bug.
9881         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
9882         bug.
9883         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
9884         the system's pthread_sigmask function.
9885         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
9886
9887 2011-07-08  Bruno Haible  <bruno@clisp.org>
9888
9889         pthread_sigmask: Work around bug in single-threaded implementation.
9890         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
9891         FreeBSD, HP-UX, Solaris bug.
9892         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
9893         * lib/pthread_sigmask.c: Include <stddef.h>.
9894         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
9895         the system's pthread_sigmask function.
9896         * modules/pthread_sigmask (configure.ac): Invoke
9897         gl_PREREQ_PTHREAD_SIGMASK.
9898         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
9899         HP-UX, Solaris.
9900
9901 2011-07-08  Eric Blake  <eblake@redhat.com>
9902
9903         test-sigprocmask: avoid compiler warning
9904         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
9905         * tests/test-sigprocmask.c (main): Use it to silence warning.
9906         Reported by Jim Meyering.
9907
9908         test-snprintf: avoid compiler warning
9909         * tests/test-snprintf.c (main): Avoid shadowed declaration.
9910         * tests/test-vsnprintf.c (main): Likewise.
9911         Reported by Jim Meyering.
9912
9913 2011-07-08  Bruno Haible  <bruno@clisp.org>
9914
9915         Tests for module 'pthread_sigmask'.
9916         * modules/pthread_sigmask-tests: New file.
9917         * tests/test-pthread_sigmask1.c: New file, based on
9918         tests/test-sigprocmask.c.
9919         * tests/test-pthread_sigmask2.c: New file.
9920
9921 2011-07-08  Jim Meyering  <meyering@redhat.com>
9922
9923         test-getopt.h: avoid warning about an unused variable
9924         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
9925
9926 2011-07-07  Jim Meyering  <meyering@redhat.com>
9927
9928         maint: reduce list of files exempt from sc_prohibit_leading_TABs
9929         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
9930         now that it no longer contains leading TABs.
9931         Remove unused "url=FIXME" statement.
9932
9933 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
9934
9935         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
9936         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
9937         When gl_THREADLIB is not in use, assume that the POSIX sematics
9938         are desired.  This is better for Emacs, which uses POSIX semantics
9939         on GNUish and/or POSIXish platforms, and does not use threads at
9940         all otherwise.
9941
9942         pthread_sigmask: fix typo when testing for libraries
9943         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
9944         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
9945
9946 2011-07-08  Eric Blake  <eblake@redhat.com>
9947
9948         fts: introduce FTS_NOATIME
9949         * lib/fts_.h (FTS_NOATIME): New bit flag.
9950         (FTS_OPTIONMASK): Adjust.
9951         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
9952         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
9953
9954 2011-07-08  Bruno Haible  <bruno@clisp.org>
9955
9956         Tests for module 'thread'.
9957         * modules/thread-tests: New file.
9958         * tests/test-thread_self.c: New file.
9959         * tests/test-thread_create.cc: New file.
9960
9961 2011-07-08  Bruno Haible  <bruno@clisp.org>
9962
9963         thread: Avoid gcc warnings when using gl_thread_self().
9964         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
9965         'void *'.
9966         (gl_thread_self_pointer): Update.
9967
9968 2011-07-07  Bruno Haible  <bruno@clisp.org>
9969
9970         signal-c++-tests: Check declaration of pthread_sigmask.
9971         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
9972         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
9973         $(LIB_PTHREAD_SIGMASK).
9974
9975 2011-07-07  Bruno Haible  <bruno@clisp.org>
9976
9977         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
9978         * lib/signal.in.h (pthread_sigmask): Override if
9979         REPLACE_PTHREAD_SIGMASK is 1.
9980         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
9981         REPLACE_PTHREAD_SIGMASK.
9982         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
9983         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
9984         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
9985         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
9986         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
9987
9988 2011-07-07  Bruno Haible  <bruno@clisp.org>
9989
9990         pthread_sigmask: Ensure declaration in <signal.h>.
9991         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
9992         include <pthread.h>.
9993         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
9994         problem.
9995
9996 2011-07-07  Bruno Haible  <bruno@clisp.org>
9997
9998         pthread_sigmask: Document the module.
9999         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
10000
10001 2011-07-07  Bruno Haible  <bruno@clisp.org>
10002
10003         pthread_sigmask: Follow gnulib conventions.
10004         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
10005         gl_PTHREAD_SIGMASK.
10006         * modules/pthread_sigmask (configure.ac): Update.
10007
10008 2011-07-07  Bruno Haible  <bruno@clisp.org>
10009
10010         pthread_sigmask: Make declaration C++ safe.
10011         * lib/signal.in.h: In two special conditions, just do an #include_next.
10012         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
10013         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
10014         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
10015         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
10016         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
10017         not REPLACE_PTHREAD_MASK.
10018         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
10019         not REPLACE_PTHREAD_MASK.
10020         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
10021
10022 2011-07-07  Bruno Haible  <bruno@clisp.org>
10023
10024         pthread_sigmask: Fix return value.
10025         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
10026         * lib/pthread_sigmask.c: New file.
10027         * modules/pthread_sigmask (Files): Add it.
10028         (configure.ac): Invoke AC_LIBOBJ.
10029
10030 2011-07-07  Eric Blake  <eblake@redhat.com>
10031
10032         getopt: more portable argv creation
10033         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
10034         const, use char arrays rather than strings.
10035         Suggested by Paul Eggert.
10036
10037 2011-07-07  Bruno Haible  <bruno@clisp.org>
10038
10039         Tests for module 'sigprocmask'.
10040         * modules/sigprocmask-tests: New file.
10041         * tests/test-sigprocmask.c: New file.
10042
10043 2011-07-07  Bruno Haible  <bruno@clisp.org>
10044
10045         float tests: Tweak.
10046         * tests/test-float.c (main): Tweak skip message.
10047
10048 2011-07-07  Eric Blake  <eblake@redhat.com>
10049
10050         getopt: avoid compiler warning during configure
10051         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
10052         assigning string literals to non-const pointer.
10053
10054         getopt-gnu: avoid crash in glibc getopt
10055         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
10056         * tests/test-getopt.h (test_getopt): Enhance test.
10057         * tests/test-getopt_long.h (test_getopt_long): Likewise.
10058         * doc/posix-functions/getopt.texi (getopt): Document it.
10059         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
10060         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
10061         Likewise.
10062
10063 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
10064
10065         getopt: handle W; without long options in getopt [BZ #12922]
10066         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
10067         but no long options are defined, just return 'W'.
10068
10069 2011-07-07  Bruno Haible  <bruno@clisp.org>
10070
10071         Avoid literal tabs.
10072         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
10073         variable containing a tab instead of a literal tab.
10074         Reported by Jim Meyering.
10075
10076 2011-07-07  Bruno Haible  <bruno@clisp.org>
10077
10078         Comments.
10079         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
10080
10081 2011-07-06  Bruno Haible  <bruno@clisp.org>
10082
10083         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
10084         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
10085         <winsock2.h>.
10086         (rpl_fd_isset, FD_ISSET): New definitions, copied from
10087         lib/sys_socket.in.h.
10088         (close, gethostname): Hide declarations from <winsock2.h>.
10089         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
10090         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
10091         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
10092         (select): Don't override if gnulib's <sys/select.h> was already
10093         included.
10094         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
10095         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
10096         setsockopt, shutdown, select): Tweak indentation.
10097
10098 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
10099
10100         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
10101         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
10102         in an application that does not use the sys_select module.
10103
10104 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
10105
10106         poll: do not return 0 on timeout=-1
10107         * lib/poll.c: Loop with yield if no events occured
10108
10109 2011-07-06  Eric Blake  <eblake@redhat.com>
10110
10111         pthread_sigmask: always replace when not using pthread
10112         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
10113         replacement when using some threading other than pthread.  Fix
10114         logic bug.
10115
10116 2011-07-06  Bruno Haible  <bruno@clisp.org>
10117
10118         Comments.
10119         * m4/printf.m4: Update comments about mingw.
10120
10121 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
10122
10123         sys_select: define sigset_t more portably
10124         * lib/sys_select.in.h: Always include <sys/types.h>, since
10125         we now need sigset_t and mingw defines it there.
10126         Include <signal.h> before split inclusion guard, to avoid
10127         mishaps on Solaris, whose <signal.h> eventually includes us.
10128         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
10129         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
10130         which come from ...
10131         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
10132         gl_CHECK_TYPE_SIGSET_T.
10133         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
10134         does the real work.
10135         * modules/sys_select (Depends-on): Add 'signal'.
10136
10137         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
10138         Suggested by Bruno Haible.
10139
10140         pselect: Use pthread_sigmask, not sigprocmask.
10141         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
10142         multithreaded apps better than sigprocmask does.
10143         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
10144         sigprocmask directly.
10145
10146 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
10147
10148         * lib/pselect.c (pselect): Use plain name, without "rpl_".
10149         Don't #undef,  since we don't need any underlying pselect.
10150         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
10151         (Depends-on): Add select.
10152         (Link): Add $(LIBSOCKET).
10153         These changes suggested by Bruno Haible.
10154
10155         pselect: document better
10156         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
10157         * doc/posix-functions/pselect.texi (pselect): Document new module.
10158
10159         pthread_sigmask: new module
10160         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
10161         * doc/posix-functions/pthread_sigmask.texi: Document new module.
10162         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
10163         This is done only as a macro; I don't know how well that'll
10164         work for C++.  Move <sys/types.h> include before the include_next,
10165         to avoid mishap on Solaris.
10166         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
10167         * modules/signal (Makefile.am): Substitute the check's results.
10168         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
10169
10170         test-pselect: new module
10171         * modules/pselect-tests, tests/test-pselect.c: New files.
10172         * tests/test-select.c, tests/test-sys_select-c++.cc:
10173         If TEST_PSELECT is defined, test pselect instead of testing select.
10174
10175         * tests/test-sys_select.c (sigset_t): Test for it, too.
10176         Suggested by Bruno Haible.
10177
10178 2011-07-05  Eric Blake  <eblake@redhat.com>
10179
10180         snprintf: guarantee %1$d, for libintl
10181         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
10182         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
10183         * doc/posix-functions/snprintf.texi (snprintf): Update.
10184         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
10185         * tests/test-snprintf.c (main): Enhance test.
10186         * tests/test-vsnprintf.c (main): Likewise.
10187
10188 2011-07-05  Jim Meyering  <meyering@redhat.com>
10189
10190         maint: exempt stdio-read.c and stdio-write.c from the cppi check
10191         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
10192         per Bruno's request, to accommodate this idiom (no space after "#")
10193         even when the function is inside an #if block:
10194         char *
10195         gets (char *s)
10196         #undef gets
10197         {
10198           ...
10199         }
10200
10201 2011-07-04  Jim Meyering  <meyering@redhat.com>
10202
10203         maint: indent with spaces, not TABs, and add a rule to check this
10204         * tests/test-userspec.c: Indent with spaces, not TABs.
10205         * tests/test-argp.c: Likewise.
10206         * tests/test-c-stack2.sh: Likewise.
10207         * tests/test-parse-duration.sh: Likewise
10208         * m4/strtod.m4: Likewise.
10209         * m4/alloca.m4: Likewise.
10210         * m4/pselect.m4: Likewise.
10211         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
10212
10213 2011-07-03  Jim Meyering  <meyering@redhat.com>
10214
10215         maint.mk: correct omissions in prohibit_argmatch_without_use check
10216         This rule would mistakenly report that argmatch.h is included without
10217         use even when both the argmatch and invalid_arg macro were used.
10218         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
10219         of argmatch and invalid_arg.
10220
10221 2011-07-03  Bruno Haible  <bruno@clisp.org>
10222
10223         Comments about EINTR.
10224         * lib/safe-read.h: Explain the purpose of this module.
10225         * lib/safe-write.h: Likewise.
10226         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
10227         module.
10228         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
10229         module.
10230         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
10231
10232 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
10233
10234         xnanosleep: Rewrite to use new dtotimespec module.
10235         It has the conversion code that used to be in xnanosleep.
10236         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
10237         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
10238         (TIME_T_MAX): Remove.
10239         (xnanosleep): Rewrite in terms of dtotimespec.
10240         * modules/xnanosleep (Depends-on): Add dtotimespec.
10241         Remove intprops, stdbool.
10242
10243         timespec-add, timespec-sub: new modules
10244         * lib/timespec.h (timespec_add, timespec_sub): New decls.
10245         * lib/timespec-add.c, lib/timespec-sub.c:
10246         * modules/timespec-add, modules/timespec-sub: New files.
10247
10248         dtotimespec: new module
10249         * lib/timespec.h (dtotimespec): New decl.
10250         * lib/dtotimespec.c, modules/dtotimespec: New files.
10251
10252         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
10253
10254         pselect: new module
10255         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
10256         (pselect): New decls.
10257         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
10258         since the standard pselect decl uses 'restrict'.
10259         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
10260         HAVE_PSELECT, REPLACE_PSELECT.
10261         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
10262         HAVE_PSELECT, REPLACE_PSELECT.
10263         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
10264
10265         sys_select: don't depend on sys_socket
10266         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
10267         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
10268         This fix works on GNU and GNU-like platforms, but has not been tested
10269         on native Windows.
10270         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
10271         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
10272         gl_HEADER_SYS_SOCKET.
10273         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
10274         gl_PREREQ_SYS_H_WINSOCK2.
10275
10276 2011-06-29  Eric Blake  <eblake@redhat.com>
10277
10278         pipe2: fix C89 compile problem
10279         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
10280         Reported by Bruno Haible.
10281
10282         pipe, pipe2: don't corrupt fd on error
10283         * lib/pipe.c (pipe): Leave fd unchanged on error.
10284         * lib/pipe2.c (pipe2): Likewise.
10285         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
10286         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
10287
10288 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
10289
10290         mmap-anon: do not use regular expressions inadvertently
10291         * m4/mmap-anon.m4: Remove trailing period from strings sought
10292         in the output.
10293
10294 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
10295
10296         nanosleep: fix integer overflow problem
10297         * lib/nanosleep.c (my_usleep): Don't assume signed integer
10298         arithmetic wraps around on overflow.
10299
10300         nanosleep: simplify carrying
10301         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
10302         first call to the underyling nanosleep, not for the last one.
10303         This doesn't fix any bugs, but it simplifies the computation of
10304         the remaining delay.  Found while auditing integer overflow issues.
10305
10306         dup2: remove test for existence of fcntl
10307         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
10308         "#if HAVE_FCNTL", in the configure-time test program.
10309         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
10310         and therefore speeds up "configure" a bit.  Found while
10311         adding the dup2 module to Emacs.
10312
10313 2011-06-24  Eric Blake  <eblake@redhat.com>
10314
10315         maint.mk: enhance useless header checks
10316         * top/maint.mk (_sc_header_without_use): Check both include
10317         styles.
10318         (sc_prohibit_assert_without_use)
10319         (sc_prohibit_close_stream_without_use)
10320         (sc_prohibit_getopt_without_use)
10321         (sc_prohibit_quotearg_without_use)
10322         (sc_prohibit_quote_without_use)
10323         (sc_prohibit_long_options_without_use)
10324         (sc_prohibit_inttostr_without_use)
10325         (sc_prohibit_ignore_value_without_use)
10326         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
10327         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
10328         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
10329         (sc_prohibit_hash_pjw_without_use)
10330         (sc_prohibit_safe_read_without_use)
10331         (sc_prohibit_argmatch_without_use)
10332         (sc_prohibit_canonicalize_without_use)
10333         (sc_prohibit_root_dev_ino_without_use)
10334         (sc_prohibit_openat_without_use)
10335         (sc_prohibit_c_ctype_without_use)
10336         (sc_prohibit_signal_without_use)
10337         (sc_prohibit_stdio--_without_use)
10338         (sc_prohibit_stdio-safer_without_use)
10339         (sc_prohibit_strings_without_use)
10340         (sc_prohibit_intprops_without_use)
10341         (sc_prohibit_stddef_without_use)
10342         (sc_prohibit_xfreopen_without_use): Update clients.
10343
10344 2011-06-24  Jim Meyering  <meyering@redhat.com>
10345
10346         syntax-check: keep one maint.mk rule in sync with its header
10347         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
10348         of the bug Eric has just fixed, with today's commit 25e4c2ec.
10349         I prefer to avoid temporary files here, so use <(...), but that
10350         is not supported by /bin/sh, so...
10351         (SHELL): Define to /bin/bash.
10352
10353 2011-06-24  Eric Blake  <eblake@redhat.com>
10354
10355         maint.mk: update sc_prohibit_intprops_without_use
10356         * top/maint.mk (_intprops_names): Match recent changes.
10357
10358 2011-06-24  Bruno Haible  <bruno@clisp.org>
10359
10360         strerror-override: No-op tweak.
10361         * lib/strerror-override.h (strerror_override): Reorder conditions,
10362         for consistency with lib/strerror-override.c.
10363
10364 2011-06-23  Eric Blake  <eblake@redhat.com>
10365
10366         maint.mk: test further PATH_MAX issues
10367         * top/maint.mk (sc_prohibit_path_max_array): Rename...
10368         (sc_prohibit_path_max_allocation): ...and also test alloca.
10369         Suggested by Jim Meyering.
10370
10371 2011-06-22  Eric Blake  <eblake@redhat.com>
10372
10373         maint.mk: add syntax-check to avoid char[PATH_MAX]
10374         * top/maint.mk (sc_prohibit_path_max_array): New rule.
10375
10376         stat: be robust to PATH_MAX definition
10377         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
10378         * modules/stat (Depends-on): Add verify.
10379
10380         link: work around IRIX bug
10381         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
10382         * lib/link.c (rpl_link): Work around it.
10383         * tests/test-link.h (test_link): Enhance test.
10384         * doc/posix-functions/link.texi (link): Document the bug.
10385
10386         getopt: silence clang warning
10387         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
10388         dereference.
10389         Reported by Gustavo Martin Domato.
10390
10391 2011-06-22  Jim Meyering  <meyering@redhat.com>
10392
10393         bootstrap: do not insert a blank line into each .gitignore file
10394         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
10395
10396 2011-06-21  Eric Blake  <eblake@redhat.com>
10397
10398         perror: test for output mismatch
10399         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
10400         perror on IRIX.
10401
10402         strerror_r: fix OpenBSD behavior on out-of-range
10403         * lib/strerror_r.c (strerror_r): Always use maximal string.
10404         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
10405
10406         strerror_r: fix OpenBSD behavior on 0
10407         * lib/strerror-override.c (strerror_override): Also override 0
10408         when needed.
10409         * lib/strerror-override.h (strerror_override): Likewise.
10410         * lib/strerror.c (strerror): Simplify, now that 0 override is done
10411         earlier.
10412         * lib/strerror_r.c (strerror_r): Likewise.
10413         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
10414         behavior...
10415         (gl_FUNC_STRERROR_0): ...into new macro.
10416         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
10417         is overridden.
10418         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
10419         * modules/strerror-override (Files): Add strerror.m4.
10420         (configure.ac): Also provide override for 0 when needed.
10421         * doc/posix-functions/strerror.texi (strerror): Document this.
10422         * doc/posix-functions/perror.texi (perror): Likewise.
10423
10424         perror: adjust array size
10425         * modules/perror (Depends-on): Add strerror-override.
10426         * lib/perror.c (perror): Use it to avoid magic number.
10427
10428         strerror-override: reduce size
10429         * lib/strerror-override.c (strerror_override): Use fewer lines.
10430
10431 2011-06-20  Bruno Haible  <bruno@clisp.org>
10432
10433         pathmax: Ensure correct value for PATH_MAX on HP-UX.
10434         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
10435
10436 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
10437
10438         alloca: port to compilers that can optimize like GCC 4.6.0
10439         * lib/alloca.c (find_stack_direction): New signature, taken from
10440         Autoconf git.  This works with GCC 4.6.0.  This code should never
10441         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
10442         be used with other compilers that optimize as well as GCC 4.6.0 does.
10443         (alloca): Adjust to new signature.
10444         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
10445         New macro, which patches Autoconf in a similar way.
10446
10447         c-stack: stop worrying about stack direction
10448         * lib/c-stack.c (find_stack_direction): Remove.
10449         (segv_handler): Don't worry about stack direction growth, as it's
10450         too much of a pain to configure this correctly, given how compilers
10451         are optimizing-away our stack-growth detection code.  Instead, assume
10452         that any access to just before or just after the stack is OK.
10453         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
10454         Don't require AC_FUNC_ALLOCA; no longer needed.
10455
10456 2011-06-20  Eric Blake  <eblake@redhat.com>
10457
10458         test-stat: don't allocate PATH_MAX bytes
10459         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
10460         PATH_MAX-sized buffer.
10461         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
10462         * modules/stat-tests (Depends-on): Likewise.
10463         * tests/test-fstatat.c (includes): Drop pathmax.h.
10464         * tests/test-stat.c (includes): Likewise.
10465         Reported by Bruno Haible.
10466
10467 2011-06-20  Bruno Haible  <bruno@clisp.org>
10468
10469         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
10470         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
10471         * lib/float.c: New file.
10472         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
10473         REPLACE_FLOAT_LDBL.
10474         * modules/float (Files): Add lib/float.c.
10475         (configure.ac): Invoke AC_LIBOBJ.
10476         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
10477
10478 2011-06-20  Bruno Haible  <bruno@clisp.org>
10479
10480         Tests for module 'float'.
10481         * modules/float-tests: New file.
10482         * tests/test-float.c: New file.
10483
10484 2011-06-19  Bruno Haible  <bruno@clisp.org>
10485
10486         isinf: Coding style.
10487         * lib/isinf.c: Use GNU coding style.
10488
10489 2011-06-19  Bruno Haible  <bruno@clisp.org>
10490
10491         linkat test: Avoid test failure on AIX 7.1.
10492         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
10493         * tests/test-link.h (test_link): Likewise.
10494
10495 2011-06-19  Bruno Haible  <bruno@clisp.org>
10496
10497         pread test: Avoid test failure on OpenBSD 4.9.
10498         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
10499
10500 2011-06-19  Bruno Haible  <bruno@clisp.org>
10501
10502         sprintf-posix: Fix test failure on AIX 7.1.
10503         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
10504         * doc/posix-functions/dprintf.texi: Mention limited precision problem
10505         on AIX.
10506         * doc/posix-functions/fprintf.texi: Likewise.
10507         * doc/posix-functions/printf.texi: Likewise.
10508         * doc/posix-functions/snprintf.texi: Likewise.
10509         * doc/posix-functions/sprintf.texi: Likewise.
10510         * doc/posix-functions/vdprintf.texi: Likewise.
10511         * doc/posix-functions/vfprintf.texi: Likewise.
10512         * doc/posix-functions/vprintf.texi: Likewise.
10513         * doc/posix-functions/vsnprintf.texi: Likewise.
10514         * doc/posix-functions/vsprintf.texi: Likewise.
10515
10516 2011-06-19  Bruno Haible  <bruno@clisp.org>
10517
10518         roundl-ieee: Fix test failure on AIX 7.1.
10519         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
10520         * doc/posix-functions/roundl.texi: Mention problem with negative
10521         arguments.
10522
10523 2011-06-19  Bruno Haible  <bruno@clisp.org>
10524
10525         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
10526         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
10527         * doc/posix-functions/round.texi: Mention problem with negative
10528         arguments.
10529         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
10530
10531 2011-06-19  Bruno Haible  <bruno@clisp.org>
10532
10533         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
10534         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
10535         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
10536         * doc/posix-functions/roundf.texi: Mention problem with negative
10537         arguments.
10538         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
10539
10540 2011-06-19  Bruno Haible  <bruno@clisp.org>
10541
10542         ceilf-ieee: Work around bug on MacOS X 10.5.
10543         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
10544
10545         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
10546         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
10547         IEEE compliant, avoid compiler optimizations.
10548         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
10549         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
10550         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
10551         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
10552         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
10553         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
10554         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
10555         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
10556         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
10557         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
10558
10559 2011-06-19  Bruno Haible  <bruno@clisp.org>
10560
10561         ceilf-ieee: Work around bug on AIX 7.1.
10562         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
10563         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
10564
10565 2011-06-19  Bruno Haible  <bruno@clisp.org>
10566
10567         ceil-ieee: Work around bug on AIX 7.1.
10568         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
10569         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
10570
10571 2011-06-18  Bruno Haible  <bruno@clisp.org>
10572
10573         fsync test: Avoid test failure on MacOS X and AIX.
10574         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
10575         EINVAL.
10576
10577 2011-06-18  Bruno Haible  <bruno@clisp.org>
10578
10579         openat, fdopendir tests: Fix link errors.
10580         * modules/openat-tests (Depends-on): Add progname.
10581         * modules/fdopendir-tests (Depends-on): Likewise.
10582         * tests/test-fchownat.c: Include progname.h.
10583         (main): Call set_program_name.
10584         * tests/test-fstatat.c: Include progname.h.
10585         (main): Call set_program_name.
10586         * tests/test-mkdirat.c: Include progname.h.
10587         (main): Call set_program_name.
10588         * tests/test-openat.c: Include progname.h.
10589         (main): Call set_program_name.
10590         * tests/test-unlinkat.c: Include progname.h.
10591         (main): Call set_program_name.
10592         * tests/test-fdopendir.c: Include progname.h.
10593         (main): Call set_program_name.
10594
10595 2011-06-18  Bruno Haible  <bruno@clisp.org>
10596
10597         Doc update.
10598         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
10599         HP-UX.
10600         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
10601
10602 2011-06-18  Bruno Haible  <bruno@clisp.org>
10603
10604         getcwd tests: Avoid compilation error on HP-UX 11.31.
10605         * modules/getcwd-tests (Depends-on): Add pathmax.
10606         * tests/test-getcwd.c: Include pathmax.h.
10607
10608 2011-06-18  Bruno Haible  <bruno@clisp.org>
10609
10610         isfinite, isinf: Fix link error on AIX 6 and 7.
10611         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
10612         needed, also test the macro with a 'float' argument.
10613         * m4/isinf.m4 (gl_ISINF): Likewise.
10614
10615 2011-06-18  Bruno Haible  <bruno@clisp.org>
10616
10617         getloadavg: Don't clobber LIBS. Regression from previous commit.
10618         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
10619         AC_CHECK_LIB from here...
10620         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
10621         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
10622         gl_func_getloadavg_done.
10623         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10624
10625 2011-06-18  Bruno Haible  <bruno@clisp.org>
10626
10627         clean-temp: Improve documentation.
10628         * lib/clean-temp.h: Explain better how to use this module.
10629         Reported by John Darrington <john@darrington.wattle.id.au>.
10630
10631 2011-06-17  Bruno Haible  <bruno@clisp.org>
10632
10633         pread, pwrite: Avoid cc warning on AIX.
10634         * lib/unistd.in.h (pread): Undefine before defining as a macro.
10635         (pwrite): Likewise.
10636
10637 2011-06-17  Bruno Haible  <bruno@clisp.org>
10638
10639         spawn-pipe tests: Fix link error.
10640         * tests/test-spawn-pipe-child.c: Undefine fprintf.
10641         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10642
10643 2011-06-17  Bruno Haible  <bruno@clisp.org>
10644
10645         Tests: Remove unnecessary dependency.
10646         * modules/canonicalize-tests (Depends-on): Remove progname.
10647         * modules/chown-tests (Depends-on): Likewise.
10648         * modules/dirname-tests (Depends-on): Likewise.
10649         * modules/fdopendir-tests (Depends-on): Likewise.
10650         * modules/fdutimensat-tests (Depends-on): Likewise.
10651         * modules/hash-tests (Depends-on): Likewise.
10652         * modules/lchown-tests (Depends-on): Likewise.
10653         * modules/linkat-tests (Depends-on): Likewise.
10654         * modules/renameat-tests (Depends-on): Likewise.
10655         * modules/spawn-pipe-tests (Depends-on): Likewise.
10656         * modules/utimensat-tests (Depends-on): Likewise.
10657
10658 2011-06-17  Bruno Haible  <bruno@clisp.org>
10659
10660         spawn-pipe tests: Fix link error.
10661         * tests/test-spawn-pipe-child.c: Undefine fflush.
10662
10663 2011-06-17  Bruno Haible  <bruno@clisp.org>
10664
10665         Fix tests link errors.
10666         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
10667         * modules/chown-tests (Makefile.am): Don't link test-chown with
10668         LIBINTL.
10669         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
10670         LIBINTL.
10671         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
10672         LIBINTL.
10673         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
10674         LIBINTL.
10675
10676 2011-06-16  Bruno Haible  <bruno@clisp.org>
10677
10678         crypto/gc-sha1: Fix recent regression.
10679         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
10680         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
10681
10682         crypto/gc-md5: Fix recent regression.
10683         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
10684
10685         crypto/gc-md4: Fix recent regression.
10686         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
10687         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
10688
10689         crypto/gc-arctwo: Fix recent regression.
10690         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
10691         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
10692
10693         crypto/gc-rijndael: Fix recent regression.
10694         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
10695         (configure.ac): Invoke AC_LIBOBJ here.
10696         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
10697         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10698
10699         crypto/gc-hmac-sha1: Fix recent regression.
10700         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
10701         (configure.ac): Invoke AC_LIBOBJ here.
10702         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
10703         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10704
10705         crypto/gc-hmac-md5: Fix recent regression.
10706         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
10707         (configure.ac): Invoke AC_LIBOBJ here.
10708         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
10709         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10710
10711         crypto/gc-des: Fix recent regression.
10712         * modules/crypto/gc-des (Files): Remove m4/des.m4.
10713         (configure.ac): Invoke AC_LIBOBJ here.
10714         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
10715         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10716
10717         crypto/gc-arcfour: Fix recent regression.
10718         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
10719         (configure.ac): Invoke AC_LIBOBJ here.
10720         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
10721         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10722
10723 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
10724
10725         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
10726         After the 2011-05-21 change, this macro requires
10727         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
10728         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
10729
10730 2011-06-16  Bruno Haible  <bruno@clisp.org>
10731
10732         fprintftime: Move AC_LIBOBJ invocations to module description.
10733         * m4/fprintftime.m4: Remove file.
10734         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
10735         (configure.ac): Remove gl_FPRINTFTIME call.
10736         (Makefile.am): Augment lib_SOURCES.
10737         Reported by Jim Meyering.
10738
10739 2011-06-16  Bruno Haible  <bruno@clisp.org>
10740
10741         tmpfile-safer: Finish 2011-05-23 commit.
10742         * m4/stdio-safer.m4: Really remove file.
10743         Reported by Jim Meyering.
10744
10745 2011-06-16  Bruno Haible  <bruno@clisp.org>
10746
10747         syntax-check: Fix typo.
10748         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
10749         printf-posix.m4.
10750         Reported by Jim Meyering.
10751
10752 2011-06-13  Jim Meyering  <meyering@redhat.com>
10753
10754         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
10755         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
10756
10757 2011-05-23  Bruno Haible  <bruno@clisp.org>
10758
10759         yesno: Move AC_LIBOBJ invocations to module description.
10760         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
10761         * modules/yesno (Makefile.am): Augment lib_SOURCES.
10762
10763 2011-05-23  Bruno Haible  <bruno@clisp.org>
10764
10765         xstrtol: Move AC_LIBOBJ invocations to module description.
10766         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
10767         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
10768
10769 2011-05-23  Bruno Haible  <bruno@clisp.org>
10770
10771         xstrtold: Move AC_LIBOBJ invocations to module description.
10772         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
10773         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
10774
10775 2011-05-23  Bruno Haible  <bruno@clisp.org>
10776
10777         xstrtod: Move AC_LIBOBJ invocations to module description.
10778         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
10779         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
10780
10781 2011-05-23  Bruno Haible  <bruno@clisp.org>
10782
10783         xnanosleep: Move AC_LIBOBJ invocations to module description.
10784         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
10785         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
10786
10787 2011-05-23  Bruno Haible  <bruno@clisp.org>
10788
10789         xgetcwd: Move AC_LIBOBJ invocations to module description.
10790         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
10791         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
10792
10793 2011-05-23  Bruno Haible  <bruno@clisp.org>
10794
10795         xalloc: Move AC_LIBOBJ invocations to module description.
10796         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
10797         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
10798
10799 2011-05-23  Bruno Haible  <bruno@clisp.org>
10800
10801         write-any-file: Move AC_LIBOBJ invocations to module description.
10802         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
10803         invocation.
10804         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
10805
10806 2011-05-23  Bruno Haible  <bruno@clisp.org>
10807
10808         utimens: Move AC_LIBOBJ invocations to module description.
10809         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
10810         * modules/utimens (Makefile.am): Augment lib_SOURCES.
10811
10812 2011-05-23  Bruno Haible  <bruno@clisp.org>
10813
10814         utimecmp: Move AC_LIBOBJ invocations to module description.
10815         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
10816         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
10817
10818 2011-05-23  Bruno Haible  <bruno@clisp.org>
10819
10820         userspec: Move AC_LIBOBJ invocations to module description.
10821         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
10822         * modules/userspec (Makefile.am): Augment lib_SOURCES.
10823
10824 2011-05-23  Bruno Haible  <bruno@clisp.org>
10825
10826         unlinkdir: Move AC_LIBOBJ invocations to module description.
10827         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
10828         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
10829
10830 2011-05-23  Bruno Haible  <bruno@clisp.org>
10831
10832         unistd-safer: Move AC_LIBOBJ invocations to module description.
10833         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
10834         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
10835
10836 2011-05-23  Bruno Haible  <bruno@clisp.org>
10837
10838         tempname: Move AC_LIBOBJ invocations to module description.
10839         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
10840         * modules/tempname (Makefile.am): Augment lib_SOURCES.
10841
10842 2011-05-23  Bruno Haible  <bruno@clisp.org>
10843
10844         strftime: Move AC_LIBOBJ invocations to module description.
10845         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
10846         * modules/strftime (Makefile.am): Augment lib_SOURCES.
10847
10848 2011-05-23  Bruno Haible  <bruno@clisp.org>
10849
10850         stdlib-safer: Move AC_LIBOBJ invocations to module description.
10851         * m4/stdlib-safer.m4: Remove file.
10852         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
10853         (configure.ac): Remove gl_STDLIB_SAFER call.
10854         (Makefile.am): Augment lib_SOURCES.
10855
10856 2011-05-23  Bruno Haible  <bruno@clisp.org>
10857
10858         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
10859         * m4/stdio-safer.m4: Remove file.
10860         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
10861         (configure.ac): Remove gl_TMPFILE_SAFER call.
10862         (Makefile.am): Augment lib_SOURCES.
10863
10864 2011-05-23  Bruno Haible  <bruno@clisp.org>
10865
10866         popen-safer: Move AC_LIBOBJ invocations to module description.
10867         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
10868         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
10869         (configure.ac): Remove gl_POPEN_SAFER call.
10870         (Makefile.am): Augment lib_SOURCES.
10871
10872 2011-05-23  Bruno Haible  <bruno@clisp.org>
10873
10874         freopen-safer: Move AC_LIBOBJ invocations to module description.
10875         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
10876         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
10877         (configure.ac): Remove gl_FREOPEN_SAFER call.
10878         (Makefile.am): Augment lib_SOURCES.
10879
10880 2011-05-23  Bruno Haible  <bruno@clisp.org>
10881
10882         fopen-safer: Move AC_LIBOBJ invocations to module description.
10883         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
10884         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
10885         (configure.ac): Remove gl_FOPEN_SAFER call.
10886         (Makefile.am): Augment lib_SOURCES.
10887
10888 2011-05-23  Bruno Haible  <bruno@clisp.org>
10889
10890         crypto/sha512: Move AC_LIBOBJ invocations to module description.
10891         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
10892         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
10893
10894 2011-05-23  Bruno Haible  <bruno@clisp.org>
10895
10896         crypto/sha256: Move AC_LIBOBJ invocations to module description.
10897         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
10898         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
10899
10900 2011-05-23  Bruno Haible  <bruno@clisp.org>
10901
10902         crypto/sha1: Move AC_LIBOBJ invocations to module description.
10903         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
10904         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
10905
10906 2011-05-23  Bruno Haible  <bruno@clisp.org>
10907
10908         settime: Move AC_LIBOBJ invocations to module description.
10909         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
10910         * modules/settime (Makefile.am): Augment lib_SOURCES.
10911
10912 2011-05-23  Bruno Haible  <bruno@clisp.org>
10913
10914         savedir: Move AC_LIBOBJ invocations to module description.
10915         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
10916         * modules/savedir (Makefile.am): Augment lib_SOURCES.
10917
10918 2011-05-23  Bruno Haible  <bruno@clisp.org>
10919
10920         save-cwd: Move AC_LIBOBJ invocations to module description.
10921         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
10922         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
10923
10924 2011-05-23  Bruno Haible  <bruno@clisp.org>
10925
10926         same: Move AC_LIBOBJ invocations to module description.
10927         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
10928         * modules/same (Makefile.am): Augment lib_SOURCES.
10929
10930 2011-05-23  Bruno Haible  <bruno@clisp.org>
10931
10932         safe-write: Move AC_LIBOBJ invocations to module description.
10933         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
10934         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
10935         instead of gl_SAFE_WRITE.
10936         (Makefile.am): Augment lib_SOURCES.
10937
10938 2011-05-23  Bruno Haible  <bruno@clisp.org>
10939
10940         safe-read: Move AC_LIBOBJ invocations to module description.
10941         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
10942         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
10943         of gl_SAFE_READ.
10944         (Makefile.am): Augment lib_SOURCES.
10945
10946 2011-05-23  Bruno Haible  <bruno@clisp.org>
10947
10948         safe-alloc: Move AC_LIBOBJ invocations to module description.
10949         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
10950         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
10951
10952 2011-05-23  Bruno Haible  <bruno@clisp.org>
10953
10954         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
10955         * m4/rijndael.m4: Remove file.
10956         * modules/crypto/rijndael (Files): Remove it.
10957         (configure.ac): Remove gl_RIJNDAEL call.
10958         (Makefile.am): Augment lib_SOURCES.
10959
10960 2011-05-23  Bruno Haible  <bruno@clisp.org>
10961
10962         readtokens: Move AC_LIBOBJ invocations to module description.
10963         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
10964         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
10965
10966 2011-05-23  Bruno Haible  <bruno@clisp.org>
10967
10968         read-file: Move AC_LIBOBJ invocations to module description.
10969         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
10970         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
10971         of gl_FUNC_READ_FILE.
10972         (Makefile.am): Augment lib_SOURCES.
10973
10974 2011-05-23  Bruno Haible  <bruno@clisp.org>
10975
10976         quotearg: Move AC_LIBOBJ invocations to module description.
10977         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
10978         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
10979
10980 2011-05-23  Bruno Haible  <bruno@clisp.org>
10981
10982         quote: Move AC_LIBOBJ invocations to module description.
10983         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
10984         * modules/quote (Makefile.am): Augment lib_SOURCES.
10985
10986 2011-05-23  Bruno Haible  <bruno@clisp.org>
10987
10988         posixver: Move AC_LIBOBJ invocations to module description.
10989         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
10990         * modules/posixver (Makefile.am): Augment lib_SOURCES.
10991
10992 2011-05-23  Bruno Haible  <bruno@clisp.org>
10993
10994         posixtm: Move AC_LIBOBJ invocations to module description.
10995         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
10996         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
10997
10998 2011-05-23  Bruno Haible  <bruno@clisp.org>
10999
11000         physmem: Move AC_LIBOBJ invocations to module description.
11001         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
11002         * modules/physmem (Makefile.am): Augment lib_SOURCES.
11003
11004 2011-05-23  Bruno Haible  <bruno@clisp.org>
11005
11006         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
11007         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
11008         invocation.
11009         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
11010
11011 2011-05-23  Bruno Haible  <bruno@clisp.org>
11012
11013         mpsort: Move AC_LIBOBJ invocations to module description.
11014         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
11015         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
11016
11017 2011-05-23  Bruno Haible  <bruno@clisp.org>
11018
11019         modechange: Move AC_LIBOBJ invocations to module description.
11020         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
11021         * modules/modechange (Makefile.am): Augment lib_SOURCES.
11022
11023 2011-05-23  Bruno Haible  <bruno@clisp.org>
11024
11025         mkdir-p: Move AC_LIBOBJ invocations to module description.
11026         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
11027         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
11028
11029 2011-05-23  Bruno Haible  <bruno@clisp.org>
11030
11031         mkancesdirs: Move AC_LIBOBJ invocations to module description.
11032         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
11033         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
11034
11035 2011-05-23  Bruno Haible  <bruno@clisp.org>
11036
11037         mgetgroups: Move AC_LIBOBJ invocations to module description.
11038         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
11039         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
11040
11041 2011-05-23  Bruno Haible  <bruno@clisp.org>
11042
11043         memxor: Move AC_LIBOBJ invocations to module description.
11044         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
11045         * modules/memxor (Makefile.am): Augment lib_SOURCES.
11046
11047 2011-05-23  Bruno Haible  <bruno@clisp.org>
11048
11049         memcoll: Move AC_LIBOBJ invocations to module description.
11050         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
11051         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
11052
11053 2011-05-23  Bruno Haible  <bruno@clisp.org>
11054
11055         memcasecmp: Move AC_LIBOBJ invocations to module description.
11056         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
11057         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
11058
11059 2011-05-23  Bruno Haible  <bruno@clisp.org>
11060
11061         crypto/md5: Move AC_LIBOBJ invocations to module description.
11062         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
11063         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
11064
11065 2011-05-23  Bruno Haible  <bruno@clisp.org>
11066
11067         crypto/md4: Move AC_LIBOBJ invocations to module description.
11068         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
11069         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
11070
11071 2011-05-23  Bruno Haible  <bruno@clisp.org>
11072
11073         crypto/md2: Move AC_LIBOBJ invocations to module description.
11074         * m4/md2.m4: Remove file.
11075         * modules/crypto/md2 (Files): Remove it.
11076         (configure.ac): Remove gl_MD2 call.
11077         (Makefile.am): Augment lib_SOURCES.
11078
11079 2011-05-23  Bruno Haible  <bruno@clisp.org>
11080
11081         long-options: Move AC_LIBOBJ invocations to module description.
11082         * m4/long-options.m4: Remove file.
11083         * modules/long-options (Files): Remove it.
11084         (configure.ac): Remove gl_LONG_OPTIONS call.
11085         (Makefile.am): Augment lib_SOURCES.
11086
11087 2011-05-23  Bruno Haible  <bruno@clisp.org>
11088
11089         i-ring: Move AC_LIBOBJ invocations to module description.
11090         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
11091         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
11092
11093 2011-05-23  Bruno Haible  <bruno@clisp.org>
11094
11095         idcache: Move AC_LIBOBJ invocations to module description.
11096         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
11097         * modules/idcache (Makefile.am): Augment lib_SOURCES.
11098
11099 2011-05-23  Bruno Haible  <bruno@clisp.org>
11100
11101         human: Move AC_LIBOBJ invocations to module description.
11102         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
11103         * modules/human (Makefile.am): Augment lib_SOURCES.
11104
11105 2011-05-23  Bruno Haible  <bruno@clisp.org>
11106
11107         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
11108         * m4/hmac-sha1.m4: Remove file.
11109         * modules/crypto/hmac-sha1 (Files): Remove it.
11110         (configure.ac): Remove gl_HMAC_SHA1 call.
11111         (Makefile.am): Augment lib_SOURCES.
11112
11113 2011-05-23  Bruno Haible  <bruno@clisp.org>
11114
11115         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
11116         * m4/hmac-md5.m4: Remove file.
11117         * modules/crypto/hmac-md5 (Files): Remove it.
11118         (configure.ac): Remove gl_HMAC_MD5 call.
11119         (Makefile.am): Augment lib_SOURCES.
11120
11121 2011-05-23  Bruno Haible  <bruno@clisp.org>
11122
11123         hash: Move AC_LIBOBJ invocations to module description.
11124         * m4/hash.m4: Remove file.
11125         * modules/hash (Files): Remove it.
11126         (configure.ac): Remove gl_HASH call.
11127         (Makefile.am): Augment lib_SOURCES.
11128
11129 2011-05-23  Bruno Haible  <bruno@clisp.org>
11130
11131         hard-locale: Move AC_LIBOBJ invocations to module description.
11132         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
11133         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
11134
11135 2011-05-23  Bruno Haible  <bruno@clisp.org>
11136
11137         getugroups: Move AC_LIBOBJ invocations to module description.
11138         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
11139         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
11140
11141 2011-05-23  Bruno Haible  <bruno@clisp.org>
11142
11143         gettime: Move AC_LIBOBJ invocations to module description.
11144         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
11145         * modules/gettime (Makefile.am): Augment lib_SOURCES.
11146
11147 2011-05-23  Bruno Haible  <bruno@clisp.org>
11148
11149         getndelim2: Move AC_LIBOBJ invocations to module description.
11150         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
11151         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
11152
11153 2011-05-23  Bruno Haible  <bruno@clisp.org>
11154
11155         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
11156         * m4/gc-pbkdf2-sha1.m4: Remove file.
11157         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
11158         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
11159         (Makefile.am): Augment lib_SOURCES.
11160
11161 2011-05-23  Bruno Haible  <bruno@clisp.org>
11162
11163         fts: Move AC_LIBOBJ invocations to module description.
11164         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
11165         * modules/fts (configure.ac): ... to here.
11166
11167 2011-05-23  Bruno Haible  <bruno@clisp.org>
11168
11169         file-type: Move AC_LIBOBJ invocations to module description.
11170         * m4/file-type.m4: Remove file.
11171         * modules/file-type (Files): Remove it.
11172         (configure.ac): Remove gl_FILE_TYPE call.
11173         (Makefile.am): Augment lib_SOURCES.
11174
11175 2011-05-23  Bruno Haible  <bruno@clisp.org>
11176
11177         filenamecat*: Respect rules for use of AC_LIBOBJ.
11178         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
11179         Remove AC_LIBOBJ invocation.
11180         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
11181         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
11182
11183 2011-05-23  Bruno Haible  <bruno@clisp.org>
11184
11185         filemode: Move AC_LIBOBJ invocations to module description.
11186         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
11187         * modules/filemode (Makefile.am): Augment lib_SOURCES.
11188
11189 2011-05-23  Bruno Haible  <bruno@clisp.org>
11190
11191         openat-safer: Move AC_LIBOBJ invocations to module description.
11192         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
11193         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
11194
11195 2011-05-23  Bruno Haible  <bruno@clisp.org>
11196
11197         fcntl-safer: Move AC_LIBOBJ invocations to module description.
11198         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
11199         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
11200
11201 2011-05-23  Bruno Haible  <bruno@clisp.org>
11202
11203         exclude: Move AC_LIBOBJ invocations to module description.
11204         * m4/exclude.m4: Remove file.
11205         * modules/exclude (Files): Remove it.
11206         (configure.ac): Remove gl_EXCLUDE call.
11207         (Makefile.am): Augment lib_SOURCES.
11208
11209 2011-05-23  Bruno Haible  <bruno@clisp.org>
11210
11211         dirname*: Respect rules for use of AC_LIBOBJ.
11212         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
11213         invocations.
11214         * modules/dirname (Makefile.am): Augment lib_SOURCES.
11215         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
11216
11217 2011-05-23  Bruno Haible  <bruno@clisp.org>
11218
11219         dirent-safer: Move AC_LIBOBJ invocations to module description.
11220         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
11221         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
11222
11223 2011-05-23  Bruno Haible  <bruno@clisp.org>
11224
11225         crypto/des: Move AC_LIBOBJ invocations to module description.
11226         * m4/des.m4: Remove file.
11227         * modules/crypto/des (Files): Remove it.
11228         (configure.ac): Remove gl_DES call.
11229         (Makefile.am): Augment lib_SOURCES.
11230
11231 2011-05-23  Bruno Haible  <bruno@clisp.org>
11232
11233         cycle-check: Move AC_LIBOBJ invocations to module description.
11234         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
11235         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
11236
11237 2011-05-23  Bruno Haible  <bruno@clisp.org>
11238
11239         c-strtold: Move AC_LIBOBJ invocations to module description.
11240         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
11241         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
11242
11243 2011-05-23  Bruno Haible  <bruno@clisp.org>
11244
11245         c-strtod: Move AC_LIBOBJ invocations to module description.
11246         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
11247         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
11248
11249 2011-05-23  Bruno Haible  <bruno@clisp.org>
11250
11251         crc: Move AC_LIBOBJ invocations to module description.
11252         * m4/crc.m4: Remove file.
11253         * modules/crc (Files): Remove it.
11254         (configure.ac): Remove gl_CRC call.
11255         (Makefile.am): Augment lib_SOURCES.
11256
11257 2011-05-23  Bruno Haible  <bruno@clisp.org>
11258
11259         close-stream: Move AC_LIBOBJ invocations to module description.
11260         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
11261         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
11262
11263 2011-05-23  Bruno Haible  <bruno@clisp.org>
11264
11265         closeout: Move AC_LIBOBJ invocations to module description.
11266         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
11267         * modules/closeout (Makefile.am): Augment lib_SOURCES.
11268
11269 2011-05-23  Bruno Haible  <bruno@clisp.org>
11270
11271         closein: Move AC_LIBOBJ invocations to module description.
11272         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
11273         * modules/closein (Makefile.am): Augment lib_SOURCES.
11274
11275 2011-05-23  Bruno Haible  <bruno@clisp.org>
11276
11277         cloexec: Move AC_LIBOBJ invocations to module description.
11278         * m4/cloexec.m4: Remove file.
11279         * modules/cloexec (Files): Remove it.
11280         (configure.ac): Remove gl_CLOEXEC call.
11281         (Makefile.am): Augment lib_SOURCES.
11282
11283 2011-05-23  Bruno Haible  <bruno@clisp.org>
11284
11285         check-version: Move AC_LIBOBJ invocations to module description.
11286         * m4/check-version.m4: Remove file.
11287         * modules/check-version (Files): Remove it.
11288         (configure.ac): Remove gl_CHECK_VERSION call.
11289         (Makefile.am): Augment lib_SOURCES.
11290
11291 2011-05-23  Bruno Haible  <bruno@clisp.org>
11292
11293         chdir-safer: Move AC_LIBOBJ invocations to module description.
11294         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
11295         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
11296
11297 2011-05-23  Bruno Haible  <bruno@clisp.org>
11298
11299         canonicalize: Move AC_LIBOBJ invocations to module description.
11300         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
11301         AC_LIBOBJ invocation.
11302         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
11303
11304 2011-05-23  Bruno Haible  <bruno@clisp.org>
11305
11306         canon-host: Move AC_LIBOBJ invocations to module description.
11307         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
11308         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
11309         instead of gl_CANON_HOST.
11310         (Makefile.am): Augment lib_SOURCES.
11311
11312 2011-05-23  Bruno Haible  <bruno@clisp.org>
11313
11314         backupfile: Move AC_LIBOBJ invocations to module description.
11315         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
11316         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
11317
11318 2011-05-23  Bruno Haible  <bruno@clisp.org>
11319
11320         argmatch: Move AC_LIBOBJ invocations to module description.
11321         * m4/argmatch.m4: Remove file.
11322         * modules/argmatch (Files): Remove it.
11323         (configure.ac): Remove gl_ARGMATCH call.
11324         (Makefile.am): Augment lib_SOURCES.
11325
11326 2011-05-23  Bruno Haible  <bruno@clisp.org>
11327
11328         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
11329         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
11330         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
11331
11332 2011-05-23  Bruno Haible  <bruno@clisp.org>
11333
11334         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
11335         * m4/arcfour.m4: Remove file.
11336         * modules/crypto/arcfour (Files): Remove it.
11337         (configure.ac): Remove gl_ARCFOUR call.
11338         (Makefile.am): Augment lib_SOURCES.
11339
11340 2011-05-22  Bruno Haible  <bruno@clisp.org>
11341
11342         write: Move AC_LIBOBJ invocations to module description.
11343         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
11344         * modules/write (configure.ac): ... to here.
11345
11346 2011-05-22  Bruno Haible  <bruno@clisp.org>
11347
11348         wmemset: Move AC_LIBOBJ invocations to module description.
11349         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
11350         here...
11351         * modules/wmemset (configure.ac): ... to here.
11352
11353 2011-05-22  Bruno Haible  <bruno@clisp.org>
11354
11355         wmemmove: Move AC_LIBOBJ invocations to module description.
11356         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
11357         here...
11358         * modules/wmemmove (configure.ac): ... to here.
11359
11360 2011-05-22  Bruno Haible  <bruno@clisp.org>
11361
11362         wmemcpy: Move AC_LIBOBJ invocations to module description.
11363         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
11364         here...
11365         * modules/wmemcpy (configure.ac): ... to here.
11366
11367 2011-05-22  Bruno Haible  <bruno@clisp.org>
11368
11369         wmemcmp: Move AC_LIBOBJ invocations to module description.
11370         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
11371         here...
11372         * modules/wmemcmp (configure.ac): ... to here.
11373
11374 2011-05-22  Bruno Haible  <bruno@clisp.org>
11375
11376         wmemchr: Move AC_LIBOBJ invocations to module description.
11377         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
11378         here...
11379         * modules/wmemchr (configure.ac): ... to here.
11380
11381 2011-05-22  Bruno Haible  <bruno@clisp.org>
11382
11383         wcswidth: Move AC_LIBOBJ invocations to module description.
11384         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
11385         here...
11386         * modules/wcswidth (configure.ac): ... to here.
11387
11388 2011-05-22  Bruno Haible  <bruno@clisp.org>
11389
11390         wcwidth: Respect rules for use of AC_LIBOBJ.
11391         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
11392         invocation from here...
11393         * modules/wcwidth (configure.ac): ... to here.
11394         (Depends-on): Update conditions.
11395
11396 2011-05-22  Bruno Haible  <bruno@clisp.org>
11397
11398         wctype: Move AC_LIBOBJ invocations to module description.
11399         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
11400         invocation from here...
11401         * modules/wctype (configure.ac): ... to here.
11402         (Depends-on): Update conditions.
11403
11404 2011-05-22  Bruno Haible  <bruno@clisp.org>
11405
11406         wctrans: Move AC_LIBOBJ invocations to module description.
11407         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
11408         invocation from here...
11409         * modules/wctrans (configure.ac): ... to here.
11410
11411 2011-05-22  Bruno Haible  <bruno@clisp.org>
11412
11413         wctomb: Move AC_LIBOBJ invocations to module description.
11414         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
11415         invocations from here...
11416         * modules/wctomb (configure.ac): ... to here.
11417
11418 2011-05-22  Bruno Haible  <bruno@clisp.org>
11419
11420         wctob: Move AC_LIBOBJ invocations to module description.
11421         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
11422         gl_PREREQ_WCTOB invocations from here...
11423         * modules/wctob (configure.ac): ... to here.
11424         (Depends-on): Update conditions.
11425
11426 2011-05-22  Bruno Haible  <bruno@clisp.org>
11427
11428         wcsxfrm: Move AC_LIBOBJ invocations to module description.
11429         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
11430         here...
11431         * modules/wcsxfrm (configure.ac): ... to here.
11432
11433 2011-05-22  Bruno Haible  <bruno@clisp.org>
11434
11435         wcstok: Move AC_LIBOBJ invocations to module description.
11436         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
11437         * modules/wcstok (configure.ac): ... to here.
11438
11439 2011-05-22  Bruno Haible  <bruno@clisp.org>
11440
11441         wcsstr: Move AC_LIBOBJ invocations to module description.
11442         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
11443         * modules/wcsstr (configure.ac): ... to here.
11444
11445 2011-05-22  Bruno Haible  <bruno@clisp.org>
11446
11447         wcsspn: Move AC_LIBOBJ invocations to module description.
11448         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
11449         * modules/wcsspn (configure.ac): ... to here.
11450
11451 2011-05-22  Bruno Haible  <bruno@clisp.org>
11452
11453         wcsrtombs: Move AC_LIBOBJ invocations to module description.
11454         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
11455         gl_PREREQ_WCSRTOMBS invocations from here...
11456         * modules/wcsrtombs (configure.ac): ... to here.
11457
11458 2011-05-22  Bruno Haible  <bruno@clisp.org>
11459
11460         wcsrchr: Move AC_LIBOBJ invocations to module description.
11461         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
11462         here...
11463         * modules/wcsrchr (configure.ac): ... to here.
11464
11465 2011-05-22  Bruno Haible  <bruno@clisp.org>
11466
11467         wcspbrk: Move AC_LIBOBJ invocations to module description.
11468         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
11469         here...
11470         * modules/wcspbrk (configure.ac): ... to here.
11471
11472 2011-05-22  Bruno Haible  <bruno@clisp.org>
11473
11474         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
11475         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
11476         gl_PREREQ_WCSNRTOMBS invocations from here...
11477         * modules/wcsnrtombs (configure.ac): ... to here.
11478
11479 2011-05-22  Bruno Haible  <bruno@clisp.org>
11480
11481         wcsnlen: Move AC_LIBOBJ invocations to module description.
11482         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
11483         here...
11484         * modules/wcsnlen (configure.ac): ... to here.
11485
11486 2011-05-22  Bruno Haible  <bruno@clisp.org>
11487
11488         wcsncpy: Move AC_LIBOBJ invocations to module description.
11489         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
11490         here...
11491         * modules/wcsncpy (configure.ac): ... to here.
11492
11493 2011-05-22  Bruno Haible  <bruno@clisp.org>
11494
11495         wcsncmp: Move AC_LIBOBJ invocations to module description.
11496         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
11497         here...
11498         * modules/wcsncmp (configure.ac): ... to here.
11499
11500 2011-05-22  Bruno Haible  <bruno@clisp.org>
11501
11502         wcsncat: Move AC_LIBOBJ invocations to module description.
11503         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
11504         here...
11505         * modules/wcsncat (configure.ac): ... to here.
11506
11507 2011-05-22  Bruno Haible  <bruno@clisp.org>
11508
11509         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
11510         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
11511         from here...
11512         * modules/wcsncasecmp (configure.ac): ... to here.
11513
11514 2011-05-22  Bruno Haible  <bruno@clisp.org>
11515
11516         wcslen: Move AC_LIBOBJ invocations to module description.
11517         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
11518         * modules/wcslen (configure.ac): ... to here.
11519
11520 2011-05-22  Bruno Haible  <bruno@clisp.org>
11521
11522         wcsdup: Move AC_LIBOBJ invocations to module description.
11523         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
11524         * modules/wcsdup (configure.ac): ... to here.
11525
11526 2011-05-22  Bruno Haible  <bruno@clisp.org>
11527
11528         wcscspn: Move AC_LIBOBJ invocations to module description.
11529         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
11530         here...
11531         * modules/wcscspn (configure.ac): ... to here.
11532
11533 2011-05-22  Bruno Haible  <bruno@clisp.org>
11534
11535         wcscpy: Move AC_LIBOBJ invocations to module description.
11536         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
11537         * modules/wcscpy (configure.ac): ... to here.
11538
11539 2011-05-22  Bruno Haible  <bruno@clisp.org>
11540
11541         wcscoll: Move AC_LIBOBJ invocations to module description.
11542         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
11543         here...
11544         * modules/wcscoll (configure.ac): ... to here.
11545
11546 2011-05-22  Bruno Haible  <bruno@clisp.org>
11547
11548         wcscmp: Move AC_LIBOBJ invocations to module description.
11549         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
11550         * modules/wcscmp (configure.ac): ... to here.
11551
11552 2011-05-22  Bruno Haible  <bruno@clisp.org>
11553
11554         wcschr: Move AC_LIBOBJ invocations to module description.
11555         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
11556         * modules/wcschr (configure.ac): ... to here.
11557
11558 2011-05-22  Bruno Haible  <bruno@clisp.org>
11559
11560         wcscat: Move AC_LIBOBJ invocations to module description.
11561         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
11562         * modules/wcscat (configure.ac): ... to here.
11563
11564 2011-05-22  Bruno Haible  <bruno@clisp.org>
11565
11566         wcscasecmp: Move AC_LIBOBJ invocations to module description.
11567         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
11568         here...
11569         * modules/wcscasecmp (configure.ac): ... to here.
11570
11571 2011-05-22  Bruno Haible  <bruno@clisp.org>
11572
11573         wcrtomb: Move AC_LIBOBJ invocations to module description.
11574         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
11575         invocations from here...
11576         * modules/wcrtomb (configure.ac): ... to here.
11577
11578 2011-05-22  Bruno Haible  <bruno@clisp.org>
11579
11580         wcpncpy: Move AC_LIBOBJ invocations to module description.
11581         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
11582         here...
11583         * modules/wcpncpy (configure.ac): ... to here.
11584
11585 2011-05-22  Bruno Haible  <bruno@clisp.org>
11586
11587         wcpcpy: Move AC_LIBOBJ invocations to module description.
11588         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
11589         * modules/wcpcpy (configure.ac): ... to here.
11590
11591 2011-05-22  Bruno Haible  <bruno@clisp.org>
11592
11593         waitpid: Move AC_LIBOBJ invocations to module description.
11594         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
11595         invocation from here...
11596         * modules/waitpid (configure.ac): ... to here.
11597
11598 2011-05-22  Bruno Haible  <bruno@clisp.org>
11599
11600         utimensat: Move AC_LIBOBJ invocations to module description.
11601         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
11602         here...
11603         * modules/utimensat (configure.ac): ... to here.
11604
11605 2011-05-22  Bruno Haible  <bruno@clisp.org>
11606
11607         usleep: Move AC_LIBOBJ invocations to module description.
11608         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
11609         here...
11610         * modules/usleep (configure.ac): ... to here.
11611
11612 2011-05-22  Bruno Haible  <bruno@clisp.org>
11613
11614         unlockpt: Move AC_LIBOBJ invocations to module description.
11615         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
11616         gl_PREREQ_UNLOCKPT invocations from here...
11617         * modules/unlockpt (configure.ac): ... to here.
11618
11619 2011-05-22  Bruno Haible  <bruno@clisp.org>
11620
11621         unlink: Respect rules for use of AC_LIBOBJ.
11622         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
11623         * modules/unlink (configure.ac): ... to here.
11624
11625 2011-05-22  Bruno Haible  <bruno@clisp.org>
11626
11627         uname: Move AC_LIBOBJ invocations to module description.
11628         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
11629         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
11630         here...
11631         * modules/uname (configure.ac): ... to here.
11632
11633 2011-05-22  Bruno Haible  <bruno@clisp.org>
11634
11635         ttyname_r: Move AC_LIBOBJ invocations to module description.
11636         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
11637         gl_PREREQ_TTYNAME_R invocations from here...
11638         * modules/ttyname_r (configure.ac): ... to here.
11639
11640 2011-05-22  Bruno Haible  <bruno@clisp.org>
11641
11642         tsearch: Move AC_LIBOBJ invocations to module description.
11643         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
11644         invocations from here...
11645         * modules/tsearch (configure.ac): ... to here.
11646
11647 2011-05-22  Bruno Haible  <bruno@clisp.org>
11648
11649         towctrans: Move AC_LIBOBJ invocations to module description.
11650         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
11651         AC_LIBOBJ invocation from here...
11652         * modules/towctrans (configure.ac): ... to here.
11653
11654 2011-05-22  Bruno Haible  <bruno@clisp.org>
11655
11656         tmpfile: Move AC_LIBOBJ invocations to module description.
11657         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
11658         invocations from here...
11659         * modules/tmpfile (configure.ac): ... to here.
11660
11661 2011-05-22  Bruno Haible  <bruno@clisp.org>
11662
11663         times: Move AC_LIBOBJ invocations to module description.
11664         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
11665         * modules/times (configure.ac): ... to here.
11666
11667 2011-05-22  Bruno Haible  <bruno@clisp.org>
11668
11669         time_r: Move AC_LIBOBJ invocations to module description.
11670         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
11671         invocations from here...
11672         * modules/time_r (configure.ac): ... to here.
11673
11674 2011-05-22  Bruno Haible  <bruno@clisp.org>
11675
11676         timegm: Move AC_LIBOBJ invocations to module description.
11677         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
11678         invocations from here...
11679         * modules/timegm (configure.ac): ... to here.
11680
11681 2011-05-22  Bruno Haible  <bruno@clisp.org>
11682
11683         tcgetsid: Move AC_LIBOBJ invocations to module description.
11684         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
11685         and gl_PREREQ_TCGETSID invocations from here...
11686         * modules/tcgetsid (configure.ac): ... to here.
11687         (Depends-on): Update conditions.
11688
11689 2011-05-22  Bruno Haible  <bruno@clisp.org>
11690
11691         symlinkat: Move AC_LIBOBJ invocations to module description.
11692         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
11693         here...
11694         * modules/symlinkat (configure.ac): ... to here.
11695
11696 2011-05-22  Bruno Haible  <bruno@clisp.org>
11697
11698         symlink: Move AC_LIBOBJ invocations to module description.
11699         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
11700         here...
11701         * modules/symlink (configure.ac): ... to here.
11702
11703 2011-05-22  Bruno Haible  <bruno@clisp.org>
11704
11705         strverscmp: Move AC_LIBOBJ invocations to module description.
11706         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
11707         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
11708         from here...
11709         * modules/strverscmp (configure.ac): ... to here.
11710
11711 2011-05-22  Bruno Haible  <bruno@clisp.org>
11712
11713         strtok_r: Move AC_LIBOBJ invocations to module description.
11714         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
11715         and gl_PREREQ_STRTOK_R invocations from here...
11716         * modules/strtok_r (configure.ac): ... to here.
11717         (Depends-on): Update conditions.
11718
11719 2011-05-22  Bruno Haible  <bruno@clisp.org>
11720
11721         strtoumax: Move AC_LIBOBJ invocations to module description.
11722         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
11723         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
11724         from here...
11725         * modules/strtoumax (configure.ac): ... to here.
11726
11727 2011-05-22  Bruno Haible  <bruno@clisp.org>
11728
11729         strtoimax: Move AC_LIBOBJ invocations to module description.
11730         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
11731         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
11732         from here...
11733         * modules/strtoimax (configure.ac): ... to here.
11734
11735 2011-05-22  Bruno Haible  <bruno@clisp.org>
11736
11737         strtoull: Move AC_LIBOBJ invocations to module description.
11738         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
11739         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
11740         from here...
11741         * modules/strtoull (configure.ac): ... to here.
11742
11743 2011-05-22  Bruno Haible  <bruno@clisp.org>
11744
11745         strtoll: Move AC_LIBOBJ invocations to module description.
11746         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
11747         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
11748         here...
11749         * modules/strtoll (configure.ac): ... to here.
11750
11751 2011-05-22  Bruno Haible  <bruno@clisp.org>
11752
11753         strtoul: Move AC_LIBOBJ invocations to module description.
11754         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
11755         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
11756         * modules/strtoul (configure.ac): ... to here.
11757
11758 2011-05-22  Bruno Haible  <bruno@clisp.org>
11759
11760         strtol: Move AC_LIBOBJ invocations to module description.
11761         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
11762         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
11763         * modules/strtol (configure.ac): ... to here.
11764
11765 2011-05-22  Bruno Haible  <bruno@clisp.org>
11766
11767         strtod: Move AC_LIBOBJ invocations to module description.
11768         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
11769         invocations from here...
11770         * modules/strtod (configure.ac): ... to here.
11771
11772 2011-05-22  Bruno Haible  <bruno@clisp.org>
11773
11774         strstr*: Move AC_LIBOBJ invocations to module description.
11775         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
11776         invocations from here...
11777         * modules/strstr-simple (configure.ac): ... to here.
11778         * modules/strstr (configure.ac): ... and here.
11779
11780 2011-05-22  Bruno Haible  <bruno@clisp.org>
11781
11782         strsignal: Move AC_LIBOBJ invocations to module description.
11783         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
11784         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
11785         * modules/strsignal (configure.ac): ... to here.
11786         (Depends-on): Update conditions.
11787
11788 2011-05-22  Bruno Haible  <bruno@clisp.org>
11789
11790         strsep: Move AC_LIBOBJ invocations to module description.
11791         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
11792         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
11793         here...
11794         * modules/strsep (configure.ac): ... to here.
11795
11796 2011-05-22  Bruno Haible  <bruno@clisp.org>
11797
11798         strptime: Move AC_LIBOBJ invocations to module description.
11799         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
11800         gl_PREREQ_STRPTIME invocations from here...
11801         * modules/strptime (configure.ac): ... to here.
11802
11803 2011-05-22  Bruno Haible  <bruno@clisp.org>
11804
11805         strpbrk: Move AC_LIBOBJ invocations to module description.
11806         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
11807         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
11808         here...
11809         * modules/strpbrk (configure.ac): ... to here.
11810
11811 2011-05-22  Bruno Haible  <bruno@clisp.org>
11812
11813         strnlen: Move AC_LIBOBJ invocations to module description.
11814         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
11815         invocations from here...
11816         * modules/strnlen (configure.ac): ... to here.
11817
11818 2011-05-22  Bruno Haible  <bruno@clisp.org>
11819
11820         strndup: Move AC_LIBOBJ invocations to module description.
11821         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
11822         invocations from here...
11823         * modules/strndup (configure.ac): ... to here.
11824         (Depends-on): Update conditions.
11825
11826 2011-05-22  Bruno Haible  <bruno@clisp.org>
11827
11828         strncat: Move AC_LIBOBJ invocations to module description.
11829         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
11830         invocations from here...
11831         * modules/strncat (configure.ac): ... to here.
11832
11833 2011-05-22  Bruno Haible  <bruno@clisp.org>
11834
11835         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
11836         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
11837         invocations from here...
11838         * modules/strdup (configure.ac): ... to here.
11839         * modules/strdup-posix (configure.ac): ... and here.
11840
11841 2011-05-22  Bruno Haible  <bruno@clisp.org>
11842
11843         strcspn: Move AC_LIBOBJ invocations to module description.
11844         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
11845         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
11846         here...
11847         * modules/strcspn (configure.ac): ... to here.
11848
11849 2011-05-22  Bruno Haible  <bruno@clisp.org>
11850
11851         strchrnul: Move AC_LIBOBJ invocations to module description.
11852         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
11853         gl_PREREQ_STRCHRNUL invocations from here...
11854         * modules/strchrnul (configure.ac): ... to here.
11855
11856 2011-05-22  Bruno Haible  <bruno@clisp.org>
11857
11858         strcasestr*: Move AC_LIBOBJ invocations to module description.
11859         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
11860         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
11861         * modules/strcasestr-simple (configure.ac): ... to here.
11862         * modules/strcasestr (configure.ac): ... and here.
11863
11864 2011-05-22  Bruno Haible  <bruno@clisp.org>
11865
11866         strcase: Move AC_LIBOBJ invocations to module description.
11867         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
11868         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
11869         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
11870         gl_PREREQ_STRNCASECMP invocations from here...
11871         * modules/strcase (configure.ac): ... to here.
11872
11873 2011-05-22  Bruno Haible  <bruno@clisp.org>
11874
11875         stpncpy: Move AC_LIBOBJ invocations to module description.
11876         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
11877         here...
11878         * modules/stpncpy (configure.ac): ... to here.
11879
11880 2011-05-22  Bruno Haible  <bruno@clisp.org>
11881
11882         stpcpy: Move AC_LIBOBJ invocations to module description.
11883         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
11884         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
11885         here...
11886         * modules/stpcpy (configure.ac): ... to here.
11887
11888 2011-05-21  Bruno Haible  <bruno@clisp.org>
11889
11890         stat: Move AC_LIBOBJ invocations to module description.
11891         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
11892         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
11893         here...
11894         * modules/stat (configure.ac): ... to here.
11895
11896 2011-05-21  Bruno Haible  <bruno@clisp.org>
11897
11898         sleep: Move AC_LIBOBJ invocations to module description.
11899         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
11900         * modules/sleep (configure.ac): ... to here.
11901
11902 2011-05-21  Bruno Haible  <bruno@clisp.org>
11903
11904         signbit: Move AC_LIBOBJ invocations to module description.
11905         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
11906         * modules/signbit (configure.ac): ... to here.
11907
11908 2011-05-21  Bruno Haible  <bruno@clisp.org>
11909
11910         sigprocmask: Move AC_LIBOBJ invocations to module description.
11911         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
11912         gl_PREREQ_SIGPROMASK invocations from here...
11913         * modules/sigprocmask (configure.ac): ... to here.
11914
11915 2011-05-21  Bruno Haible  <bruno@clisp.org>
11916
11917         sigaction: Move AC_LIBOBJ invocations to module description.
11918         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
11919         gl_PREREQ_SIGACTION invocations from here...
11920         * modules/sigaction (configure.ac): ... to here.
11921
11922 2011-05-21  Bruno Haible  <bruno@clisp.org>
11923
11924         sig2str: Move AC_LIBOBJ invocations to module description.
11925         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
11926         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
11927         here...
11928         * modules/sig2str (configure.ac): ... to here.
11929
11930 2011-05-21  Bruno Haible  <bruno@clisp.org>
11931
11932         setlocale: Move AC_LIBOBJ invocations to module description.
11933         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
11934         gl_PREREQ_SETLOCALE invocations from here...
11935         * modules/setlocale (configure.ac): ... to here.
11936
11937 2011-05-21  Bruno Haible  <bruno@clisp.org>
11938
11939         unsetenv: Move AC_LIBOBJ invocations to module description.
11940         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
11941         and gl_PREREQ_UNSETENV invocations from here...
11942         * modules/unsetenv (configure.ac): ... to here.
11943         (Depends-on): Update.
11944
11945 2011-05-21  Bruno Haible  <bruno@clisp.org>
11946
11947         setenv: Move AC_LIBOBJ invocations to module description.
11948         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
11949         here...
11950         * modules/setenv (configure.ac): ... to here.
11951
11952 2011-05-21  Bruno Haible  <bruno@clisp.org>
11953
11954         selinux-h: Move AC_LIBOBJ invocations to module description.
11955         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
11956         AC_LIBOBJ invocation from here...
11957         * modules/selinux-h (configure.ac): ... to here.
11958
11959 2011-05-21  Bruno Haible  <bruno@clisp.org>
11960
11961         select: Respect rules for use of AC_LIBOBJ.
11962         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
11963         here...
11964         * modules/select (configure.ac): ... to here.
11965
11966 2011-05-21  Bruno Haible  <bruno@clisp.org>
11967
11968         scandir: Move AC_LIBOBJ invocations to module description.
11969         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
11970         invocations from here...
11971         * modules/scandir (configure.ac): ... to here.
11972
11973 2011-05-21  Bruno Haible  <bruno@clisp.org>
11974
11975         rpmatch: Move AC_LIBOBJ invocations to module description.
11976         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
11977         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
11978         here...
11979         * modules/rpmatch (configure.ac): ... to here.
11980
11981 2011-05-21  Bruno Haible  <bruno@clisp.org>
11982
11983         rmdir: Respect rules for use of AC_LIBOBJ.
11984         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
11985         * modules/rmdir (configure.ac): ... to here.
11986
11987 2011-05-21  Bruno Haible  <bruno@clisp.org>
11988
11989         renameat: Move AC_LIBOBJ invocations to module description.
11990         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
11991         here...
11992         * modules/renameat (configure.ac): ... to here.
11993
11994 2011-05-21  Bruno Haible  <bruno@clisp.org>
11995
11996         rename: Respect rules for use of AC_LIBOBJ.
11997         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
11998         here...
11999         * modules/rename (configure.ac): ... to here.
12000
12001 2011-05-21  Bruno Haible  <bruno@clisp.org>
12002
12003         remove: Move AC_LIBOBJ invocations to module description.
12004         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
12005         here...
12006         * modules/remove (configure.ac): ... to here.
12007
12008 2011-05-21  Bruno Haible  <bruno@clisp.org>
12009
12010         relocatable-lib: Move AC_LIBOBJ invocations to module description.
12011         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
12012         macro.
12013         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
12014         * modules/relocatable-lib (configure.ac): ... to here.
12015         * modules/relocatable-prog-wrapper (configure.ac): Invoke
12016         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
12017
12018 2011-05-21  Bruno Haible  <bruno@clisp.org>
12019
12020         relocatable-prog: Move AC_LIBOBJ invocations to module description.
12021         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
12022         here...
12023         * modules/relocatable-prog (configure.ac): ... to here.
12024
12025 2011-05-21  Bruno Haible  <bruno@clisp.org>
12026
12027         regex: Move AC_LIBOBJ invocations to module description.
12028         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
12029         invocations from here...
12030         * modules/regex (configure.ac): ... to here.
12031
12032 2011-05-21  Bruno Haible  <bruno@clisp.org>
12033
12034         realloc-*: Move AC_LIBOBJ invocations to module description.
12035         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
12036         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
12037         AC_LIBOBJ invocations from here...
12038         * modules/realloc-gnu (configure.ac): ... to here.
12039         * modules/realloc-posix (configure.ac): ... and here.
12040
12041 2011-05-21  Bruno Haible  <bruno@clisp.org>
12042
12043         readutmp: Move AC_LIBOBJ invocations to module description.
12044         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
12045         * modules/readutmp (configure.ac): ... to here.
12046
12047 2011-05-21  Bruno Haible  <bruno@clisp.org>
12048
12049         readlinkat: Move AC_LIBOBJ invocations to module description.
12050         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
12051         here...
12052         * modules/readlinkat (configure.ac): ... to here.
12053
12054 2011-05-21  Bruno Haible  <bruno@clisp.org>
12055
12056         readlink: Move AC_LIBOBJ invocations to module description.
12057         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
12058         gl_PREREQ_READLINK invocations from here...
12059         * modules/readlink (configure.ac): ... to here.
12060
12061 2011-05-21  Bruno Haible  <bruno@clisp.org>
12062
12063         readline: Move AC_LIBOBJ invocations to module description.
12064         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
12065         gl_PREREQ_READLINE invocations from here...
12066         * modules/readline (configure.ac): ... to here.
12067
12068 2011-05-21  Bruno Haible  <bruno@clisp.org>
12069
12070         read: Move AC_LIBOBJ invocations to module description.
12071         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
12072         * modules/read (configure.ac): ... to here.
12073
12074 2011-05-21  Bruno Haible  <bruno@clisp.org>
12075
12076         rawmemchr: Move AC_LIBOBJ invocations to module description.
12077         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
12078         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
12079         from here...
12080         * modules/rawmemchr (configure.ac): ... to here.
12081
12082 2011-05-21  Bruno Haible  <bruno@clisp.org>
12083
12084         random_r: Move AC_LIBOBJ invocations to module description.
12085         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
12086         gl_PREREQ_RANDOM_R invocations from here...
12087         * modules/random_r (configure.ac): ... to here.
12088
12089 2011-05-21  Bruno Haible  <bruno@clisp.org>
12090
12091         pwrite: Move AC_LIBOBJ invocations to module description.
12092         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
12093         * modules/pwrite (configure.ac): ... to here.
12094
12095 2011-05-21  Bruno Haible  <bruno@clisp.org>
12096
12097         putenv: Move AC_LIBOBJ invocations to module description.
12098         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
12099         * modules/putenv (configure.ac): ... to here.
12100
12101 2011-05-21  Bruno Haible  <bruno@clisp.org>
12102
12103         login_tty: Move AC_LIBOBJ invocations to module description.
12104         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
12105         * modules/login_tty (configure.ac): ... to here.
12106
12107 2011-05-21  Bruno Haible  <bruno@clisp.org>
12108
12109         openpty: Move AC_LIBOBJ invocations to module description.
12110         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
12111         * modules/openpty (configure.ac): ... to here.
12112
12113 2011-05-21  Bruno Haible  <bruno@clisp.org>
12114
12115         forkpty: Move AC_LIBOBJ invocations to module description.
12116         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
12117         * modules/forkpty (configure.ac): ... to here.
12118
12119 2011-05-21  Bruno Haible  <bruno@clisp.org>
12120
12121         ptsname: Move AC_LIBOBJ invocations to module description.
12122         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
12123         invocations from here...
12124         * modules/ptsname (configure.ac): ... to here.
12125
12126 2011-05-21  Bruno Haible  <bruno@clisp.org>
12127
12128         pread: Move AC_LIBOBJ invocations to module description.
12129         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
12130         * modules/pread (configure.ac): ... to here.
12131
12132 2011-05-21  Bruno Haible  <bruno@clisp.org>
12133
12134         posix_spawn*: Move AC_LIBOBJ invocations to module description.
12135         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
12136         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
12137         * modules/posix_spawn (configure.ac): ... to here.
12138         * modules/posix_spawnp (configure.ac): ... and here.
12139
12140 2011-05-21  Bruno Haible  <bruno@clisp.org>
12141
12142         popen: Move AC_LIBOBJ invocations to module description.
12143         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
12144         invocations from here...
12145         * modules/popen (configure.ac): ... to here.
12146
12147 2011-05-21  Bruno Haible  <bruno@clisp.org>
12148
12149         poll: Move AC_LIBOBJ invocations to module description.
12150         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
12151         invocations from here...
12152         * modules/poll (configure.ac): ... to here.
12153
12154 2011-05-21  Bruno Haible  <bruno@clisp.org>
12155
12156         pipe-posix: Move AC_LIBOBJ invocations to module description.
12157         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
12158         * modules/pipe-posix (configure.ac): ... to here.
12159
12160 2011-05-21  Bruno Haible  <bruno@clisp.org>
12161
12162         openat: Respect rules for use of AC_LIBOBJ.
12163         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
12164         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
12165         * modules/openat (configure.ac): ... to here.
12166
12167 2011-05-21  Bruno Haible  <bruno@clisp.org>
12168
12169         obstack-printf*: Move AC_LIBOBJ invocations to module description.
12170         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
12171         invocation from here...
12172         * modules/obstack-printf (configure.ac): ... to here.
12173         * modules/obstack-printf-posix (configure.ac): ... and here.
12174
12175 2011-05-21  Bruno Haible  <bruno@clisp.org>
12176
12177         nl_langinfo: Move AC_LIBOBJ invocations to module description.
12178         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
12179         from here...
12180         * modules/nl_langinfo (configure.ac): ... to here.
12181
12182 2011-05-21  Bruno Haible  <bruno@clisp.org>
12183
12184         nanosleep: Move AC_LIBOBJ invocations to module description.
12185         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
12186         gl_PREREQ_NANOSLEEP invocations from here...
12187         * modules/nanosleep (configure.ac): ... to here.
12188
12189 2011-05-21  Bruno Haible  <bruno@clisp.org>
12190
12191         mountlist: Move AC_LIBOBJ invocations to module description.
12192         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
12193         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
12194         * modules/mountlist (configure.ac): ... to here.
12195
12196 2011-05-21  Bruno Haible  <bruno@clisp.org>
12197
12198         mktime: Respect rules for use of AC_LIBOBJ.
12199         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
12200         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
12201         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
12202         (gl_FUNC_MKTIME_INTERNAL): ... and here...
12203         * modules/mktime (configure.ac): ... to here.
12204         * modules/mktime-internal (configure.ac): ... and here.
12205         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
12206
12207 2011-05-21  Bruno Haible  <bruno@clisp.org>
12208
12209         mkstemps: Move AC_LIBOBJ invocations to module description.
12210         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
12211         here...
12212         * modules/mkstemps (configure.ac): ... to here.
12213
12214 2011-05-21  Bruno Haible  <bruno@clisp.org>
12215
12216         mkstemp: Move AC_LIBOBJ invocations to module description.
12217         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
12218         gl_PREREQ_MKSTEMP invocations from here...
12219         * modules/mkstemp (configure.ac): ... to here.
12220
12221 2011-05-21  Bruno Haible  <bruno@clisp.org>
12222
12223         mkostemps: Move AC_LIBOBJ invocations to module description.
12224         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
12225         here...
12226         * modules/mkostemps (configure.ac): ... to here.
12227
12228 2011-05-21  Bruno Haible  <bruno@clisp.org>
12229
12230         mkostemp: Move AC_LIBOBJ invocations to module description.
12231         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
12232         gl_PREREQ_MKOSTEMP invocations from here...
12233         * modules/mkostemp (configure.ac): ... to here.
12234
12235 2011-05-21  Bruno Haible  <bruno@clisp.org>
12236
12237         mknod: Move AC_LIBOBJ invocations to module description.
12238         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
12239         * modules/mknod (configure.ac): ... to here.
12240
12241 2011-05-21  Bruno Haible  <bruno@clisp.org>
12242
12243         mkfifoat: Move AC_LIBOBJ invocations to module description.
12244         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
12245         here...
12246         * modules/mkfifoat (configure.ac): ... to here.
12247
12248 2011-05-21  Bruno Haible  <bruno@clisp.org>
12249
12250         mkfifo: Respect rules for use of AC_LIBOBJ.
12251         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
12252         here...
12253         * modules/mkfifo (configure.ac): ... to here.
12254
12255 2011-05-21  Bruno Haible  <bruno@clisp.org>
12256
12257         mkdtemp: Move AC_LIBOBJ invocations to module description.
12258         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
12259         invocations from here...
12260         * modules/mkdtemp (configure.ac): ... to here.
12261
12262 2011-05-21  Bruno Haible  <bruno@clisp.org>
12263
12264         mkdir: Move AC_LIBOBJ invocations to module description.
12265         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
12266         * modules/mkdir (configure.ac): ... to here.
12267
12268 2011-05-21  Bruno Haible  <bruno@clisp.org>
12269
12270         memset: Move AC_LIBOBJ invocations to module description.
12271         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
12272         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
12273         here...
12274         * modules/memset (configure.ac): ... to here.
12275
12276 2011-05-21  Bruno Haible  <bruno@clisp.org>
12277
12278         memrchr: Move AC_LIBOBJ invocations to module description.
12279         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
12280         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
12281         here...
12282         * modules/memrchr (configure.ac): ... to here.
12283
12284 2011-05-21  Bruno Haible  <bruno@clisp.org>
12285
12286         mempcpy: Move AC_LIBOBJ invocations to module description.
12287         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
12288         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
12289         here...
12290         * modules/mempcpy (configure.ac): ... to here.
12291
12292 2011-05-21  Bruno Haible  <bruno@clisp.org>
12293
12294         memmove: Move AC_LIBOBJ invocations to module description.
12295         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
12296         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
12297         here...
12298         * modules/memmove (configure.ac): ... to here.
12299
12300 2011-05-21  Bruno Haible  <bruno@clisp.org>
12301
12302         memmem*: Move AC_LIBOBJ invocations to module description.
12303         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
12304         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
12305         here...
12306         (gl_FUNC_MEMMEM): ... and here...
12307         * modules/memmem-simple (configure.ac): ... to here.
12308         * modules/memmem (configure.ac): ... and here.
12309
12310 2011-05-21  Bruno Haible  <bruno@clisp.org>
12311
12312         memcpy: Move AC_LIBOBJ invocations to module description.
12313         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
12314         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
12315         here...
12316         * modules/memcpy (configure.ac): ... to here.
12317
12318 2011-05-21  Bruno Haible  <bruno@clisp.org>
12319
12320         memcmp: Simplify autoconf macro.
12321         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
12322         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
12323         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
12324
12325 2011-05-21  Bruno Haible  <bruno@clisp.org>
12326
12327         memcmp: Move AC_LIBOBJ invocations to module description.
12328         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
12329         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
12330         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
12331         * modules/memcmp (configure.ac): ... to here.
12332         (Depends-on): Update conditions.
12333
12334 2011-05-21  Bruno Haible  <bruno@clisp.org>
12335
12336         memchr: Respect rules for use of AC_LIBOBJ.
12337         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
12338         invocations from here...
12339         * modules/memchr (configure.ac): ... to here.
12340
12341 2011-05-21  Bruno Haible  <bruno@clisp.org>
12342
12343         mbtowc: Move AC_LIBOBJ invocations to module description.
12344         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
12345         invocations from here...
12346         * modules/mbtowc (configure.ac): ... to here.
12347
12348 2011-05-21  Bruno Haible  <bruno@clisp.org>
12349
12350         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
12351         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
12352         gl_PREREQ_MBSRTOWCS invocations from here...
12353         * modules/mbsrtowcs (configure.ac): ... to here.
12354
12355 2011-05-21  Bruno Haible  <bruno@clisp.org>
12356
12357         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
12358         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
12359         gl_PREREQ_MBSNRTOWCS invocations from here...
12360         * modules/mbsnrtowcs (configure.ac): ... to here.
12361
12362 2011-05-21  Bruno Haible  <bruno@clisp.org>
12363
12364         mbsinit: Move AC_LIBOBJ invocations to module description.
12365         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
12366         invocations from here...
12367         * modules/mbsinit (configure.ac): ... to here.
12368
12369 2011-05-21  Bruno Haible  <bruno@clisp.org>
12370
12371         mbrlen: Move AC_LIBOBJ invocations to module description.
12372         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
12373         invocations from here...
12374         * modules/mbrlen (configure.ac): ... to here.
12375
12376 2011-05-21  Bruno Haible  <bruno@clisp.org>
12377
12378         mbrtowc: Respect rules for use of AC_LIBOBJ.
12379         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
12380         invocations from here...
12381         * modules/mbrtowc (configure.ac): ... to here.
12382
12383 2011-05-21  Bruno Haible  <bruno@clisp.org>
12384
12385         malloc-*: Move AC_LIBOBJ invocations to module description.
12386         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
12387         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
12388         AC_LIBOBJ invocations from here...
12389         * modules/malloc-gnu (configure.ac): ... to here.
12390         * modules/malloc-posix (configure.ac): ... and here.
12391
12392 2011-05-21  Bruno Haible  <bruno@clisp.org>
12393
12394         lstat, openat: Respect rules for use of AC_LIBOBJ.
12395         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
12396         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
12397         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
12398         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
12399         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
12400         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
12401         here.
12402         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
12403
12404 2011-05-21  Bruno Haible  <bruno@clisp.org>
12405
12406         lseek: Move AC_LIBOBJ invocations to module description.
12407         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
12408         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
12409         * modules/lseek (configure.ac): ... to here.
12410
12411 2011-05-21  Bruno Haible  <bruno@clisp.org>
12412
12413         linkat: Move AC_LIBOBJ invocations to module description.
12414         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
12415         here...
12416         * modules/linkat (configure.ac): ... to here.
12417
12418 2011-05-21  Bruno Haible  <bruno@clisp.org>
12419
12420         link: Respect rules for use of AC_LIBOBJ.
12421         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
12422         * modules/link (configure.ac): ... to here.
12423
12424 2011-05-21  Bruno Haible  <bruno@clisp.org>
12425
12426         lchown: Move AC_LIBOBJ invocations to module description.
12427         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
12428         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
12429         * modules/lchown (configure.ac): ... to here.
12430
12431 2011-05-21  Bruno Haible  <bruno@clisp.org>
12432
12433         iswctype: Move AC_LIBOBJ invocations to module description.
12434         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
12435         here...
12436         * modules/iswctype (configure.ac): ... to here.
12437
12438 2011-05-21  Bruno Haible  <bruno@clisp.org>
12439
12440         iswblank: Move AC_LIBOBJ invocations to module description.
12441         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
12442         here...
12443         * modules/iswblank (configure.ac): ... to here.
12444
12445 2011-05-21  Bruno Haible  <bruno@clisp.org>
12446
12447         atanl: Move AC_LIBOBJ invocations to module description.
12448         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
12449         * modules/atanl (configure.ac): ... to here.
12450
12451 2011-05-21  Bruno Haible  <bruno@clisp.org>
12452
12453         acosl: Move AC_LIBOBJ invocations to module description.
12454         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
12455         * modules/acosl (configure.ac): ... to here.
12456
12457 2011-05-21  Bruno Haible  <bruno@clisp.org>
12458
12459         asinl: Respect rules for use of AC_LIBOBJ.
12460         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
12461         * modules/asinl (configure.ac): ... to here.
12462
12463 2011-05-21  Bruno Haible  <bruno@clisp.org>
12464
12465         tanl: Move AC_LIBOBJ invocations to module description.
12466         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
12467         * modules/tanl (configure.ac): ... to here.
12468
12469 2011-05-21  Bruno Haible  <bruno@clisp.org>
12470
12471         cosl: Move AC_LIBOBJ invocations to module description.
12472         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
12473         * modules/cosl (configure.ac): ... to here.
12474
12475 2011-05-21  Bruno Haible  <bruno@clisp.org>
12476
12477         sinl: Move AC_LIBOBJ invocations to module description.
12478         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
12479         * modules/sinl (configure.ac): ... to here.
12480
12481 2011-05-21  Bruno Haible  <bruno@clisp.org>
12482
12483         logl: Move AC_LIBOBJ invocations to module description.
12484         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
12485         * modules/logl (configure.ac): ... to here.
12486
12487 2011-05-21  Bruno Haible  <bruno@clisp.org>
12488
12489         expl: Move AC_LIBOBJ invocations to module description.
12490         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
12491         * modules/expl (configure.ac): ... to here.
12492
12493 2011-05-21  Bruno Haible  <bruno@clisp.org>
12494
12495         roundl: Move AC_LIBOBJ invocations to module description.
12496         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
12497         * modules/roundl (configure.ac): ... to here.
12498
12499 2011-05-21  Bruno Haible  <bruno@clisp.org>
12500
12501         round: Move AC_LIBOBJ invocations to module description.
12502         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
12503         * modules/round (configure.ac): ... to here.
12504
12505 2011-05-21  Bruno Haible  <bruno@clisp.org>
12506
12507         roundf: Move AC_LIBOBJ invocations to module description.
12508         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
12509         * modules/roundf (configure.ac): ... to here.
12510
12511 2011-05-21  Bruno Haible  <bruno@clisp.org>
12512
12513         truncl: Move AC_LIBOBJ invocations to module description.
12514         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
12515         * modules/truncl (configure.ac): ... to here.
12516
12517 2011-05-21  Bruno Haible  <bruno@clisp.org>
12518
12519         trunc: Move AC_LIBOBJ invocations to module description.
12520         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
12521         * modules/trunc (configure.ac): ... to here.
12522
12523 2011-05-21  Bruno Haible  <bruno@clisp.org>
12524
12525         truncf: Move AC_LIBOBJ invocations to module description.
12526         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
12527         * modules/truncf (configure.ac): ... to here.
12528
12529 2011-05-21  Bruno Haible  <bruno@clisp.org>
12530
12531         ceill: Move AC_LIBOBJ invocations to module description.
12532         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
12533         * modules/ceill (configure.ac): ... to here.
12534
12535 2011-05-21  Bruno Haible  <bruno@clisp.org>
12536
12537         ceil: Move AC_LIBOBJ invocations to module description.
12538         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
12539         * modules/ceil (configure.ac): ... to here.
12540
12541 2011-05-21  Bruno Haible  <bruno@clisp.org>
12542
12543         ceilf: Move AC_LIBOBJ invocations to module description.
12544         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
12545         * modules/ceilf (configure.ac): ... to here.
12546
12547 2011-05-21  Bruno Haible  <bruno@clisp.org>
12548
12549         floorl: Respect rules for use of AC_LIBOBJ.
12550         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
12551         * modules/floorl (configure.ac): ... to here.
12552
12553 2011-05-21  Bruno Haible  <bruno@clisp.org>
12554
12555         floor: Respect rules for use of AC_LIBOBJ.
12556         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
12557         * modules/floor (configure.ac): ... to here.
12558
12559 2011-05-21  Bruno Haible  <bruno@clisp.org>
12560
12561         floorf: Move AC_LIBOBJ invocations to module description.
12562         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
12563         * modules/floorf (configure.ac): ... to here.
12564
12565 2011-05-20  Bruno Haible  <bruno@clisp.org>
12566
12567         sqrtl: Respect rules for use of AC_LIBOBJ.
12568         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
12569         * modules/sqrtl (configure.ac): ... to here.
12570
12571 2011-05-20  Bruno Haible  <bruno@clisp.org>
12572
12573         ldexpl: Respect rules for use of AC_LIBOBJ.
12574         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
12575         * modules/ldexpl (configure.ac): ... to here.
12576
12577 2011-05-20  Bruno Haible  <bruno@clisp.org>
12578
12579         frexpl*: Respect rules for use of AC_LIBOBJ.
12580         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
12581         invocation from here...
12582         * modules/frexpl (configure.ac): ... to here.
12583         * modules/frexpl-nolibm (configure.ac): ... and here.
12584
12585 2011-05-20  Bruno Haible  <bruno@clisp.org>
12586
12587         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
12588         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
12589         invocation from here...
12590         * modules/frexp (configure.ac): ... to here.
12591         * modules/frexp-nolibm (configure.ac): ... and here.
12592
12593 2011-05-20  Bruno Haible  <bruno@clisp.org>
12594
12595         isnan: Respect rules for use of AC_LIBOBJ.
12596         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
12597         invocations here.
12598         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
12599         REPLACE_ISNAN.
12600         * modules/isnand (configure.ac): Likewise.
12601         * modules/isnanl (configure.ac): Likewise.
12602
12603 2011-05-20  Bruno Haible  <bruno@clisp.org>
12604
12605         isnanl*: Respect rules for use of AC_LIBOBJ.
12606         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
12607         invocation from here...
12608         * modules/isnanl (configure.ac): ... to here.
12609         * modules/isnanl-nolibm (configure.ac): ... and here.
12610
12611 2011-05-20  Bruno Haible  <bruno@clisp.org>
12612
12613         isnand*: Move AC_LIBOBJ invocations to module description.
12614         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
12615         invocation from here...
12616         * modules/isnand (configure.ac): ... to here.
12617         * modules/isnand-nolibm (configure.ac): ... and here.
12618
12619 2011-05-20  Bruno Haible  <bruno@clisp.org>
12620
12621         isnanf*: Move AC_LIBOBJ invocations to module description.
12622         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
12623         invocation from here...
12624         * modules/isnanf (configure.ac): ... to here.
12625         * modules/isnanf-nolibm (configure.ac): ... and here.
12626
12627 2011-05-20  Bruno Haible  <bruno@clisp.org>
12628
12629         isnan*: Separate the AC_LIBOBJ invocations.
12630         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
12631         AC_LIBOBJ invocation.
12632         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
12633         here.
12634         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
12635         AC_LIBOBJ invocation.
12636         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
12637         here.
12638         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
12639         AC_LIBOBJ invocation.
12640         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
12641         here.
12642         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
12643
12644 2011-05-08  Bruno Haible  <bruno@clisp.org>
12645
12646         isinf: Move AC_LIBOBJ invocations to module description.
12647         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
12648         * modules/isinf (configure.ac): ... to here.
12649
12650 2011-05-08  Bruno Haible  <bruno@clisp.org>
12651
12652         isfinite: Move AC_LIBOBJ invocations to module description.
12653         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
12654         * modules/isfinite (configure.ac): ... to here.
12655
12656 2011-05-08  Bruno Haible  <bruno@clisp.org>
12657
12658         isblank: Move AC_LIBOBJ invocations to module description.
12659         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
12660         here...
12661         * modules/isblank (configure.ac): ... to here.
12662
12663 2011-05-08  Bruno Haible  <bruno@clisp.org>
12664
12665         isapipe: Move AC_LIBOBJ invocations to module description.
12666         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
12667         gl_PREREQ_ISAPIPE invocations from here...
12668         * modules/isapipe (configure.ac): ... to here.
12669         (Depends-on): Update condition.
12670
12671 2011-05-08  Bruno Haible  <bruno@clisp.org>
12672
12673         ioctl: Move AC_LIBOBJ invocations to module description.
12674         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
12675         invocations from here...
12676         * modules/ioctl (configure.ac): ... to here.
12677         (Depends-on): Update condition.
12678
12679 2011-05-08  Bruno Haible  <bruno@clisp.org>
12680
12681         imaxdiv: Move AC_LIBOBJ invocations to module description.
12682         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
12683         invocations from here...
12684         * modules/imaxdiv (configure.ac): ... to here.
12685
12686 2011-05-08  Bruno Haible  <bruno@clisp.org>
12687
12688         imaxabs: Move AC_LIBOBJ invocations to module description.
12689         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
12690         invocations from here...
12691         * modules/imaxabs (configure.ac): ... to here.
12692
12693 2011-05-08  Bruno Haible  <bruno@clisp.org>
12694
12695         getaddrinfo: Move AC_LIBOBJ invocations to module description.
12696         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
12697         AC_LIBOBJ invocations from here...
12698         * modules/getaddrinfo (configure.ac): ... to here.
12699         (Depends-on): Add conditions.
12700
12701 2011-05-08  Bruno Haible  <bruno@clisp.org>
12702
12703         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
12704         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
12705         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
12706         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
12707         (gl_PREREQ_INET_PTON): ... from here.
12708         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
12709         gl_PREREQ_INET_PTON here.
12710         (Depends-on): Update condition.
12711
12712 2011-05-08  Bruno Haible  <bruno@clisp.org>
12713
12714         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
12715         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
12716         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
12717         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
12718         (gl_PREREQ_INET_NTOP): ... from here.
12719         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
12720         gl_PREREQ_INET_NTOP here.
12721         (Depends-on): Update condition.
12722
12723 2011-05-08  Bruno Haible  <bruno@clisp.org>
12724
12725         iconv_open: Move AC_LIBOBJ invocations to module description.
12726         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
12727         AC_LIBOBJ invocations from here...
12728         * modules/iconv_open (configure.ac): ... to here.
12729
12730 2011-05-08  Bruno Haible  <bruno@clisp.org>
12731
12732         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
12733         If module 'iconv_open' is among the main modules and module
12734         'iconv_open-utf' is among the tests dependencies, then
12735         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
12736         return the special iconv_t values. Therefore iconv() and iconv_close()
12737         must support these special iconv_t values, already in lib, not only in
12738         tests.
12739         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
12740         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
12741         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
12742         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
12743         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
12744         (Depends-on): Add the dependencies of iconv_open-utf.
12745         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
12746         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
12747         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
12748
12749 2011-05-08  Bruno Haible  <bruno@clisp.org>
12750
12751         group-member: Move AC_LIBOBJ invocations to module description.
12752         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
12753         gl_PREREQ_GROUP_MEMBER invocations from here...
12754         * modules/group-member (configure.ac): ... to here.
12755
12756 2011-05-08  Bruno Haible  <bruno@clisp.org>
12757
12758         grantpt: Move AC_LIBOBJ invocations to module description.
12759         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
12760         invocations from here...
12761         * modules/grantpt (configure.ac): ... to here.
12762
12763 2011-05-08  Bruno Haible  <bruno@clisp.org>
12764
12765         glob: Move AC_LIBOBJ invocations to module description.
12766         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
12767         from here...
12768         * modules/glob (configure.ac): ... to here.
12769
12770 2011-05-08  Bruno Haible  <bruno@clisp.org>
12771
12772         getusershell: Move AC_LIBOBJ invocations to module description.
12773         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
12774         Move AC_LIBOBJ invocation from here...
12775         * modules/getusershell (configure.ac): ... to here.
12776         (Depends-on): Update condition.
12777
12778 2011-05-08  Bruno Haible  <bruno@clisp.org>
12779
12780         gettimeofday: Move AC_LIBOBJ invocations to module description.
12781         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
12782         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
12783         gl_PREREQ_GETTIMEOFDAY invocations from here...
12784         * modules/gettimeofday (configure.ac): ... to here.
12785
12786 2011-05-08  Bruno Haible  <bruno@clisp.org>
12787
12788         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
12789         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
12790         just gl_FUNC_TZSET.
12791         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
12792         (gl_FUNC_TZSET_CLOBBER): Remove actions.
12793         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
12794         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
12795
12796 2011-05-08  Bruno Haible  <bruno@clisp.org>
12797
12798         getsubopt: Move AC_LIBOBJ invocations to module description.
12799         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
12800         gl_PREREQ_GETSUBOPT invocations from here...
12801         * modules/getsubopt (configure.ac): ... to here.
12802
12803 2011-05-08  Bruno Haible  <bruno@clisp.org>
12804
12805         getpass-gnu: Move AC_LIBOBJ invocations to module description.
12806         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
12807         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
12808         * modules/getpass-gnu (configure.ac): ... to here.
12809
12810 2011-05-08  Bruno Haible  <bruno@clisp.org>
12811
12812         getpass: Move AC_LIBOBJ invocations to module description.
12813         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
12814         gl_PREREQ_GETPASS invocations from here...
12815         * modules/getpass (configure.ac): ... to here.
12816
12817 2011-05-08  Bruno Haible  <bruno@clisp.org>
12818
12819         getpagesize: Move AC_LIBOBJ invocations to module description.
12820         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
12821         from here...
12822         * modules/getpagesize (configure.ac): ... to here.
12823
12824 2011-05-08  Bruno Haible  <bruno@clisp.org>
12825
12826         getopt: Move AC_LIBOBJ invocations to module description.
12827         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
12828         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
12829         invocations from here...
12830         * modules/getopt-gnu (configure.ac): ... to here.
12831         * modules/getopt-posix (configure.ac): ... and here.
12832         (Depends-on): Update condition.
12833
12834 2011-05-08  Bruno Haible  <bruno@clisp.org>
12835
12836         getopt, argp: Respect rules for use of AC_LIBOBJ.
12837         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
12838         (gl_REPLACE_GETOPT_ALWAYS): New macro.
12839         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
12840         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
12841
12842 2011-05-08  Bruno Haible  <bruno@clisp.org>
12843
12844         getlogin_r: Move AC_LIBOBJ invocations to module description.
12845         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
12846         gl_PREREQ_GETLOGIN_R invocations from here...
12847         * modules/getlogin_r (configure.ac): ... to here.
12848
12849 2011-05-08  Bruno Haible  <bruno@clisp.org>
12850
12851         getlogin: Move AC_LIBOBJ invocations to module description.
12852         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
12853         here...
12854         * modules/getlogin (configure.ac): ... to here.
12855
12856 2011-05-08  Bruno Haible  <bruno@clisp.org>
12857
12858         getloadavg: Move AC_LIBOBJ invocations to module description.
12859         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
12860         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
12861         * modules/getloadavg (configure.ac): ... to here.
12862
12863 2011-05-08  Bruno Haible  <bruno@clisp.org>
12864
12865         gethrxtime: Move AC_LIBOBJ invocations to module description.
12866         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
12867         LIB_GETHRXTIME from here...
12868         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
12869         invocations from here...
12870         * modules/gethrxtime (configure.ac): ... to here.
12871
12872 2011-05-08  Bruno Haible  <bruno@clisp.org>
12873
12874         gethostname: Move AC_LIBOBJ invocations to module description.
12875         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
12876         gl_PREREQ_GETHOSTNAME invocations from here...
12877         * modules/gethostname (configure.ac): ... to here.
12878
12879 2011-05-08  Bruno Haible  <bruno@clisp.org>
12880
12881         getgroups: Move AC_LIBOBJ invocations to module description.
12882         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
12883         here...
12884         * modules/getgroups (configure.ac): ... to here.
12885
12886 2011-05-08  Bruno Haible  <bruno@clisp.org>
12887
12888         getdtablesize: Move AC_LIBOBJ invocations to module description.
12889         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
12890         invocation from here...
12891         * modules/getdtablesize (configure.ac): ... to here.
12892
12893 2011-05-08  Bruno Haible  <bruno@clisp.org>
12894
12895         getdomainname: Move AC_LIBOBJ invocations to module description.
12896         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
12897         gl_PREREQ_GETDOMAINNAME invocations from here...
12898         * modules/getdomainname (configure.ac): ... to here.
12899
12900 2011-05-08  Bruno Haible  <bruno@clisp.org>
12901
12902         getline: Move AC_LIBOBJ invocations to module description.
12903         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
12904         invocations from here...
12905         * modules/getline (configure.ac): ... to here.
12906
12907 2011-05-08  Bruno Haible  <bruno@clisp.org>
12908
12909         getline: Simplify.
12910         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
12911         It's already handled through the module dependency.
12912
12913 2011-05-08  Bruno Haible  <bruno@clisp.org>
12914
12915         getdelim: Move AC_LIBOBJ invocations to module description.
12916         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
12917         and gl_PREREQ_GETDELIM invocations from here...
12918         * modules/getdelim (configure.ac): ... to here.
12919         (Depends-on): Fix condition.
12920
12921 2011-05-08  Bruno Haible  <bruno@clisp.org>
12922
12923         getcwd: Move AC_LIBOBJ invocations to module description.
12924         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
12925         invocations from here...
12926         * modules/getcwd (configure.ac): ... to here.
12927
12928 2011-05-08  Bruno Haible  <bruno@clisp.org>
12929
12930         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
12931         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
12932         here...
12933         * modules/getcwd-lgpl (configure.ac): ... to here.
12934
12935 2011-05-07  Bruno Haible  <bruno@clisp.org>
12936
12937         crypto/gc: Move AC_LIBOBJ invocations to module description.
12938         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
12939         * modules/crypto/gc (configure.ac): ... to here.
12940
12941 2011-05-07  Bruno Haible  <bruno@clisp.org>
12942
12943         fwriting: Move AC_LIBOBJ invocations to module description.
12944         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
12945         here...
12946         * modules/fwriting (configure.ac): ... to here.
12947
12948 2011-05-07  Bruno Haible  <bruno@clisp.org>
12949
12950         fwritable: Move AC_LIBOBJ invocations to module description.
12951         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
12952         here...
12953         * modules/fwritable (configure.ac): ... to here.
12954
12955 2011-05-07  Bruno Haible  <bruno@clisp.org>
12956
12957         futimens: Move AC_LIBOBJ invocations to module description.
12958         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
12959         here...
12960         * modules/futimens (configure.ac): ... to here.
12961
12962 2011-05-07  Bruno Haible  <bruno@clisp.org>
12963
12964         ftruncate: Move AC_LIBOBJ invocations to module description.
12965         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
12966         gl_PREREQ_FTRUNCATE invocations from here...
12967         * modules/ftruncate (configure.ac): ... to here.
12968
12969 2011-05-07  Bruno Haible  <bruno@clisp.org>
12970
12971         fsync: Move AC_LIBOBJ invocations to module description.
12972         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
12973         invocations from here...
12974         * modules/fsync (configure.ac): ... to here.
12975
12976 2011-05-07  Bruno Haible  <bruno@clisp.org>
12977
12978         fsusage: Move AC_LIBOBJ invocations to module description.
12979         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
12980         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
12981         * modules/fsusage (configure.ac): ... to here.
12982
12983 2011-05-07  Bruno Haible  <bruno@clisp.org>
12984
12985         freopen: Move AC_LIBOBJ invocations to module description.
12986         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
12987         invocations from here...
12988         * modules/freopen (configure.ac): ... to here.
12989
12990 2011-05-07  Bruno Haible  <bruno@clisp.org>
12991
12992         free: Move AC_LIBOBJ invocations to module description.
12993         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
12994         invocations from here...
12995         * modules/free (configure.ac): ... to here.
12996
12997 2011-05-07  Bruno Haible  <bruno@clisp.org>
12998
12999         freadable: Move AC_LIBOBJ invocations to module description.
13000         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
13001         here...
13002         * modules/freadable (configure.ac): ... to here.
13003
13004 2011-05-07  Bruno Haible  <bruno@clisp.org>
13005
13006         fpurge: Move AC_LIBOBJ invocations to module description.
13007         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
13008         invocations from here...
13009         * modules/fpurge (configure.ac): ... to here.
13010
13011 2011-05-07  Bruno Haible  <bruno@clisp.org>
13012
13013         fpending: Move AC_LIBOBJ invocations to module description.
13014         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
13015         gl_FUNC_FPENDING.
13016         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
13017         invocations from here...
13018         * modules/fpending (configure.ac): ... to here.
13019
13020 2011-05-07  Bruno Haible  <bruno@clisp.org>
13021
13022         fopen: Move AC_LIBOBJ invocations to module description.
13023         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
13024         invocations from here...
13025         * modules/fopen (configure.ac): ... to here.
13026
13027 2011-05-07  Bruno Haible  <bruno@clisp.org>
13028
13029         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
13030         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
13031         gl_FUNC_FNMATCH_POSIX.
13032         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
13033         invocations from here...
13034         * modules/fnmatch (configure.ac): ... to here.
13035         * modules/fnmatch-gnu (configure.ac): ... and here.
13036
13037 2011-05-07  Bruno Haible  <bruno@clisp.org>
13038
13039         flock: Move AC_LIBOBJ invocations to module description.
13040         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
13041         invocations from here...
13042         * modules/flock (configure.ac): ... to here.
13043
13044 2011-05-07  Bruno Haible  <bruno@clisp.org>
13045
13046         fileblocks: Move AC_LIBOBJ invocations to module description.
13047         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
13048         gl_PREREQ_FILEBLOCKS invocations from here...
13049         * modules/fileblocks (configure.ac): ... to here.
13050
13051 2011-05-06  Bruno Haible  <bruno@clisp.org>
13052
13053         fflush: Move AC_LIBOBJ invocations to module description.
13054         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
13055         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
13056         invocations from here...
13057         * modules/fflush (configure.ac): ... to here.
13058
13059 2011-05-06  Bruno Haible  <bruno@clisp.org>
13060
13061         fdopendir: Move AC_LIBOBJ invocations to module description.
13062         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
13063         here...
13064         * modules/fdopendir (configure.ac): ... to here.
13065         (Depends-on): Improve conditions.
13066
13067 2011-05-06  Bruno Haible  <bruno@clisp.org>
13068
13069         _Exit: Move AC_LIBOBJ invocations to module description.
13070         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
13071         invocations from here...
13072         * modules/_Exit (configure.ac): ... to here.
13073
13074 2011-05-21  Bruno Haible  <bruno@clisp.org>
13075
13076         euidaccess: Respect rules for use of AC_LIBOBJ.
13077         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
13078         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
13079         from here...
13080         * modules/euidaccess (configure.ac): ... to here.
13081
13082 2011-05-06  Bruno Haible  <bruno@clisp.org>
13083
13084         error: Move AC_LIBOBJ invocations to module description.
13085         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
13086         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
13087         invocations from here...
13088         * modules/error (configure.ac): ... to here.
13089
13090 2011-05-06  Bruno Haible  <bruno@clisp.org>
13091
13092         duplocale: Move AC_LIBOBJ invocations to module description.
13093         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
13094         gl_PREREQ_DUPLOCALE invocations from here...
13095         * modules/duplocale (configure.ac): ... to here.
13096
13097 2011-05-05  Bruno Haible  <bruno@clisp.org>
13098
13099         dirfd: Move AC_LIBOBJ invocations to module description.
13100         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
13101         gl_FUNC_DIRFD.
13102         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
13103         here...
13104         * modules/dirfd (configure.ac): ... to here.
13105         (Depends-on): Fix condition.
13106
13107 2011-05-05  Bruno Haible  <bruno@clisp.org>
13108
13109         chown: Respect rules for use of AC_LIBOBJ.
13110         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
13111         * modules/chown (configure.ac): ... to here.
13112
13113 2011-05-05  Bruno Haible  <bruno@clisp.org>
13114
13115         chdir-long: Move AC_LIBOBJ invocations to module description.
13116         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
13117         gl_PREREQ_CHDIR_LONG invocations from here...
13118         * modules/chdir-long (configure.ac): ... to here.
13119
13120 2011-05-05  Bruno Haible  <bruno@clisp.org>
13121
13122         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
13123         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
13124         from here...
13125         * modules/canonicalize-lgpl (configure.ac): ... to here.
13126
13127 2011-05-05  Bruno Haible  <bruno@clisp.org>
13128
13129         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
13130         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
13131         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
13132         REPLACE_CALLOC.
13133         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
13134         * modules/calloc-gnu (configure.ac): Likewise.
13135
13136 2011-05-05  Bruno Haible  <bruno@clisp.org>
13137
13138         btowc: Move AC_LIBOBJ invocations to module description.
13139         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
13140         invocations from here...
13141         * modules/btowc (configure.ac): ... to here.
13142
13143 2011-05-21  Bruno Haible  <bruno@clisp.org>
13144
13145         atexit: Move AC_LIBOBJ invocations to module description.
13146         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
13147         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
13148         here...
13149         * modules/atexit (configure.ac): ... to here.
13150
13151 2011-05-05  Bruno Haible  <bruno@clisp.org>
13152
13153         atoll: Move AC_LIBOBJ invocations to module description.
13154         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
13155         invocations from here...
13156         * modules/atoll (configure.ac): ... to here.
13157
13158 2011-05-05  Bruno Haible  <bruno@clisp.org>
13159
13160         argz: Move AC_LIBOBJ invocations to module description.
13161         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
13162         * modules/argz (configure.ac): ... to here.
13163
13164 2011-05-05  Bruno Haible  <bruno@clisp.org>
13165
13166         alphasort: Move AC_LIBOBJ invocations to module description.
13167         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
13168         gl_PREREQ_ALPHASORT invocations from here...
13169         * modules/alphasort (configure.ac): ... to here.
13170
13171 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
13172
13173         verify: new macro verify_expr; verify_true deprecated
13174         * NEWS: Mention this.
13175         * doc/verify.texi (Compile-time Assertions): Document this.
13176         * lib/verify.h (verify_true): Deprecate.
13177         (verify_expr): New macro.
13178         * tests/test-verify.c (function): Test verify_expr.
13179
13180 2011-06-14  Jim Meyering  <meyering@redhat.com>
13181
13182         init.sh: give more portable redirection-related advice in a comment
13183         * tests/init.sh (stderr_fileno_): Update the advice in comments.
13184         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
13185         for lots of discussion.  Stefano Lattarini suggested the solution
13186         of putting "9>&2" after the command.  Reported by Bruno Haible.
13187
13188 2011-06-13  Bruno Haible  <bruno@clisp.org>
13189
13190         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
13191         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
13192         'none'.
13193
13194 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
13195
13196         ftoastr: use strtof only if HAVE_STRTOF
13197         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
13198         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
13199         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
13200         * modules/ftoastr (configure.ac): Check for strtof.
13201
13202 2011-06-13  Bruno Haible  <bruno@clisp.org>
13203
13204         gnulib-tool: Addendum to 2011-06-08 commit.
13205         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
13206         and --witness-c-macro have been given, augment AM_CPPFLAGS.
13207
13208 2011-06-13  Bruno Haible  <bruno@clisp.org>
13209
13210         fseeko: Provide a non-inline replacement of fseek().
13211         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
13212         * modules/fseeko (Depends-on): Add fseek.
13213         * modules/fseek (License): Change to LGPLv2+.
13214
13215 2011-06-13  Bruno Haible  <bruno@clisp.org>
13216
13217         ftello: Provide a non-inline replacement of ftell().
13218         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
13219         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
13220         not have ftello() (such as on mingw).
13221         * modules/ftello (Depends-on): Add ftell.
13222         * modules/ftell (License): Change to LGPLv2+.
13223
13224 2011-05-07  Bruno Haible  <bruno@clisp.org>
13225
13226         ftell: Move AC_LIBOBJ invocations to module description.
13227         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
13228         * modules/ftell (configure.ac): ... to here.
13229
13230 2011-05-07  Bruno Haible  <bruno@clisp.org>
13231
13232         ftello: Respect rules for use of AC_LIBOBJ.
13233         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
13234         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
13235         here...
13236         * modules/ftello (configure.ac): ... to here.
13237
13238 2011-05-07  Bruno Haible  <bruno@clisp.org>
13239
13240         fseeko: Simplify.
13241         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
13242         (gl_FUNC_FSEEKO): Inline it here.
13243
13244 2011-05-07  Bruno Haible  <bruno@clisp.org>
13245
13246         fseek: Move AC_LIBOBJ invocations to module description.
13247         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
13248         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
13249         * modules/fseek (configure.ac): ... to here.
13250
13251 2011-05-07  Bruno Haible  <bruno@clisp.org>
13252
13253         fseek: Respect rules for use of AC_LIBOBJ.
13254         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
13255         here...
13256         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
13257
13258 2011-05-07  Bruno Haible  <bruno@clisp.org>
13259
13260         fseeko: Respect rules for use of AC_LIBOBJ.
13261         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
13262         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
13263         here...
13264         * modules/fseeko (configure.ac): ... to here.
13265
13266 2011-06-13  Bruno Haible  <bruno@clisp.org>
13267
13268         gnulib-tool: Allow comments in the 'Depends-on' section.
13269         * doc/gnulib.texi (Module description): Mention comment syntax in the
13270         Depends-on section.
13271         * gnulib-tool (func_get_dependencies): Filter out comment lines.
13272
13273 2011-06-13  Bruno Haible  <bruno@clisp.org>
13274
13275         file-set.h: guard __attibute__ use, now that it's not always defined
13276         * lib/file-set.h (record_file): Use __attribute__ only with compiler
13277         versions that support it.  This fixes a coreutils build failure with
13278         the vendor cc on HP-UX 11.31.
13279
13280 2011-06-12  Bruno Haible  <bruno@clisp.org>
13281
13282         acl: Add support for HP-UX >= 11.11 JFS ACLs.
13283         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
13284         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
13285         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
13286         (acl, aclsort): New declarations.
13287         (aclv_nontrivial): New declaration.
13288         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
13289         (file_has_acl): Read also the second kind of HP-UX ACLs.
13290         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
13291         kind of HP-UX ACLs if the first kind fails.
13292         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
13293         second kind of HP-UX ACLs.
13294         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
13295         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
13296         agree.
13297         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
13298         hpuxjfs.
13299         Handle hpuxjfs.
13300         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
13301         hpuxjfs.
13302         Handle hpuxjfs.
13303         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
13304         (func_test_same_acls): Use both lsacl and getacl.
13305         Handle hpuxjfs.
13306         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
13307         (func_test_same_acls): Use both lsacl and getacl.
13308         Handle hpuxjfs.
13309
13310 2011-06-12  Bruno Haible  <bruno@clisp.org>
13311
13312         acl: Complete the 2010-08-10 fix.
13313         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
13314         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
13315         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
13316         explicitly.
13317         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
13318         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
13319
13320 2011-06-12  Bruno Haible  <bruno@clisp.org>
13321
13322         spawn-pipe tests: Comments.
13323         * tests/test-spawn-pipe-child.c (main): Update comment.
13324         Reported by James Youngman <jay@gnu.org>.
13325
13326 2011-06-11  James Youngman  <jay@gnu.org>
13327
13328         New module 'stat-size'.
13329         * modules/stat-size: New module.  Provides macros for accessing
13330         file size information in instances of struct stat.  Depends on the
13331         fileblocks module because it calls st_blocks.
13332         * lib/stat-size.h: New file, adapted from coreutils' system.h.
13333         * doc/gnulib.texi: Include stat-size.texi.
13334         * doc/stat-size.texi: Documentation for this module.
13335         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
13336         * m4/fileblocks.m4: Mention that stat-size depends on the call to
13337         AC_STRUCT_ST_BLOCKS.
13338
13339 2011-06-09  Bruno Haible  <bruno@clisp.org>
13340
13341         thread: Support pthreads-win32.
13342         * lib/glthread/thread.h (gl_thread_self): Define differently on
13343         pthreads-win32.
13344         (gl_null_thread): New declaration.
13345         (gl_thread_self_pointer): New macro.
13346         * lib/glthread/thread.c (gl_null_thread): New constant.
13347         * tests/test-lock.c: Use gl_thread_self_pointer instead of
13348         gl_thread_self.
13349         * tests/test-tls.c: Likewise.
13350         Suggested by Paul Eggert. Reported by Eric Blake.
13351
13352 2011-06-09  Bruno Haible  <bruno@clisp.org>
13353
13354         thread: Fix confusion between NULL and 0.
13355         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
13356         Reported by Paul Eggert.
13357
13358 2011-06-09  Bruno Haible  <bruno@clisp.org>
13359
13360         spawn-pipe tests: Avoid test failure on HP-UX 11.
13361         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
13362         is closed.
13363
13364 2011-06-09  Bruno Haible  <bruno@clisp.org>
13365
13366         acl tests: Fix compilation error on HP-UX 11.
13367         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
13368
13369 2011-06-09  Bruno Haible  <bruno@clisp.org>
13370
13371         rmdir: Avoid test failure on HP-UX 10.20.
13372         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
13373         EEXIST.
13374
13375 2011-06-08  Eric Blake  <eblake@redhat.com>
13376
13377         perror: fix test on mingw
13378         * modules/perror-tests (Depends-on): Add dup2.
13379
13380         strerror_r-posix: fix on MacOS
13381         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
13382         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
13383         logic bug.
13384         * lib/strerror_r.c (strerror_r): Fix the bug.
13385         * lib/strerror.c (strerror): Likewise.
13386         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
13387         problem.
13388         * doc/posix-functions/strerror.texi (strerror): Likewise.
13389         * doc/posix-functions/perror.texi (perror): Likewise.
13390         * tests/test-strerror.c (main): Enhance test.
13391         * tests/test-strerror_r.c (main): Likewise.
13392
13393 2011-06-08  Bruno Haible  <bruno@clisp.org>
13394
13395         gnulib-tool: Better isolation between different gnulib-tool invocations.
13396         * gnulib-tool: New option --witness-c-macro.
13397         (witness_c_macro): New variable.
13398         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
13399         AM_CPPFLAGS define it as a C macro.
13400         (func_emit_tests_Makefile_am): Likewise.
13401         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
13402         read it from there.
13403         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
13404         m4_define, not AC_DEFUN.
13405         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
13406         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
13407         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
13408         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
13409         s|...|...|, to substitute the values of the GNULIB_* module indicator
13410         variables.
13411         * modules/dirent (Makefile.am): Likewise.
13412         * modules/fcntl-h (Makefile.am): Likewise.
13413         * modules/iconv-h (Makefile.am): Likewise.
13414         * modules/langinfo (Makefile.am): Likewise.
13415         * modules/locale (Makefile.am): Likewise.
13416         * modules/math (Makefile.am): Likewise.
13417         * modules/netdb (Makefile.am): Likewise.
13418         * modules/poll-h (Makefile.am): Likewise.
13419         * modules/pty (Makefile.am): Likewise.
13420         * modules/search (Makefile.am): Likewise.
13421         * modules/signal (Makefile.am): Likewise.
13422         * modules/spawn (Makefile.am): Likewise.
13423         * modules/stdio (Makefile.am): Likewise.
13424         * modules/stdlib (Makefile.am): Likewise.
13425         * modules/string (Makefile.am): Likewise.
13426         * modules/sys_ioctl (Makefile.am): Likewise.
13427         * modules/sys_select (Makefile.am): Likewise.
13428         * modules/sys_socket (Makefile.am): Likewise.
13429         * modules/sys_stat (Makefile.am): Likewise.
13430         * modules/sys_times (Makefile.am): Likewise.
13431         * modules/sys_utsname (Makefile.am): Likewise.
13432         * modules/sys_wait (Makefile.am): Likewise.
13433         * modules/termios (Makefile.am): Likewise.
13434         * modules/time (Makefile.am): Likewise.
13435         * modules/unistd (Makefile.am): Likewise.
13436         * modules/wchar (Makefile.am): Likewise.
13437
13438 2011-06-08  Eric Blake  <eblake@redhat.com>
13439
13440         strerror: simplify replacement
13441         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
13442         * modules/strerror (configure.ac): No prereqs needed here...
13443         * modules/strerror-override (configure.ac): ...but this needs it.
13444         (Files): Add file for needed prereq macro.
13445
13446 2011-06-08  Bruno Haible  <bruno@clisp.org>
13447
13448         strerror_r-posix: Tweaks.
13449         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
13450         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
13451         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
13452         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
13453         (gl_FUNC_STRERROR_R): ... to here.
13454         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
13455
13456 2011-06-07  Eric Blake  <eblake@redhat.com>
13457
13458         perror: document fixed bugs
13459         * doc/posix-functions/perror.texi (perror): Document recent
13460         patches.
13461
13462 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
13463
13464         stat-time: get_stat_birthtime failure is better-defined
13465         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
13466         return a timestamp whose tv_sec and tv_nsec values are both -1.
13467         Previously, the spec said only that the tv_nsec value was negative.
13468         This upward-compatible change simplifies GNU tar a bit.
13469
13470 2011-06-07  Eric Blake  <eblake@redhat.com>
13471
13472         strerror_r-posix: work around cygwin 1.7.9
13473         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
13474         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
13475         bug without replacing strerror_r.
13476         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
13477         strerror_r is buggy, but without requiring strerror_r compilation.
13478         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
13479
13480         test-perror: relax test to ignore cygwin bug
13481         * tests/test-perror2.c (main): Relax test on requiring detection
13482         of stream errors, and use unbuffered stream.
13483         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
13484         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
13485         * doc/posix-functions/fputc.texi (fputc): Likewise.
13486         * doc/posix-functions/fputs.texi (fputs): Likewise.
13487         * doc/posix-functions/fputws.texi (fputws): Likewise.
13488         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
13489         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
13490         * doc/posix-functions/getopt.texi (getopt): Likewise.
13491         * doc/posix-functions/perror.texi (perror): Likewise.
13492         * doc/posix-functions/printf.texi (printf): Likewise.
13493         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
13494         * doc/posix-functions/psignal.texi (psignal): Likewise.
13495         * doc/posix-functions/putc.texi (putc): Likewise.
13496         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
13497         Likewise.
13498         * doc/posix-functions/putchar.texi (putchar): Likewise.
13499         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
13500         Likewise.
13501         * doc/posix-functions/puts.texi (puts): Likewise.
13502         * doc/posix-functions/putwc.texi (putwc): Likewise.
13503         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
13504         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
13505         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
13506         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
13507         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
13508         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
13509         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
13510         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
13511
13512 2011-05-22  Bruno Haible  <bruno@clisp.org>
13513
13514         strerror: Move AC_LIBOBJ invocations to module description.
13515         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
13516         gl_PREREQ_STRERROR invocations from here...
13517         * modules/strerror (configure.ac): ... to here.
13518
13519 2011-05-21  Bruno Haible  <bruno@clisp.org>
13520
13521         perror: Use common idiom.
13522         * modules/perror (configure.ac): Reorder statements.
13523
13524 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
13525
13526         tests: fix usage message in 'mktempd_'
13527         * tests/init.sh (mktempd_): In the usage message, use literal
13528         'mktempd_', not '$ME' (which is even undefined), as the name of
13529         the subroutine.
13530
13531 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
13532
13533         tests init: new function 'fatal_', for hard errors
13534         Before this patch, the only way offered by tests/init.sh to
13535         properly signal a hard error was the `framework_failure_'
13536         function.  But the error message issued by that function,
13537         as its name would suggest, refers to a set-up failure in the
13538         testsuite, while hard errors can obviously also be due to
13539         other reasons.  The best way to fix this inconsistency is to
13540         introduce a new function with a more general error message.
13541         * tests/init.sh (fatal_): New function.
13542
13543 2011-06-06  Eric Blake  <eblake@redhat.com>
13544
13545         canonicalize-lgpl: use common idiom
13546         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
13547         over newer POSIX -Rf.
13548         Reported by Bruno Haible.
13549
13550         canonicalize-lgpl: work around AIX realpath bug
13551         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
13552         * doc/posix-functions/realpath.texi (realpath): Document it.
13553         Reported by Bruno Haible.
13554
13555         strerror: work around FreeBSD bug
13556         * lib/strerror.c (strerror): Special case 0.
13557         Reported by Bruno Haible.
13558
13559         strerror-override: avoid bloating errno module
13560         * modules/errno (Files, configure.ac): Move replacement strings...
13561         * modules/strerror-override: ...to new module.
13562         * modules/strerror (Depends-on): Add strerror-override.
13563         * modules/strerror_r-posix (Depends-on): Likewise.
13564         * MODULES.html.sh: Document new module.
13565         Reported by Bruno Haible.
13566
13567 2011-06-06  Bruno Haible  <bruno@clisp.org>
13568
13569         spawn-pipe tests: Rename program.
13570         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
13571         * tests/test-spawn-pipe-child.c: Update comment.
13572         * tests/test-spawn-pipe.sh: Update.
13573         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
13574
13575         spawn-pipe tests: Link the child program only against libc.
13576         * tests/test-spawn-pipe-child.c: New file, extracted from
13577         tests/test-spawn-pipe.c.
13578         (main): Expect only one argument.
13579         (is_open): New function, copied from tests/test-pipe.c.
13580         * tests/test-spawn-pipe.c: Don't include <errno.h>.
13581         (child_main): Remove function.
13582         (test_pipe): Pass only one argument to the child program.
13583         (main): Remove child process code. Expect the child program's name as
13584         first argument.
13585         * tests/test-spawn-pipe.sh: Pass the child program's name as first
13586         argument.
13587         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
13588         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
13589         test-spawn-pipe-child against no libraries.
13590
13591 2011-06-06  Bruno Haible  <bruno@clisp.org>
13592
13593         careadlinkat: Avoid mismatch between ssize_t and int.
13594         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
13595         * lib/careadlinkat.c (careadlinkatcwd): Define always.
13596
13597 2011-06-06  Jim Meyering  <meyering@redhat.com>
13598
13599         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
13600         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
13601         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
13602
13603 2011-06-05  Bruno Haible  <bruno@clisp.org>
13604
13605         ansi-c++-opt: Interoperability with libtool.
13606         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
13607         set the variable to "no", not to ":".
13608         * NEWS: Mention the change.
13609
13610 2011-06-05  Bruno Haible  <bruno@clisp.org>
13611
13612         acl: Fix test failure on AIX 7.
13613         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
13614         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
13615
13616 2011-06-05  Bruno Haible  <bruno@clisp.org>
13617
13618         pipe-filter-ii: Fix test failure on AIX and IRIX.
13619         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
13620         with EAGAIN, retry with a smaller buffer size.
13621
13622 2011-06-05  Bruno Haible  <bruno@clisp.org>
13623
13624         localename: Fix link dependencies.
13625         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
13626         * modules/localename-tests (Makefile.am): Link test-localename with
13627         $(LIBTHREAD).
13628
13629 2011-06-05  Bruno Haible  <bruno@clisp.org>
13630
13631         error: Avoid gcc warning.
13632         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
13633
13634 2011-06-05  Bruno Haible  <bruno@clisp.org>
13635
13636         unsetenv: Avoid gcc warning.
13637         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
13638
13639 2011-06-05  Bruno Haible  <bruno@clisp.org>
13640
13641         setenv: Avoid gcc warning.
13642         * lib/setenv.c (setenv): Provide declaration if system lacks it.
13643
13644 2011-06-05  Bruno Haible  <bruno@clisp.org>
13645
13646         sys_select: Ensure memset is declared also on AIX 7.
13647         * lib/sys_select.in.h: Include <string.h> also on AIX.
13648         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
13649         self-contained also on AIX 7.1.
13650
13651 2011-06-04  Jim Meyering  <meyering@redhat.com>
13652
13653         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
13654         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
13655         function name, "error".
13656         (_gl_translatable_diag_func_re): New configurable variable.
13657
13658 2011-06-04  Bruno Haible  <bruno@clisp.org>
13659
13660         getopt: Avoid gcc warning.
13661         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
13662
13663 2011-06-04  Bruno Haible  <bruno@clisp.org>
13664
13665         strerror_r: Fix comments.
13666         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
13667         commit.
13668
13669 2011-06-04  Bruno Haible  <bruno@clisp.org>
13670
13671         perror: Fix compilation error.
13672         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
13673         Undefine fprintf, not sprintf.
13674         * modules/perror (Depends-on): Remove intprops, verify.
13675
13676 2011-06-04  Bruno Haible  <bruno@clisp.org>
13677
13678         setlocale: Enable replacement on Cygwin 1.5.
13679         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
13680         Cygwin 1.5.x.
13681         * doc/posix-functions/setlocale.texi: Mention that the problem with the
13682         LC_CTYPE category also exists on Cygwin 1.5.x.
13683
13684 2011-06-04  Bruno Haible  <bruno@clisp.org>
13685
13686         strerror-override: Don't disable symbol renamings.
13687         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
13688         * lib/strerror-override.c: Include config.h.
13689         (strerror_override): Don't undefine.
13690
13691 2011-06-03  Bruno Haible  <bruno@clisp.org>
13692
13693         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
13694         * lib/localename.h: Update copyright header.
13695         * lib/localename.c: Likewise.
13696         * lib/relocatable.h: Likewise.
13697         * lib/relocatable.c: Likewise.
13698
13699 2011-06-02  Bruno Haible  <bruno@clisp.org>
13700
13701         doc: Fix a module name.
13702         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
13703
13704 2011-06-02  Bruno Haible  <bruno@clisp.org>
13705
13706         pipe2: Remove dependency on 'nonblocking' module.
13707         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
13708         O_NONBLOCK is defined by gnulib.
13709         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
13710         is zero.
13711         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
13712         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
13713         defined by gnulib.
13714         (get_nonblocking_flag): New function.
13715         (main): Test O_NONBLOCK flag only if it is nonzero.
13716         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
13717
13718 2011-06-03  Jim Meyering  <meyering@redhat.com>
13719
13720         maint: three new prohibit-header-without-use rules
13721         Prohibit use of cloexec.h, posixver.h, same.h without use.
13722         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
13723         (sc_prohibit_posixver_without_use): Likewise.
13724         (sc_prohibit_same_without_use): Likewise.
13725
13726 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
13727
13728         allocator: 'die' routine is now given requested size
13729         * lib/allocator.h (struct allocator.die): New size arg.
13730         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
13731         If the actual problem is an ssize_t limitation, not a size_t or
13732         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
13733
13734 2011-06-01  Eric Blake  <eblake@redhat.com>
13735
13736         strerror: drop strerror_r dependency
13737         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
13738         * lib/strerror-override.c (strerror_override): ...to new file.
13739         * lib/strerror-override.h: Add prototype.
13740         * lib/strerror-impl.h: Delete.
13741         * lib/strerror.c (strerror): New implementation.
13742         * modules/errno (Files): Add new files.
13743         (configure.ac): Compile new file as appropriate.
13744         * modules/strerror (Files): Drop unused file.
13745         (Depends-on): Drop strerror_r-posix.
13746         * MODULES.html.sh: Document strerror_r-posix.
13747         Requested by Sam Steingold.
13748
13749         perror: call strerror_r directly
13750         * modules/perror (Files): Drop strerror-impl.h.
13751         * lib/perror.c (perror): Use our own stack buffer, rather than
13752         calling a wrapper that uses static storage.
13753         * doc/posix-functions/perror.texi (perror): Document a limitation
13754         of our replacement.
13755
13756         strerror_r: fix includes for FreeBSD
13757         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
13758         since we use abort on some platforms.
13759         Reported by Matthias Bolte.
13760
13761 2011-05-31  Bruno Haible  <bruno@clisp.org>
13762
13763         Fix link errors in tests: openat-die uses gettext-h.
13764         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
13765         against $(LIBINTL).
13766         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
13767         against $(LIBINTL).
13768         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
13769         $(LIBINTL).
13770         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
13771         against $(LIBINTL).
13772         * modules/linkat-tests (Makefile.am): Link test-linkat against
13773         $(LIBINTL).
13774         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
13775         $(LIBINTL).
13776         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
13777         against $(LIBINTL).
13778         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
13779         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
13780         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
13781         $(LIBINTL).
13782         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
13783         $(LIBINTL).
13784         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
13785         $(LIBINTL).
13786         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13787
13788 2011-05-31  Bruno Haible  <bruno@clisp.org>
13789
13790         Fix link errors in tests: wait-process uses gettext-h.
13791         * modules/nonblocking-pipe-tests (Makefile.am): Set
13792         test_nonblocking_pipe_main_LDADD.
13793         * modules/nonblocking-socket-tests (Makefile.am): Link
13794         test-nonblocking-socket-main against $(LIBINTL).
13795         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13796
13797 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
13798
13799         assert-h: work around 'verify' incompatibility
13800         * lib/verify.h: Use @...@ directives, not ifdef.
13801         * modules/assert-h (assert.h): Implement the directives.
13802         (assert.h): Substitute the symbol-prefix more consistently.
13803
13804 2011-05-29  Jim Meyering  <meyering@redhat.com>
13805
13806         trim: remove three superfluous assignments
13807         * lib/trim.c (trim2): Remove three superfluous assignments
13808         and correct brace positioning.
13809
13810 2011-05-29  Bruno Haible  <bruno@clisp.org>
13811
13812         wctype-h: Avoid namespace pollution on Solaris 2.6.
13813         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
13814         identifiers.
13815         * doc/posix-headers/wctype.texi: Mention the problem.
13816         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13817
13818 2011-05-28  Jim Meyering  <meyering@redhat.com>
13819
13820         parse-datetime.y: accommodate -Wstrict-overflow
13821         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
13822         placate -Wstrict-overflow.
13823
13824         trim: avoid a warning from -O2 -Wstrict-overflow
13825         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
13826
13827 2011-05-29  Bruno Haible  <bruno@clisp.org>
13828
13829         gnulib-tool: Fix bug in yesterday's commit.
13830         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
13831         twice.
13832
13833 2011-05-29  Bruno Haible  <bruno@clisp.org>
13834
13835         Allow multiple gnulib generated include files to be combined.
13836         * gnulib-tool (func_compute_include_guard_prefix): New function.
13837         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
13838         ${gl_include_guard_prefix} references.
13839         (func_import, func_create_testdir): Invoke
13840         func_compute_include_guard_prefix.
13841         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
13842         * lib/ctype.in.h: Likewise.
13843         * lib/dirent.in.h: Likewise.
13844         * lib/errno.in.h: Likewise.
13845         * lib/fcntl.in.h: Likewise.
13846         * lib/float.in.h: Likewise.
13847         * lib/getopt.in.h: Likewise.
13848         * lib/iconv.in.h: Likewise.
13849         * lib/langinfo.in.h: Likewise.
13850         * lib/locale.in.h: Likewise.
13851         * lib/math.in.h: Likewise.
13852         * lib/netdb.in.h: Likewise.
13853         * lib/netinet_in.in.h: Likewise.
13854         * lib/poll.in.h: Likewise.
13855         * lib/pthread.in.h: Likewise.
13856         * lib/pty.in.h: Likewise.
13857         * lib/sched.in.h: Likewise.
13858         * lib/se-selinux.in.h: Likewise.
13859         * lib/search.in.h: Likewise.
13860         * lib/signal.in.h: Likewise.
13861         * lib/spawn.in.h: Likewise.
13862         * lib/stdarg.in.h: Likewise.
13863         * lib/stddef.in.h: Likewise.
13864         * lib/stdint.in.h: Likewise.
13865         * lib/stdio.in.h: Likewise.
13866         * lib/stdlib.in.h: Likewise.
13867         * lib/string.in.h: Likewise.
13868         * lib/strings.in.h: Likewise.
13869         * lib/sys_file.in.h: Likewise.
13870         * lib/sys_ioctl.in.h: Likewise.
13871         * lib/sys_select.in.h: Likewise.
13872         * lib/sys_socket.in.h: Likewise.
13873         * lib/sys_stat.in.h: Likewise.
13874         * lib/sys_time.in.h: Likewise.
13875         * lib/sys_times.in.h: Likewise.
13876         * lib/sys_uio.in.h: Likewise.
13877         * lib/sys_utsname.in.h: Likewise.
13878         * lib/sys_wait.in.h: Likewise.
13879         * lib/sysexits.in.h: Likewise.
13880         * lib/termios.in.h: Likewise.
13881         * lib/time.in.h: Likewise.
13882         * lib/unistd.in.h: Likewise.
13883         * lib/wchar.in.h: Likewise.
13884         * lib/wctype.in.h: Likewise.
13885         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
13886         * modules/ctype (Makefile.am): Likewise.
13887         * modules/dirent (Makefile.am): Likewise.
13888         * modules/errno (Makefile.am): Likewise.
13889         * modules/fcntl-h (Makefile.am): Likewise.
13890         * modules/float (Makefile.am): Likewise.
13891         * modules/getopt-posix (Makefile.am): Likewise.
13892         * modules/iconv-h (Makefile.am): Likewise.
13893         * modules/langinfo (Makefile.am): Likewise.
13894         * modules/locale (Makefile.am): Likewise.
13895         * modules/math (Makefile.am): Likewise.
13896         * modules/netdb (Makefile.am): Likewise.
13897         * modules/netinet_in (Makefile.am): Likewise.
13898         * modules/poll-h (Makefile.am): Likewise.
13899         * modules/pthread (Makefile.am): Likewise.
13900         * modules/pty (Makefile.am): Likewise.
13901         * modules/sched (Makefile.am): Likewise.
13902         * modules/search (Makefile.am): Likewise.
13903         * modules/selinux-h (Makefile.am): Likewise.
13904         * modules/signal (Makefile.am): Likewise.
13905         * modules/spawn (Makefile.am): Likewise.
13906         * modules/stdarg (Makefile.am): Likewise.
13907         * modules/stddef (Makefile.am): Likewise.
13908         * modules/stdint (Makefile.am): Likewise.
13909         * modules/stdio (Makefile.am): Likewise.
13910         * modules/stdlib (Makefile.am): Likewise.
13911         * modules/string (Makefile.am): Likewise.
13912         * modules/strings (Makefile.am): Likewise.
13913         * modules/sys_file (Makefile.am): Likewise.
13914         * modules/sys_ioctl (Makefile.am): Likewise.
13915         * modules/sys_select (Makefile.am): Likewise.
13916         * modules/sys_socket (Makefile.am): Likewise.
13917         * modules/sys_stat (Makefile.am): Likewise.
13918         * modules/sys_time (Makefile.am): Likewise.
13919         * modules/sys_times (Makefile.am): Likewise.
13920         * modules/sys_uio (Makefile.am): Likewise.
13921         * modules/sys_utsname (Makefile.am): Likewise.
13922         * modules/sys_wait (Makefile.am): Likewise.
13923         * modules/sysexits (Makefile.am): Likewise.
13924         * modules/termios (Makefile.am): Likewise.
13925         * modules/time (Makefile.am): Likewise.
13926         * modules/unistd (Makefile.am): Likewise.
13927         * modules/wchar (Makefile.am): Likewise.
13928         * modules/wctype-h (Makefile.am): Likewise.
13929         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
13930
13931 2011-05-29  Bruno Haible  <bruno@clisp.org>
13932
13933         assert-h: Allow multiple gnulib generated replacements to coexist.
13934         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
13935
13936 2011-05-29  Bruno Haible  <bruno@clisp.org>
13937
13938         argp: Allow coexistence with strerror_r-posix module.
13939         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
13940         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
13941         by gnulib's <string.h> replacement), assume it has the POSIX signature,
13942         not the glibc signature.
13943
13944 2011-05-28  Bruno Haible  <bruno@clisp.org>
13945
13946         gnulib-tool: Alternative structure of testdirs, similar to --import.
13947         * gnulib-tool: New option --single-configure.
13948         (func_usage): Document it.
13949         (single_configure): New variable.
13950         (func_modules_transitive_closure_separately,
13951         func_modules_transitive_closure_separately,
13952         func_determine_use_libtests, func_modules_add_dummy_separately,
13953         func_modules_to_filelist_separately): New functions, extracted from
13954         func_import.
13955         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
13956         (func_import): Use the new functions.
13957         (func_create_testdir): Set final_modules. Handle $single_configure =
13958         true case.
13959
13960 2011-05-28  Bruno Haible  <bruno@clisp.org>
13961
13962         getloadavg: Remove an unreliable safety check.
13963         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
13964         getloadavg.c is in place.
13965         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
13966         Reported by Sam Steingold <sds@gnu.org>.
13967
13968 2011-05-28  Bruno Haible  <bruno@clisp.org>
13969
13970         doc: Cleanup yet another file produced by texinfo.tex.
13971         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
13972
13973 2011-05-28  Bruno Haible  <bruno@clisp.org>
13974
13975         Finish the conditional dependencies mechanism.
13976         * gnulib-tool: New option --no-conditional-dependencies.
13977         (func_usage): Document it. Don't mark --conditional-dependencies as
13978         experimental.
13979         (cond_dependencies): The possible values can now be true, false, empty.
13980         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
13981         (func_import): Store setting in gnulib-cache.m4 and read it from there.
13982         * doc/gnulib-tool.texi (Conditional dependencies): New section.
13983
13984 2011-05-28  Bruno Haible  <bruno@clisp.org>
13985
13986         doc: Use a recent texinfo.tex.
13987         * doc/Makefile (tex_opts): New variable.
13988         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
13989
13990 2011-05-28  Jim Meyering  <meyering@redhat.com>
13991
13992         intprops.h: adjust comment to match code change
13993         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
13994         only once, it *may* have side effects.  Also fix an unrelated typo.
13995         (_GL_INT_SIGNED): Likewise.
13996
13997 2011-05-26  Simon Josefsson  <simon@josefsson.org>
13998
13999         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
14000
14001 2011-05-26  Bruno Haible  <bruno@clisp.org>
14002
14003         mbsrchr: Avoid collision with system function on Interix.
14004         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
14005         Reported by Markus Duft <mduft@gentoo.org>.
14006
14007 2011-05-15  James Youngman  <jay@gnu.org>
14008
14009         getopt: for ambiguous options, enumerate the possibilities.
14010         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
14011         the ambiguous options when an ambiguous prefix is given. This was
14012         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
14013         glibc change was
14014         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
14015
14016 2011-05-25  Eric Blake  <eblake@redhat.com>
14017
14018         getcwd: work around mingw bug
14019         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
14020         * doc/posix-functions/getcwd.texi (getcwd): Document it.
14021         Reported by Matthias Bolte.
14022
14023 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
14024
14025         test-intprops: disable -Wtype-limits diagnostics
14026         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
14027         diagnostics.  Otherwise, the integer overflow macros generate many
14028         diagnostics.  Reported by Jim Meyering in
14029         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
14030
14031         intprops: shorten, to pacify gcc -Woverlength-strings
14032         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
14033         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
14034         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
14035         likely to run afoul of C compiler limits for string constant lengths.
14036         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
14037
14038 2011-05-24  Eric Blake  <eblake@redhat.com>
14039
14040         docs: document recently fixed glibc printf bug
14041         * doc/posix-functions/fprintf.texi (fprintf): Document it.
14042         * doc/posix-functions/printf.texi (printf): Likewise.
14043         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
14044         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
14045
14046         closein-tests: convert to init.sh
14047         * modules/closein-tests (Files): Add init.sh
14048         * tests/test-closein.sh Use it.
14049
14050         yesno-tests: convert to init.sh
14051         * modules/yesno-tests (Files): Add init.sh.
14052         * tests/test-yesno.sh: Use it.
14053
14054         atexit-tests: ensure reliable exit status
14055         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
14056         Reported by Bruno Haible.
14057
14058 2011-05-24  Bruno Haible  <bruno@clisp.org>
14059
14060         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
14061         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
14062         gl_PREREQ_STRERROR_R invocations from here...
14063         * modules/strerror_r-posix (configure.ac): ... to here.
14064
14065 2011-05-24  Eric Blake  <eblake@redhat.com>
14066
14067         strerror_r: fix missing header
14068         * lib/strerror_r.c: Avoid compiler warning about snprintf.
14069
14070         strerror_r: fix AIX test failures
14071         * lib/strerror_r.c (strerror_r): Convert silent truncation to
14072         ERANGE failure.
14073
14074         strerror_r: fix Solaris test failures
14075         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
14076         failures.
14077         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
14078
14079         strerror_r: enforce POSIX recommendations
14080         * lib/strerror_r.c (safe_copy): New helper method.
14081         (strerror_r): Guarantee a non-empty string.
14082         * tests/test-strerror_r.c (main): Enhance tests to incorporate
14083         recent POSIX rulings and to match our strerror guarantees.
14084         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
14085
14086 2011-05-24  Jim Meyering  <meyering@redhat.com>
14087
14088         test-perror2.c: avoid warning about unused variable
14089         * tests/test-perror2.c (main): Remove declaration of unused "fp".
14090
14091 2011-05-24  Eric Blake  <eblake@redhat.com>
14092
14093         perror: avoid spurious test failure on HP-UX
14094         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
14095
14096         tests: fix logic bug in init.sh
14097         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
14098         shell.
14099
14100 2011-05-24  Jim Meyering  <meyering@redhat.com>
14101
14102         utimensat: do not reference an out-of-scope buffer
14103         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
14104         declared in an inner scope, yet "times" would be dereferenced outside
14105         the scope in which "ts" was valid.
14106         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
14107         of ts[2] "out/up", so that the use of aliased "times" (via
14108         "times = ts;") does not end up referencing an out-of-scope "ts"
14109
14110         opendir-safer.c: don't clobber errno; don't close negative FD
14111         * lib/opendir-safer.c (opendir_safer):
14112         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
14113         file descriptor, and more importantly, don't clobber the
14114         offending errno value with EINVAL.  Before, upon failure
14115         of dup_safer, we would pass the negative file descriptor to
14116         fdopendir, which would clobber errno.
14117
14118 2011-05-23  Bruno Haible  <bruno@clisp.org>
14119
14120         idcache: Fix module description.
14121         * modules/idcache (Include): Set to "idcache.h".
14122
14123 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
14124
14125         gnulib-tool: fix portability problem with MacOS sed
14126         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
14127         before the "}".  Problem reported by Leo in
14128         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
14129         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
14130         sed_extract_condition1, sed_extract_condition2.
14131
14132 2011-05-23  Bruno Haible  <bruno@clisp.org>
14133
14134         hash: Simplify autoconf macro.
14135         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
14136
14137 2011-05-23  Bruno Haible  <bruno@clisp.org>
14138
14139         getugroups: Fix module description.
14140         * modules/getugroups (Include): Set to "getugroups.h".
14141
14142 2011-05-23  Bruno Haible  <bruno@clisp.org>
14143
14144         linkat: Simplify autoconf macro.
14145         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
14146
14147 2011-05-23  Bruno Haible  <bruno@clisp.org>
14148             Eric Blake  <eblake@redhat.com>
14149
14150         linkat, renameat: Update dependencies.
14151         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
14152         * modules/linkat (Depends-on): Likewise. Remove also readlink,
14153         symlinkat.
14154
14155 2011-05-23  Jim Meyering  <meyering@redhat.com>
14156
14157         maint.mk: more tight_scope improvements
14158         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
14159         (_gl_TS_headers): Define only in if-0'd block.
14160         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
14161         sometimes we must *not* use it.  Adjust uses accordingly.
14162         (sc_tight_scope): Use much simpler grep-based test to determine
14163         whether we skip this rule.
14164
14165         maint.mk: generalize/improve the tight-scope rule
14166         * top/maint.mk: Emit a warning when the test is skipped.
14167         (_gl_TS_dir): Add $(srcdir)/ prefix.
14168         (_gl_TS_function_match): Simplify, rather than trying
14169         to enumerate common types.  Otherwise, it would fail to match an
14170         "extern unsigned char const *" declaration in idutils.
14171         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
14172         a way to support use of that type of macro.
14173         (_gl_TS_var_match): Simplify regexp.
14174         (_gl_TS_obj_files): New configurable variable.
14175         (_gl_TS_headers): Likewise.
14176
14177 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
14178
14179         verify: fix bug when gnulib <assert.h> is also included
14180         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
14181         is defined, not if _GL_STATIC_ASSERT_H is not defined.
14182         Perhaps there's a better way, but this fixes the immediate problem.
14183         Problem reported by Bruno Haible in
14184         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
14185
14186 2011-05-22  Bruno Haible  <bruno@clisp.org>
14187
14188         xgetcwd: Simplify autoconf macro.
14189         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
14190
14191 2011-05-22  Bruno Haible  <bruno@clisp.org>
14192
14193         New module 'mktime-internal'.
14194         * modules/mktime-internal: New file.
14195         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
14196         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
14197         mktime_internal as a C macro if libc has __mktime_internal.
14198         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
14199         conditions.
14200         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
14201
14202 2011-05-22  Bruno Haible  <bruno@clisp.org>
14203
14204         timegm: Correct mktime replacement statements.
14205         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
14206         defining mktime as a C macro. This completes a 2009-07-28 commit.
14207
14208 2011-05-22  Bruno Haible  <bruno@clisp.org>
14209
14210         timegm: Simplify autoconf macro.
14211         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
14212
14213 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
14214
14215         clock-time: change to LGPLv2+.
14216         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
14217         BSD-like but we have no mark for that; this is good enough for now.
14218
14219 2011-05-21  Bruno Haible  <bruno@clisp.org>
14220
14221         strerror_r: Fix comments.
14222         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
14223
14224 2011-05-21  Bruno Haible  <bruno@clisp.org>
14225
14226         relocatable-prog-wrapper: Fix possible link error.
14227         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
14228         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
14229         (gl_FUNC_SETENV): ... to here.
14230         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
14231         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
14232
14233 2011-05-21  Bruno Haible  <bruno@clisp.org>
14234
14235         relocatable-prog-wrapper: Assume strerror() exists.
14236         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
14237         m4/strerror.m4.
14238         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
14239         * lib/relocwrapper.c: Remove mention of strerror module.
14240         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
14241         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
14242         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
14243         C macro.
14244
14245 2011-05-21  Bruno Haible  <bruno@clisp.org>
14246
14247         select: Simplify replacement idiom.
14248         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
14249         Win32 platforms.
14250         * lib/sys_select.in.h (select): Simplify accordingly.
14251         * modules/select (Depends-on): Likewise.
14252
14253 2011-05-21  Bruno Haible  <bruno@clisp.org>
14254
14255         mkdir-p: Simplify autoconf macro.
14256         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
14257         gl_FUNC_LCHOWN.
14258
14259 2011-05-21  Eric Blake  <eblake@redhat.com>
14260
14261         strerror_r: avoid clobbering strerror on cygwin
14262         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
14263         fall back instead to sys_errlist.
14264         * modules/strerror (configure.ac): Add witness.
14265         * tests/test-strerror_r.c (main): Enhance test.
14266         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
14267         * tests/test-perror2.c (main): Free memory before exit.
14268
14269 2011-05-21  Bruno Haible  <bruno@clisp.org>
14270
14271         mkdtemp: Use gnulib naming conventions.
14272         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
14273         * modules/mkdtemp (configure.ac): Update.
14274
14275 2011-05-20  Eric Blake  <eblake@redhat.com>
14276
14277         strerror_r: avoid corrupting errno on Solaris
14278         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
14279         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
14280
14281         strerror_r: avoid compiler warning
14282         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
14283
14284         strerror_r: simplify AIX code
14285         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
14286
14287         test-perror: avoid spurious failure on FreeBSD
14288         * modules/perror-tests (Depends-on): Add strerror, now that
14289         strerror_r no longer pulls it in.
14290
14291 2011-05-20  Bruno Haible  <bruno@clisp.org>
14292
14293         strerror_r-posix: Remove unused dependencies.
14294         * modules/strerror_r-posix (Depends-on): Remove strerror.
14295         Reported by Eric Blake.
14296
14297 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
14298
14299         intprops: remove assumption about A|B representation
14300         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
14301         is a valid integer if both A and B are.  Although this is true for
14302         all known practical hosts, the C standard doesn't guarantee it,
14303         and the code need not assume it.  Also, this change may work around
14304         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
14305         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
14306
14307 2011-05-20  Eric Blake  <eblake@redhat.com>
14308
14309         perror: work around FreeBSD bug
14310         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
14311         is broken.  Move AC_LIBOBJ...
14312         * modules/perror (configure.ac): Here.
14313         * doc/posix-functions/perror.texi (perror): Document this.
14314         * tests/test-perror2.c (main): Enhance test.
14315
14316         test-perror: check for strerror interactions
14317         * tests/macros.h (STREQ): Add macro.
14318         * modules/perror-tests (Files): Add second test.
14319         * tests/test-perror2.c (main): New file.
14320         * doc/posix-functions/perror.texi (perror): Document glibc bug.
14321
14322         test-perror: rewrite to use init script
14323         * modules/perror-tests (Files): Add init.sh.
14324         * tests/test-perror.sh: Use temporary directory.
14325
14326 2011-05-20  Jim Meyering  <meyering@redhat.com>
14327
14328         maint: replace misused "a" with "an"
14329         * doc/intprops.texi: "a integer"
14330         * doc/regex.texi: "a explanation"
14331         * lib/alignof.h: "a object"
14332         * lib/argmatch.h: "a explanation"
14333         * lib/argp-help.c: "a option" and "a OPTION_DOC"
14334         * lib/stdint.in.h: "a integer"
14335         * lib/userspec.c: "a owner"
14336         * doc/gnulib.texi: Fix "a idea", and reword.
14337
14338 2011-05-19  Jim Meyering  <meyering@redhat.com>
14339
14340         maint: correct misuse of "a" and "an"
14341         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
14342         * lib/argp-help.c: "an docum...": s/an/a/
14343         * lib/argp-parse.c: "An vector": s/An/A/
14344         * lib/execute.c: "an native": s/an/a/
14345         * lib/spawn-pipe.c: Likewise.
14346         * lib/gc.h: "an Gc_rc": s/an/a/
14347         * lib/unigbrk.in.h: "an grapheme": s/an/a/
14348         * lib/fts.c: "an stat.st_dev": s/an/a/
14349
14350 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
14351
14352         intprops-tests: work around HP-UX 11.23 cc bug with constants
14353         * tests/test-intprops.c (VERIFY): New macro.
14354         (main): Use it, instead of verify, to work around the compiler bug; see
14355         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
14356
14357         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
14358         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
14359         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
14360         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
14361         (_GL_REMAINDER_OVERFLOW): Use it.
14362
14363         intprops-tests: revert unsigned part of previous change
14364         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
14365         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
14366         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
14367         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
14368
14369 2011-05-19  Bruno Haible  <bruno@clisp.org>
14370
14371         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
14372         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
14373         strerror_r() returned without filling the buffer.
14374         Reported by Eric Blake.
14375
14376 2011-05-19  Eric Blake  <eblake@redhat.com>
14377
14378         strerror_r: guarantee unchanged errno
14379         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
14380         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
14381         failure.
14382         * tests/test-strerror_r.c (main): Enhance test.
14383
14384 2011-05-19  Bruno Haible  <bruno@clisp.org>
14385
14386         strerror_r: Reorder #if blocks.
14387         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
14388         for consistency with the previous commit.
14389
14390 2011-05-19  Bruno Haible  <bruno@clisp.org>
14391
14392         perror: Avoid clobbering the strerror buffer when possible.
14393         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
14394         * lib/strerror.c: Include it.
14395         * modules/strerror (Files): Add lib/strerror-impl.h.
14396         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
14397         (my_strerror): New function, defined through lib/strerror-impl.h.
14398         (perror): Use it instead of strerror.
14399         * modules/perror (Files): Add lib/strerror-impl.h.
14400         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
14401
14402 2011-05-19  Eric Blake  <eblake@redhat.com>
14403
14404         strerror_r: fix on newer cygwin
14405         * lib/strerror_r.c (strerror_r): Cygwin now has
14406         __xpg_strerror_r, use it.
14407
14408 2011-05-19  Bruno Haible  <bruno@clisp.org>
14409
14410         strerror_r: Avoid clobbering the strerror buffer when possible.
14411         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
14412         (sys_nerr, sys_errlist): New declarations.
14413         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
14414         HP-UX, native Win32, IRIX, and 32-bit Solaris.
14415         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
14416
14417 2011-05-19  Bruno Haible  <bruno@clisp.org>
14418
14419         strerror_r: Fix test failure on mingw.
14420         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
14421         EXTEND_STRERROR_R.
14422         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
14423         macros from errno.in.h instead.
14424
14425 2011-05-19  Eric Blake  <eblake@redhat.com>
14426
14427         strerror: relax test for Solaris
14428         * tests/test-strerror.c (main): Permit Solaris behavior.
14429         * tests/test-strerror_r.c (main): Likewise.
14430
14431         strerror: enforce POSIX ruling on strerror(0)
14432         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
14433         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
14434         * lib/strerror_r.c (rpl_strerror_r): Work around it.
14435         * doc/posix-functions/strerror.texi (strerror): Document it.
14436         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
14437         * tests/test-strerror.c (main): Strengthen test.
14438         * tests/test-strerror_r.c (main): Likewise.
14439
14440 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
14441
14442         intprop-tests: port to older and more-pedantic compilers
14443         * modules/intprops-tests (Files): Add tests/macros.h.
14444         * tests/test-intprops.c: Include macros.h.
14445         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
14446         it's no longer documented to expand to an integer constant expression.
14447         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
14448         argument is floating point, as it's no longer documented to expand
14449         to an integer constant expression in that case.
14450         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
14451         compiler bugs reported by Bruno Haible.  See
14452         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
14453         (U0, U1): New constants, to work around the same bugs.  Also,
14454         in tests, use e.g., "(unsigned int) 39" rather than "39u".
14455
14456         intprops: work around C compiler bugs
14457         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
14458         bug in Sun C 5.11 2010/08/13 and other compilers; see
14459         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
14460
14461         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
14462         * doc/intprops.texi (Integer Type Determination): Fix
14463         documentation for TYPE_IS_INTEGER: it returns an constant
14464         expression, not an integer constant expression.  Fix doc for
14465         TYPE_SIGNED: it returns an integer constant expression only if its
14466         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
14467         hardly worth documented that way....)
14468
14469 2011-05-18  Bruno Haible  <bruno@clisp.org>
14470
14471         strerror_r: Avoid clobbering the strerror buffer when possible.
14472         * lib/strerror_r.c (strerror_r): Merge the three implementations.
14473         Handle gnulib defined errno values here. When strerror() returns NULL
14474         or an empty string, return EINVAL.
14475         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
14476         gnulib defined errno values here.
14477         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
14478
14479 2011-05-18  Eric Blake  <eblake@redhat.com>
14480
14481         fnmatch: avoid compiler warning
14482         * lib/fnmatch_loop.c (FCT): Use correct type.
14483         Reported by Matthias Bolte.
14484
14485 2011-05-13  Jim Meyering  <meyering@redhat.com>
14486
14487         maint.mk: three new prohibit_<HDR>_without_use rules
14488         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
14489         (sc_prohibit_stdio-safer_without_use): Likewise.
14490         (sc_prohibit_xfreopen_without_use): Likewise.
14491
14492 2011-05-17  Jim Meyering  <meyering@redhat.com>
14493
14494         announce-gen: fail if the NEWS delta is empty
14495         If there's nothing noteworthy in NEWS, then either you forgot
14496         or you shouldn't be releasing.
14497         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
14498
14499 2011-05-17  Pádraig Brady <P@draigBrady.com>
14500
14501         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
14502         reserved symbols starting with double underscore from the check.
14503
14504 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
14505
14506         intprops: add doc
14507         * doc/intprops.texi: New file, documenting intprops.
14508         * doc/gnulib.texi (Particular Modules): Include it.
14509
14510         verify: add doc to gnulib manual and fix example
14511         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
14512         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
14513         (Compile-time Assertions): Fix example so it can't overflow.
14514
14515 2011-05-17  Jim Meyering  <meyering@redhat.com>
14516
14517         warnings.m4: don't usurp save_CPPFLAGS variable name
14518         * m4/warnings.m4: Prefix local temporary variable name with gl_.
14519
14520         doc: fix typo
14521         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
14522
14523 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
14524             Bruno Haible  <bruno@clisp.org>
14525
14526         doc: Tweak recent change.
14527         * README (Portability guidelines): Tweak new text.
14528         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
14529         Interix 6.1.
14530
14531 2011-05-16  Eric Blake  <eblake@redhat.com>
14532
14533         inttypes: avoid autoconf warning
14534         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
14535         * m4/stdint.m4 (gl_STDINT_H): Likewise.
14536
14537 2011-05-16  Sam Steingold <sds@gnu.org>
14538         and Eric Blake  <eblake@redhat.com>
14539
14540         vc-list-files: accept multiple directory operands
14541         * build-aux/vc-list-files: Iterate over all remaining operands.
14542
14543 2011-05-16  Bruno Haible  <bruno@clisp.org>
14544
14545         Fix confusion regarding deprecated modules.
14546         * modules/calloc (Status, Notice): Mark module as deprecated, not
14547         obsolete.
14548         * modules/fnmatch-posix (Status, Notice): Likewise.
14549         * modules/getdate (Status, Notice): Likewise.
14550         * modules/getopt (Status, Notice): Likewise.
14551         * modules/malloc (Status, Notice): Likewise.
14552         * modules/pipe (Status, Notice): Likewise.
14553         * modules/realloc (Status, Notice): Likewise.
14554         * modules/rename-dest-slash (Status, Notice): Likewise.
14555         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
14556         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
14557         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
14558         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
14559         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
14560
14561 2011-05-16  Bruno Haible  <bruno@clisp.org>
14562
14563         doc: List the target platforms.
14564         * doc/gnulib-intro.texi (Target Platforms): New section.
14565         * doc/gnulib.texi (Introduction): Update menu.
14566         * README (Portability guidelines): Refer to the new section. Update
14567         statement about oldest supported environment. Remove rationale why
14568         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
14569         unportable C89 function.
14570         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
14571         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
14572
14573 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
14574
14575         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
14576
14577 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
14578
14579         intprops-tests: new module
14580         * modules/intprops-tests, tests/test-intprops.c: New files.
14581
14582         intprops: add safe, portable integer overflow checking
14583         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
14584         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
14585         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
14586         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
14587         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
14588         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
14589         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
14590         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
14591         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
14592         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
14593         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
14594
14595 2011-05-12  James Youngman  <jay@gnu.org>
14596
14597         Add a test for glibc's Bugzilla bug #12378.
14598         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
14599         doesn't allow the literal matching of a lone "[" (which is
14600         required by POSIX).
14601         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
14602
14603 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
14604
14605         Sync glibc change fixing Bugzilla bug #12378.
14606         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
14607         beginning and fall back to matching as normal character if the
14608         string ends before the matching ']' is found.  This is what POSIX
14609         requires.
14610
14611 2011-05-13  Eric Blake  <eblake@redhat.com>
14612
14613         getcwd-lgpl: relax test for FreeBSD
14614         * doc/posix-functions/getcwd.texi (getcwd): Document portability
14615         issue.
14616         * tests/test-getcwd-lgpl.c (main): Relax test.
14617         Reported by Matthias Bolte.
14618
14619 2011-05-11  Eric Blake  <eblake@redhat.com>
14620
14621         test-fflush: silence compiler warning
14622         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
14623
14624 2011-05-11  Bruno Haible  <bruno@clisp.org>
14625
14626         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
14627         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
14628         * modules/canonicalize (Depends-on): Add 'nocrash'.
14629         * modules/canonicalize-lgpl (Depends-on): Likewise.
14630         * doc/posix-functions/realpath.texi: Update platforms list.
14631         Reported by Ryan Schmidt <ryandesign@macports.org>.
14632
14633 2011-05-11  Bruno Haible  <bruno@clisp.org>
14634
14635         group-member: Declare function in <unistd.h>.
14636         * lib/unistd.in.h (group_member): New declaration.
14637         * lib/group-member.h: Remove file.
14638         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
14639         * tests/test-unistd-c++.cc: Check signature of group_member.
14640         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
14641         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
14642         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
14643         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
14644         HAVE_GROUP_MEMBER.
14645         * modules/group-member (Files): Remove lib/group-member.h.
14646         (Depends-on): Add unistd. Specify conditions.
14647         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
14648         (Include): Change to <unistd.h>.
14649         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
14650         HAVE_GROUP_MEMBER.
14651         * NEWS: Mention the change.
14652         * lib/euidaccess.c: Don't include group-member.h.
14653
14654 2011-05-11  Bruno Haible  <bruno@clisp.org>
14655
14656         group-member: Document module.
14657         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
14658         module.
14659
14660 2011-05-11  Bruno Haible  <bruno@clisp.org>
14661
14662         fclose: Fix mistake earlier today.
14663         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
14664
14665 2011-05-11  Eric Blake  <eblake@redhat.com>
14666
14667         fclose: preserve fflush errors
14668         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
14669         Reported by Jim Meyering.
14670
14671         bootstrap: support a prereq of 'rpcgen -' on RHEL5
14672         * build-aux/bootstrap (check_versions): When no specific version
14673         is required, merely check that the app produces an exit status
14674         that indicates its existence.
14675
14676         maint.mk: drop redundant check
14677         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
14678         the same but better.
14679
14680 2011-05-11  Bruno Haible  <bruno@clisp.org>
14681
14682         fclose: Fix possible link error.
14683         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
14684         unregister_shadow_fd. Improve comments.
14685         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
14686         Eric Blake.
14687
14688 2011-05-11  Jim Meyering  <meyering@redhat.com>
14689
14690         maint.mk: improve "can not" detection and generalize rule name
14691         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
14692         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
14693         Use the same technique as in sc_prohibit_doubled_word, so that
14694         we recognize "can not" also when the words are separated by a newline.
14695         Suggested by Eric Blake.
14696         (perl_filename_lineno_text_): Define.  Factored out of...
14697         (prohibit_doubled_word_): ...here.  Use the new definition.
14698         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
14699         (prohibit_undesirable_word_seq_RE_): New overridable variable.
14700         (ignore_undesirable_word_sequence_RE_): New overridable variable.
14701
14702 2011-05-10  Eric Blake  <eblake@redhat.com>
14703
14704         fclose: avoid double close race when possible
14705         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
14706         all but WINDOWS_SOCKETS.
14707
14708 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
14709
14710         openat: correct new comment
14711         * lib/openat-proc.c (openat_proc_name): Correct the comment.
14712
14713 2011-05-10  Jim Meyering  <meyering@redhat.com>
14714
14715         openat: add comments
14716         * lib/openat-proc.c (openat_proc_name): Add comments,
14717         mostly from Eric Blake.
14718
14719 2011-05-09  Eric Blake  <eblake@redhat.com>
14720
14721         openat: reduce syscalls in first probe of /proc
14722         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
14723         be a directory.  Simplify the probe for .. bugs.
14724         * modules/openat (Depends-on): Drop same-inode.
14725         Reported by Bastien ROUCARIES.
14726
14727 2011-05-09  Jim Meyering  <meyering@redhat.com>
14728
14729         maint.mk: change semantics/name of tight_scope variables
14730         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
14731         Rename variables to align with semantics that make them more useful.
14732
14733         maint.mk: tweak new rule's name not to impinge
14734         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
14735         (sc_tight_scope): Use new rule name rather than $@-0.
14736
14737         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
14738         * top/maint.mk (sc_tight_scope): New rule.
14739         (sc_tight_scope-0): New rule, ifdef'd out.
14740         (_gl_TS_dir): Default.
14741         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
14742         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
14743
14744 2011-05-09  Simon Josefsson  <simon@josefsson.org>
14745
14746         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
14747         Haible <bruno@clisp.org>.
14748
14749 2011-05-08  Bruno Haible  <bruno@clisp.org>
14750
14751         Comments.
14752         * m4/isnanf.m4: Add comment.
14753         * m4/isnanl.m4: Likewise.
14754
14755 2011-05-08  Bruno Haible  <bruno@clisp.org>
14756
14757         glob: Remove obsolete macro.
14758         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
14759
14760 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
14761
14762         intprops: Sun C 5.11 supports __typeof__
14763         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
14764         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
14765         which is new.
14766         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
14767
14768         intprops: switch to usual gnulib indenting and naming
14769         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
14770         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
14771
14772         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
14773
14774 2011-05-08  Jim Meyering  <meyering@redhat.com>
14775
14776         maint.mk: suppress "Entering/Leaving directory" diag in announcement
14777         * top/maint.mk (release-prep): Use make's --no-print-directory
14778         option when generating the announcement.  This eliminates the
14779         pesky "make[2]: Entering/Leaving directory" diagnostics in the
14780         generated announcement template.
14781
14782 2011-05-08  Bruno Haible  <bruno@clisp.org>
14783
14784         tzset: Fix gettimeofday wrapper on Solaris 2.6.
14785         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
14786         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
14787
14788 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
14789
14790         ignore-value, verify: Omit include files from lib_SOURCES.
14791         * modules/ignore-value, modules/verify (Makefile.am):
14792         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
14793         that leads Automake to duplicate use of am__objects_... variables
14794         in Makefile.in.  See
14795         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
14796
14797 2011-05-07  Bruno Haible  <bruno@clisp.org>
14798
14799         fclose: Simplify autoconf macro.
14800         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
14801         defined.
14802
14803 2011-05-07  Bruno Haible  <bruno@clisp.org>
14804
14805         canonicalize-lgpl: Fix autoconf macro ordering bug.
14806         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
14807         gl_STDLIB_H_DEFAULTS.
14808
14809 2011-05-06  Eric Blake  <eblake@redhat.com>
14810
14811         maintainer-makefile: make sc_po_check easier to tune
14812         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
14813         to probe for strings, such as an alternate location for gnulib.
14814
14815         fclose: guarantee behavior on seekable stdin
14816         * modules/fclose (Depends-on): Add fflush.
14817         * doc/posix-functions/fclose.texi (fclose): Document this.
14818         * tests/test-fclose.c (main): Make test for this unconditional.
14819
14820 2011-05-06  Bruno Haible  <bruno@clisp.org>
14821
14822         fflush, fpurge: Relicense under LGPLv2+.
14823         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
14824         * modules/fpurge (License): Likewise.
14825         With permission from Eric Blake and Jim Meyering.
14826         Suggested by Eric Blake.
14827
14828 2011-05-06  Karl Berry  <karl@gnu.org>
14829
14830         * MODULES.html.sh (func_all_modules): remove exit.
14831
14832 2011-05-06  Jim Meyering  <meyering@redhat.com>
14833
14834         maint.mk: use info-gnu@ as the default only for a stable release
14835         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
14836         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
14837         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
14838         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
14839
14840 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
14841
14842         assert-h: new module, which supports C1X-style static_assert
14843         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
14844         * lib/verify.h: Revamp so that this can be copied into assert.h,
14845         while retaining the ability to use it standalone as before.
14846         Rename private identifiers so as not to encroach on the
14847         standard C namespace, since this is now used by assert.h.
14848         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
14849         the old verify_true.
14850         (_GL_VERIFY_TRUE): New macro, with much of the contents of
14851         the old verify_true.  Use _GL_VERIFY_TYPE.
14852         (_GL_VERIFY): New macro, with much of the contents of the old verify.
14853         (static_assert): New macro, if _GL_STATIC_ASSERT_H
14854         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
14855         defined when this file is copied into the replacement assert.h.
14856         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
14857         and _Static_assert is not built in.
14858         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
14859         defined, and use the new macros mentioned above.
14860         * doc/posix-headers/assert.texi: Document this.
14861
14862 2011-05-05  Bruno Haible  <bruno@clisp.org>
14863
14864         fclose, fflush: Respect rules for use of AC_LIBOBJ.
14865         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
14866         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
14867         gl_REPLACE_FCLOSE here.
14868         * modules/fflush (Depends-on): Remove fclose.
14869         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
14870         combination with module 'fclose'.
14871
14872 2011-05-05  Bruno Haible  <bruno@clisp.org>
14873
14874         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
14875         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
14876         gl_FUNC_FFLUSH.
14877         (gl_FUNC_FFLUSH): Use it.
14878         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
14879         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
14880         gl_REPLACE_FSEEKO here.
14881
14882 2011-05-05  Bruno Haible  <bruno@clisp.org>
14883
14884         tzset: Relicense under LGPL.
14885         * modules/tzset (License): Change to LGPL.
14886         No agreement needed; it's a no-op.
14887
14888         strtoimax, strtoumax: Relicense under LGPL.
14889         * modules/strtoimax (License): Change to LGPL.
14890         * modules/strtoumax (License): Likewise.
14891         With permission from Jim Meyering, Paul Eggert:
14892         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
14893         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
14894
14895         getgroups: Relicense under LGPL.
14896         * modules/getgroups (License): Change to LGPL.
14897         With permission from Jim Meyering, Paul Eggert, Eric Blake:
14898         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
14899         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
14900         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
14901
14902         nanosleep: Relicense under LGPL.
14903         * modules/nanosleep (License): Change to LGPL.
14904         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
14905         Haible:
14906         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
14907         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
14908         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
14909         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
14910
14911         futimens: Relicense under LGPL.
14912         * modules/futimens (License): Change to LGPL.
14913         With permission from Eric Blake:
14914         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
14915
14916         fflush: Relicense under LGPL.
14917         * modules/fflush (License): Change to LGPL.
14918         With permission from Eric Blake, Bruno Haible, Jim Meyering:
14919         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
14920         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
14921         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
14922
14923         tmpfile: Relicense under LGPL.
14924         * modules/tmpfile (License): Change to LGPL.
14925         With permission from Ben Pfaff:
14926         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
14927
14928         isfinite: Relicense under LGPL.
14929         * modules/isfinite (License): Change to LGPL.
14930         With permission from Ben Pfaff, Bruno Haible:
14931         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
14932         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
14933
14934         acosl..tanl: Relicense under LGPL.
14935         * modules/acosl (License): Change to LGPL.
14936         * modules/asinl (License): Likewise.
14937         * modules/atanl (License): Likewise.
14938         * modules/cosl (License): Likewise.
14939         * modules/expl (License): Likewise.
14940         * modules/logl (License): Likewise.
14941         * modules/sinl (License): Likewise.
14942         * modules/sqrtl (License): Likewise.
14943         * modules/tanl (License): Likewise.
14944         Source code originally from glibc and Paolo Bonzini. Agreements:
14945         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
14946         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
14947
14948 2011-05-05  Bruno Haible  <bruno@clisp.org>
14949
14950         signal: Define sighandler_t.
14951         * lib/signal.in.h (sighandler_t): New type.
14952         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
14953         whether sighandler_t is defined.
14954         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
14955         * modules/signal (Depends-on): Add extensions.
14956         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
14957         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
14958         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
14959
14960 2011-05-05  Eric Blake  <eblake@redhat.com>
14961
14962         maint: remove useless REPLACE_*_H macros
14963         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
14964         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
14965         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
14966         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
14967         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
14968         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
14969         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
14970         * m4/btowc.m4: Update callers.
14971         * m4/dirfd.m4: Likewise.
14972         * m4/duplocale.m4: Likewise.
14973         * m4/fchdir.m4: Likewise.
14974         * m4/fdopendir.m4: Likewise.
14975         * m4/inet_ntop.m4: Likewise.
14976         * m4/inet_pton.m4: Likewise.
14977         * m4/ioctl.m4: Likewise.
14978         * m4/mbrlen.m4: Likewise.
14979         * m4/mbrtowc.m4: Likewise.
14980         * m4/mbsinit.m4: Likewise.
14981         * m4/mbsnrtowcs.m4: Likewise.
14982         * m4/mbsrtowcs.m4: Likewise.
14983         * m4/poll.m4: Likewise.
14984         * m4/setlocale.m4: Likewise.
14985         * m4/wcrtomb.m4: Likewise.
14986         * m4/wcsnrtombs.m4: Likewise.
14987         * m4/wcsrtombs.m4: Likewise.
14988         * m4/wctob.m4: Likewise.
14989         * m4/wcwidth.m4: Likewise.
14990         * modules/posix_spawn: Likewise.
14991         * modules/posix_spawn_file_actions_addclose: Likewise.
14992         * modules/posix_spawn_file_actions_adddup2: Likewise.
14993         * modules/posix_spawn_file_actions_addopen: Likewise.
14994         * modules/posix_spawn_file_actions_destroy: Likewise.
14995         * modules/posix_spawn_file_actions_init: Likewise.
14996         * modules/posix_spawnattr_destroy: Likewise.
14997         * modules/posix_spawnattr_getflags: Likewise.
14998         * modules/posix_spawnattr_getpgroup: Likewise.
14999         * modules/posix_spawnattr_getschedparam: Likewise.
15000         * modules/posix_spawnattr_getschedpolicy: Likewise.
15001         * modules/posix_spawnattr_getsigdefault: Likewise.
15002         * modules/posix_spawnattr_getsigmask: Likewise.
15003         * modules/posix_spawnattr_init: Likewise.
15004         * modules/posix_spawnattr_setflags: Likewise.
15005         * modules/posix_spawnattr_setpgroup: Likewise.
15006         * modules/posix_spawnattr_setschedparam: Likewise.
15007         * modules/posix_spawnattr_setschedpolicy: Likewise.
15008         * modules/posix_spawnattr_setsigdefault: Likewise.
15009         * modules/posix_spawnattr_setsigmask: Likewise.
15010         * modules/posix_spawnp: Likewise.
15011
15012 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
15013
15014         Add option to do-release-commit-and-tag to specify branch.
15015         * build-aux/do-release-commit-and-tag: Add --branch.
15016
15017 2011-05-03  Bruno Haible  <bruno@clisp.org>
15018
15019         Avoid unnecessary compilation units, through conditional dependencies.
15020         * modules/accept (Depends-on): Add conditions to the dependencies.
15021         * modules/acosl (Depends-on): Likewise.
15022         * modules/argz (Depends-on): Likewise.
15023         * modules/asinl (Depends-on): Likewise.
15024         * modules/atanl (Depends-on): Likewise.
15025         * modules/atoll (Depends-on): Likewise.
15026         * modules/bind (Depends-on): Likewise.
15027         * modules/btowc (Depends-on): Likewise.
15028         * modules/canonicalize-lgpl (Depends-on): Likewise.
15029         * modules/ceil (Depends-on): Likewise.
15030         * modules/ceilf (Depends-on): Likewise.
15031         * modules/ceill (Depends-on): Likewise.
15032         * modules/chdir-long (Depends-on): Likewise.
15033         * modules/chown (Depends-on): Likewise.
15034         * modules/close (Depends-on): Likewise.
15035         * modules/connect (Depends-on): Likewise.
15036         * modules/cosl (Depends-on): Likewise.
15037         * modules/dirfd (Depends-on): Likewise.
15038         * modules/dprintf (Depends-on): Likewise.
15039         * modules/dprintf-posix (Depends-on): Likewise.
15040         * modules/error (Depends-on): Likewise.
15041         * modules/euidaccess (Depends-on): Likewise.
15042         * modules/expl (Depends-on): Likewise.
15043         * modules/faccessat (Depends-on): Likewise.
15044         * modules/fchdir (Depends-on): Likewise.
15045         * modules/fclose (Depends-on): Likewise.
15046         * modules/fcntl (Depends-on): Likewise.
15047         * modules/fdopendir (Depends-on): Likewise.
15048         * modules/fflush (Depends-on): Likewise.
15049         * modules/floor (Depends-on): Likewise.
15050         * modules/floorf (Depends-on): Likewise.
15051         * modules/floorl (Depends-on): Likewise.
15052         * modules/fnmatch (Depends-on): Likewise.
15053         * modules/fopen (Depends-on): Likewise.
15054         * modules/fprintf-posix (Depends-on): Likewise.
15055         * modules/frexp (Depends-on): Likewise.
15056         * modules/frexp-nolibm (Depends-on): Likewise.
15057         * modules/frexpl (Depends-on): Likewise.
15058         * modules/frexpl-nolibm (Depends-on): Likewise.
15059         * modules/fseek (Depends-on): Likewise.
15060         * modules/fsusage (Depends-on): Likewise.
15061         * modules/ftell (Depends-on): Likewise.
15062         * modules/ftello (Depends-on): Likewise.
15063         * modules/futimens (Depends-on): Likewise.
15064         * modules/getcwd (Depends-on): Likewise.
15065         * modules/getcwd-lgpl (Depends-on): Likewise.
15066         * modules/getdelim (Depends-on): Likewise.
15067         * modules/getdomainname (Depends-on): Likewise.
15068         * modules/getgroups (Depends-on): Likewise.
15069         * modules/gethostname (Depends-on): Likewise.
15070         * modules/getline (Depends-on): Likewise.
15071         * modules/getlogin_r (Depends-on): Likewise.
15072         * modules/getopt-posix (Depends-on): Likewise.
15073         * modules/getpeername (Depends-on): Likewise.
15074         * modules/getsockname (Depends-on): Likewise.
15075         * modules/getsockopt (Depends-on): Likewise.
15076         * modules/getsubopt (Depends-on): Likewise.
15077         * modules/getusershell (Depends-on): Likewise.
15078         * modules/glob (Depends-on): Likewise.
15079         * modules/grantpt (Depends-on): Likewise.
15080         * modules/iconv_open (Depends-on): Likewise.
15081         * modules/iconv_open-utf (Depends-on): Likewise.
15082         * modules/inet_ntop (Depends-on): Likewise.
15083         * modules/inet_pton (Depends-on): Likewise.
15084         * modules/ioctl (Depends-on): Likewise.
15085         * modules/isapipe (Depends-on): Likewise.
15086         * modules/isfinite (Depends-on): Likewise.
15087         * modules/isinf (Depends-on): Likewise.
15088         * modules/lchown (Depends-on): Likewise.
15089         * modules/ldexpl (Depends-on): Likewise.
15090         * modules/link (Depends-on): Likewise.
15091         * modules/linkat (Depends-on): Likewise.
15092         * modules/listen (Depends-on): Likewise.
15093         * modules/logl (Depends-on): Likewise.
15094         * modules/lstat (Depends-on): Likewise.
15095         * modules/mbrlen (Depends-on): Likewise.
15096         * modules/mbrtowc (Depends-on): Likewise.
15097         * modules/mbsinit (Depends-on): Likewise.
15098         * modules/mbsnrtowcs (Depends-on): Likewise.
15099         * modules/mbsrtowcs (Depends-on): Likewise.
15100         * modules/mbtowc (Depends-on): Likewise.
15101         * modules/memcmp (Depends-on): Likewise.
15102         * modules/mkdir (Depends-on): Likewise.
15103         * modules/mkdtemp (Depends-on): Likewise.
15104         * modules/mkfifo (Depends-on): Likewise.
15105         * modules/mkfifoat (Depends-on): Likewise.
15106         * modules/mknod (Depends-on): Likewise.
15107         * modules/mkostemp (Depends-on): Likewise.
15108         * modules/mkostemps (Depends-on): Likewise.
15109         * modules/mkstemp (Depends-on): Likewise.
15110         * modules/mkstemps (Depends-on): Likewise.
15111         * modules/mktime (Depends-on): Likewise.
15112         * modules/nanosleep (Depends-on): Likewise.
15113         * modules/open (Depends-on): Likewise.
15114         * modules/openat (Depends-on): Likewise.
15115         * modules/perror (Depends-on): Likewise.
15116         * modules/poll (Depends-on): Likewise.
15117         * modules/popen (Depends-on): Likewise.
15118         * modules/posix_spawn (Depends-on): Likewise.
15119         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
15120         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
15121         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
15122         * modules/posix_spawnp (Depends-on): Likewise.
15123         * modules/pread (Depends-on): Likewise.
15124         * modules/printf-posix (Depends-on): Likewise.
15125         * modules/ptsname (Depends-on): Likewise.
15126         * modules/putenv (Depends-on): Likewise.
15127         * modules/pwrite (Depends-on): Likewise.
15128         * modules/readline (Depends-on): Likewise.
15129         * modules/readlink (Depends-on): Likewise.
15130         * modules/readlinkat (Depends-on): Likewise.
15131         * modules/recv (Depends-on): Likewise.
15132         * modules/recvfrom (Depends-on): Likewise.
15133         * modules/regex (Depends-on): Likewise.
15134         * modules/remove (Depends-on): Likewise.
15135         * modules/rename (Depends-on): Likewise.
15136         * modules/renameat (Depends-on): Likewise.
15137         * modules/rmdir (Depends-on): Likewise.
15138         * modules/round (Depends-on): Likewise.
15139         * modules/roundf (Depends-on): Likewise.
15140         * modules/roundl (Depends-on): Likewise.
15141         * modules/rpmatch (Depends-on): Likewise.
15142         * modules/select (Depends-on): Likewise.
15143         * modules/send (Depends-on): Likewise.
15144         * modules/sendto (Depends-on): Likewise.
15145         * modules/setenv (Depends-on): Likewise.
15146         * modules/setlocale (Depends-on): Likewise.
15147         * modules/setsockopt (Depends-on): Likewise.
15148         * modules/shutdown (Depends-on): Likewise.
15149         * modules/sigaction (Depends-on): Likewise.
15150         * modules/signbit (Depends-on): Likewise.
15151         * modules/sigprocmask (Depends-on): Likewise.
15152         * modules/sinl (Depends-on): Likewise.
15153         * modules/sleep (Depends-on): Likewise.
15154         * modules/snprintf (Depends-on): Likewise.
15155         * modules/snprintf-posix (Depends-on): Likewise.
15156         * modules/socket (Depends-on): Likewise.
15157         * modules/sprintf-posix (Depends-on): Likewise.
15158         * modules/sqrtl (Depends-on): Likewise.
15159         * modules/stat (Depends-on): Likewise.
15160         * modules/strchrnul (Depends-on): Likewise.
15161         * modules/strdup-posix (Depends-on): Likewise.
15162         * modules/strerror (Depends-on): Likewise.
15163         * modules/strerror_r-posix (Depends-on): Likewise.
15164         * modules/strndup (Depends-on): Likewise.
15165         * modules/strnlen (Depends-on): Likewise.
15166         * modules/strptime (Depends-on): Likewise.
15167         * modules/strsep (Depends-on): Likewise.
15168         * modules/strsignal (Depends-on): Likewise.
15169         * modules/strstr-simple (Depends-on): Likewise.
15170         * modules/strtod (Depends-on): Likewise.
15171         * modules/strtoimax (Depends-on): Likewise.
15172         * modules/strtok_r (Depends-on): Likewise.
15173         * modules/strtoumax (Depends-on): Likewise.
15174         * modules/symlink (Depends-on): Likewise.
15175         * modules/symlinkat (Depends-on): Likewise.
15176         * modules/tanl (Depends-on): Likewise.
15177         * modules/tcgetsid (Depends-on): Likewise.
15178         * modules/tmpfile (Depends-on): Likewise.
15179         * modules/trunc (Depends-on): Likewise.
15180         * modules/truncf (Depends-on): Likewise.
15181         * modules/truncl (Depends-on): Likewise.
15182         * modules/uname (Depends-on): Likewise.
15183         * modules/unlink (Depends-on): Likewise.
15184         * modules/unlockpt (Depends-on): Likewise.
15185         * modules/unsetenv (Depends-on): Likewise.
15186         * modules/usleep (Depends-on): Likewise.
15187         * modules/utimensat (Depends-on): Likewise.
15188         * modules/vasprintf (Depends-on): Likewise.
15189         * modules/vdprintf (Depends-on): Likewise.
15190         * modules/vdprintf-posix (Depends-on): Likewise.
15191         * modules/vfprintf-posix (Depends-on): Likewise.
15192         * modules/vprintf-posix (Depends-on): Likewise.
15193         * modules/vsnprintf (Depends-on): Likewise.
15194         * modules/vsnprintf-posix (Depends-on): Likewise.
15195         * modules/vsprintf-posix (Depends-on): Likewise.
15196         * modules/wcrtomb (Depends-on): Likewise.
15197         * modules/wcscasecmp (Depends-on): Likewise.
15198         * modules/wcscspn (Depends-on): Likewise.
15199         * modules/wcsdup (Depends-on): Likewise.
15200         * modules/wcsncasecmp (Depends-on): Likewise.
15201         * modules/wcsnrtombs (Depends-on): Likewise.
15202         * modules/wcspbrk (Depends-on): Likewise.
15203         * modules/wcsrtombs (Depends-on): Likewise.
15204         * modules/wcsspn (Depends-on): Likewise.
15205         * modules/wcsstr (Depends-on): Likewise.
15206         * modules/wcstok (Depends-on): Likewise.
15207         * modules/wcswidth (Depends-on): Likewise.
15208         * modules/wctob (Depends-on): Likewise.
15209         * modules/wctomb (Depends-on): Likewise.
15210         * modules/wctype (Depends-on): Likewise.
15211         * modules/wcwidth (Depends-on): Likewise.
15212         * modules/write (Depends-on): Likewise.
15213
15214 2011-05-03  Bruno Haible  <bruno@clisp.org>
15215
15216         Support for conditional dependencies.
15217         * doc/gnulib.texi (Module description): Document the syntax of
15218         conditional dependencies.
15219         * gnulib-tool: New option --conditional-dependencies.
15220         (func_usage): Document it.
15221         (cond_dependencies): New variable.
15222         (func_get_automake_snippet_conditional,
15223         func_get_automake_snippet_unconditional): New functions, extracted from
15224         func_get_automake_snippet.
15225         (func_get_automake_snippet): Use them.
15226         (sed_first_32_chars): New variable.
15227         (func_module_shellfunc_name): New function.
15228         (func_module_shellvar_name): New function.
15229         (func_module_conditional_name): New function.
15230         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
15231         func_cond_module_condition): New functions.
15232         (func_modules_transitive_closure): Add support for conditional
15233         dependencies.
15234         (func_emit_lib_Makefile_am): For a conditional module, enclose the
15235         conditional automake snippet in an automake conditional.
15236         (func_emit_autoconf_snippets): Emit shell functions that contain the
15237         code for conditional modules.
15238         (func_import, func_create_testdir): Update specification.
15239
15240 2011-05-03  Eric Blake  <eblake@redhat.com>
15241
15242         test-getaddrinfo: report error information
15243         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
15244
15245 2011-05-03  Jim Meyering  <meyering@redhat.com>
15246
15247         bootstrap: avoid build failure when $GZIP is set
15248         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
15249         program name.  If defined at all, it is supposed to list gzip options.
15250         Reported by Alan Curry in http://debbugs.gnu.org/8609
15251
15252 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
15253
15254         readme-release: new module with release instructions
15255         * modules/readme-release: New module.
15256         * top/README-release: New file, from coreutils, grep, diffutils.
15257         * MODULES.html.sh (Support for maintaining and releasing): Add it.
15258
15259 2011-05-02  Eric Blake  <eblake@redhat.com>
15260
15261         fflush: also replace fclose when fixing fflush
15262         * modules/fflush (Depends-on): Add fclose.
15263         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
15264         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
15265         memstreams with no backing fd.
15266         * doc/posix-functions/fclose.texi (fclose): Document the use of
15267         fflush module to fix the bug.
15268         * tests/test-fclose.c (main): Relax test when fclose is used in
15269         isolation.
15270
15271         fclose: add some tests
15272         * modules/fclose-tests: New test module.
15273         * tests/test-fclose.c: New file.
15274         * doc/posix-functions/fclose.texi (fclose): Document the bug.
15275
15276         fclose: reduced dependencies
15277         * modules/fclose (Depends-on): Switch from fflush/fseeko to
15278         simpler lseek.
15279         * lib/fclose.c (rpl_fclose): Likewise.
15280         Reported by Simon Josefsson.
15281
15282         exit: drop remaining clients
15283         * modules/argmatch (Depends-on): Replace exit with stdlib.
15284         * modules/copy-file (Depends-on): Likewise.
15285         * modules/execute (Depends-on): Likewise.
15286         * modules/exitfail (Depends-on): Likewise.
15287         * modules/obstack (Depends-on): Likewise.
15288         * modules/pagealign_alloc (Depends-on): Likewise.
15289         * modules/pipe-filter-gi (Depends-on): Likewise.
15290         * modules/pipe-filter-ii (Depends-on): Likewise.
15291         * modules/savewd (Depends-on): Likewise.
15292         * modules/spawn-pipe (Depends-on): Likewise.
15293         * modules/wait-process (Depends-on): Likewise.
15294         * modules/xsetenv (Depends-on): Likewise.
15295         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
15296         * modules/git-merge-changelog (Depends-on): Likewise.
15297         * modules/long-options (Depends-on): Likewise.
15298         * modules/pt_chown (Depends-on): Likewise.
15299         * modules/sysexits (Depends-on): Likewise.
15300
15301         freading: relax license from LGPLv3+ to LGPLv2+
15302         * modules/freading (License): Relax LGPL version.
15303
15304 2011-05-02  Bruno Haible  <bruno@clisp.org>
15305
15306         fchdir: Remove unused dependencies.
15307         * modules/fchdir (Depends-on): Remove include_next.
15308
15309 2011-05-02  Bruno Haible  <bruno@clisp.org>
15310
15311         gnulib-tool: Refactor.
15312         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
15313         from func_emit_autoconf_snippets.
15314         (func_emit_autoconf_snippets): Use it.
15315
15316 2011-05-02  Simon Josefsson  <simon@josefsson.org>
15317
15318         * NEWS: Document removal of 'exit'.
15319         * modules/exit: Remove file.
15320
15321 2011-05-01  Bruno Haible  <bruno@clisp.org>
15322
15323         Update DEPENDENCIES.
15324         * DEPENDENCIES (gettext): Recommend the newest release.
15325         Reported by Simon Josefsson.
15326
15327 2011-05-01  Bruno Haible  <bruno@clisp.org>
15328
15329         gnulib-tool: Reduce code duplication.
15330         * gnulib-tool (func_emit_autoconf_snippets): New function.
15331         (func_import, func_create_testdir): Use it.
15332
15333 2011-04-30  Eric Blake  <eblake@redhat.com>
15334
15335         fclose: don't fail on non-seekable input stream
15336         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
15337         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
15338         since fflush is allowed to fail in that case.
15339
15340 2011-04-30  Bruno Haible  <bruno@clisp.org>
15341
15342         dup3: cleanup
15343         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
15344
15345 2011-04-30  Bruno Haible  <bruno@clisp.org>
15346
15347         netdb: Make it work in C++ mode.
15348         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
15349         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
15350         module.
15351         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
15352         gl_MODULE_INDICATOR_FOR_TESTS.
15353         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
15354         * modules/netdb-c++-tests: New file.
15355         * tests/test-netdb-c++.cc: New file.
15356
15357 2011-04-30  Bruno Haible  <bruno@clisp.org>
15358
15359         New modules 'vfscanf', 'vscanf'.
15360         * modules/vfscanf: New file.
15361         * modules/vscanf: New file.
15362         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
15363         here.
15364         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
15365         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
15366
15367 2011-04-30  Bruno Haible  <bruno@clisp.org>
15368
15369         passfd: Add comments.
15370         * lib/passfd.c: Add comments about platforms.
15371
15372 2011-04-30  Bruno Haible  <bruno@clisp.org>
15373
15374         sys_uio: Make <sys/uio.h> self-contained.
15375         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
15376         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
15377
15378 2011-04-30  Bruno Haible  <bruno@clisp.org>
15379
15380         sys_socket: Ensure 'struct iovec' definition.
15381         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
15382         <sys/socket.h>.
15383         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
15384
15385 2011-04-30  Bruno Haible  <bruno@clisp.org>
15386
15387         sys_uio: Protect definition of 'struct iovec'.
15388         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
15389         it as a C struct.
15390
15391 2011-04-30  Bruno Haible  <bruno@clisp.org>
15392
15393         manywarnings: fix indentation
15394         * m4/manywarnings.m4: Indent by 2 spaces consistently.
15395
15396 2011-04-30  Pádraig Brady <P@draigBrady.com>
15397
15398         manywarnings: add -Wno-missing-field-initializers if needed.
15399         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
15400         option if it's needed to allow initialization with { 0, }
15401
15402 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
15403
15404         announce-gen: cosmetic improvement
15405         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
15406
15407 2011-04-29  Jim Meyering  <meyering@redhat.com>
15408
15409         vc-list-files: indent with spaces, not TABs
15410         * build-aux/vc-list-files: Convert leading TABs to spaces,
15411         to match the style of most other files in gnulib.
15412
15413         announce-gen: indent with spaces, not TABs
15414         * build-aux/announce-gen: Convert all TABs to spaces, to match
15415         the style of most other files in gnulib.
15416
15417 2011-04-29  Eric Blake  <eblake@redhat.com>
15418
15419         quotearg: avoid uninitialized variable use
15420         * lib/quotearg.c (quoting_options_from_style): Initialize
15421         remaining fields, and ensure that custom styles are only used via
15422         quoting_options rather than quoting_style.
15423
15424 2011-04-29  Jim Meyering  <meyering@redhat.com>
15425
15426         maint.mk: remove unused VC-tag variable
15427         * top/maint.mk (VC-tag): Remove unused variable.
15428
15429 2011-04-29  Bruno Haible  <bruno@clisp.org>
15430
15431         netdb: fix gai_strerror replacements
15432         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
15433         * modules/netdb: Substitute it.
15434
15435 2011-04-29  Jim Meyering  <meyering@redhat.com>
15436
15437         test-getcwd.c: avoid new set-but-not-used warning
15438         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
15439         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
15440         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
15441         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
15442
15443         test-hash.c: avoid a new shadowing warning
15444         * tests/test-hash.c (main): Don't shadow "dup".
15445
15446 2011-04-28  Eric Blake  <eblake@redhat.com>
15447
15448         getaddrinfo: fix gai_strerror signature
15449         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
15450         and work around mingw with UNICODE defined.
15451         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
15452         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
15453         * modules/netdb (Makefile.am): Substitute it.
15454         * lib/netdb.in.h (gai_strerror): Declare replacement.
15455         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
15456         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
15457         the fix.
15458
15459         getsockopt: avoid compiler warning
15460         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
15461         Reported by Matthias Bolte.
15462
15463         tests: drop unused link dependency
15464         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
15465         * modules/dirent-safer-tests (Makefile.am): Likewise.
15466         * modules/fdopendir-tests (Makefile.am): Likewise.
15467         * modules/mkfifoat-tests (Makefile.am): Likewise.
15468         * modules/openat-safer-tests (Makefile.am): Likewise.
15469         * modules/openat-tests (Makefile.am): Likewise.
15470         * modules/readlinkat-tests (Makefile.am): Likewise.
15471         * modules/symlinkat-tests (Makefile.am): Likewise.
15472         * modules/linkat-tests (Makefile.am): Likewise.
15473         (Depends-on): Switch to filenamecat-lgpl.
15474         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
15475         LIBINTL.
15476         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
15477         * tests/test-linkat.c (main): Don't require xalloc.
15478
15479         hash, mgetgroups: drop xalloc dependency
15480         * lib/hash.c (includes): Adjust includes.
15481         * lib/mgetgroups.c (includes): Likewise.
15482         (xgetgroups): Move...
15483         * lib/xgetgroups.c: ...to new file.
15484         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
15485         * modules/xgetgroups: New file, split from...
15486         * modules/mgetgroups: ...here.
15487         (Depends-on): Add xalloc-oversized.
15488         * modules/hash (Depends-on): Likewise.
15489         * modules/hash-tests (Depends-on): Drop xalloc.
15490         (test_hash_LDADD): Drop unused library.
15491         * tests/test-hash.c (main): Break xalloc dependency.
15492         (includes): Drop unused include.
15493
15494         xalloc-oversized: new module
15495         * modules/xalloc-oversized: New module.
15496         * modules/xalloc (Depends-on): Add it.
15497         * lib/xalloc.h (xalloc_oversized): Move...
15498         * lib/xalloc-oversized.h: ...into new file.
15499
15500         utimecmp: drop dependency on xmalloc
15501         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
15502         due to memory pressure.
15503         * modules/utimecmp (Depends-on): Drop xalloc.
15504
15505 2011-04-27  Eric Blake  <eblake@redhat.com>
15506
15507         getcwd: fix mingw bugs
15508         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
15509         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
15510         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
15511
15512 2011-04-27  Bruno Haible  <bruno@clisp.org>
15513
15514         mkstemps: Ensure declaration on MacOS X 10.5.
15515         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
15516         * doc/glibc-functions/mkstemps.texi: Document header file problem on
15517         MacOS X.
15518
15519 2011-04-27  Bruno Haible  <bruno@clisp.org>
15520
15521         mkstemp: More documentation.
15522         * doc/posix-functions/mkstemp.texi: Document header file problem on
15523         MacOS X.
15524
15525 2011-04-27  Bruno Haible  <bruno@clisp.org>
15526
15527         mkstemp: Tweak configure message when cross-compiling.
15528         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
15529         result as a guess.
15530
15531 2011-04-27  Bruno Haible  <bruno@clisp.org>
15532
15533         clean-temp: Clarify what it does.
15534         * lib/clean-temp.h: Add more comments.
15535         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
15536         module.
15537         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
15538         * doc/glibc-functions/mkstemps.texi: Likewise.
15539         * doc/glibc-functions/mkostemps.texi: Likewise.
15540
15541 2011-04-27  Eric Blake  <eblake@redhat.com>
15542
15543         fchdir: avoid extra chdir and fix test
15544         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
15545         getcwd-lgpl.
15546         * lib/fchdir.c (get_name): Any absolute name will do; it does not
15547         have to be canonical.
15548         (canonicalize_file_name): Drop unused macro.
15549         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
15550
15551         filenamecat-lgpl: fix licence
15552         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
15553         when it was first created.
15554
15555         linkat, renameat: add missing dependency
15556         * modules/linkat (Depends-on): Require getcwd-lgpl.
15557         * modules/renameat (Depends-on): Likewise.
15558
15559         tests: reduce dependencies
15560         * tests/test-linkat.c (main): Use lighter-weight getcwd.
15561         * tests/test-renameat.c (main): Likewise.
15562         * modules/linkat-tests (Depends-on): Relax dependency.
15563         * modules/renameat-tests (Depends-on): Likewise.
15564         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
15565         dependency explicit.
15566
15567         save-cwd: reduce default dependency
15568         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
15569         * lib/save-cwd.c: Update comments.
15570         * NEWS: Document the semantic change.
15571
15572         getcwd: enhance tests
15573         * tests/test-getcwd-lgpl.c: New file, taken from...
15574         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
15575         repeat long path stress tests from m4 probe.
15576         * modules/getcwd-lgpl-tests: New module.
15577         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
15578         * m4/getcwd-abort-bug.m4: Update comment.
15579         * m4/getcwd-path-max.m4: Likewise.
15580
15581         getcwd-lgpl: new module
15582         * modules/getcwd-lgpl: New module.
15583         * lib/getcwd-lgpl.c: New file.
15584         * doc/posix-functions/getcwd.texi (getcwd): Document it.
15585         * MODULES.html.sh (lacking POSIX:2008): Likewise.
15586         * modules/getcwd (configure.ac): Set C witness.
15587         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
15588
15589         getcwd: tweak comments
15590         * m4/getcwd-abort-bug.m4: Fix comments.
15591         * m4/getcwd-path-max.m4: Likewise.
15592         * m4/getcwd.m4: Likewise.
15593
15594 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
15595         and Eric Blake  <eblake@redhat.com>
15596
15597         mkstemp: replace if system version uses wrong permissions
15598         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
15599         read/write mode bits set in file created by mkstemp.
15600         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
15601
15602 2011-04-27  Eric Blake  <eblake@redhat.com>
15603
15604         passfd: avoid compiler warning
15605         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
15606         Reported by Laine Stump.
15607
15608 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
15609
15610         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
15611         required by the NetBSD (and perhaps other 4.4BSD derived) join.
15612
15613 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
15614         and Eric Blake  <eblake@redhat.com>
15615
15616         mkstemp: mention clean-temp module
15617         * lib/mkstemp.c: Add comment.
15618         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
15619
15620 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
15621
15622         inttypes: also provide default values for 32-bit tests
15623         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
15624         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
15625
15626 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
15627
15628         strtoumax: remove dependency on strtoimax
15629         This is like the strtoull change of yesterday.
15630         * modules/strtoumax (Files): Add lib/strtoimax.c.
15631         (Depends-on): Remove strtoimax and add verify.
15632
15633         inttypes-incomplete: new module
15634         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
15635         all but the PRI* and SCN* parts of gl_INTTYPES_H.
15636         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
15637         of gl_INTTYPES_H.
15638         (gl_INTTYPES_H): Rewrite in terms of these new macros.
15639         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
15640         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
15641         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
15642         * modules/strtoumax, modules/xstrtol (Depends-on):
15643         Depend on inttypes-incomplete, not inttypes.
15644         * modules/inttypes-incomplete: New module, containing the contents
15645         of the old modules/inttypes module, except that the Files: section
15646         omits m4/inttypes-pri.m4, and the configure.ac section invokes
15647         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
15648         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
15649         (Depends-on): Depend only on inttypes-incomplete.
15650         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
15651
15652         inttypes: omit now-redundant strtoimax and strtoumax work
15653         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
15654         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
15655
15656         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
15657         This supports apps that need pointers to strtoimax and strtoumax,
15658         and ports to HP-UX 11.00 64.bit, which has macros that expand to
15659         nonexistent functions.  See
15660         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
15661         et seq.
15662         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
15663         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
15664         a macro.
15665         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
15666
15667 2011-04-25  Simon Josefsson  <simon@josefsson.org>
15668
15669         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
15670
15671 2011-04-25  Bruno Haible  <bruno@clisp.org>
15672
15673         strtol, strtoul: Mark modules as obsolete.
15674         * modules/strtol (Status, Notice): New sections.
15675         * modules/strtoul (Status, Notice): New sections.
15676
15677 2011-04-25  Bruno Haible  <bruno@clisp.org>
15678
15679         strtod: Remove check for strtod, unless supporting old platforms.
15680         * modules/strtod-obsolete: New file.
15681         * m4/strtod-obsolete.m4: New file.
15682         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
15683         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
15684         * modules/strtod (Depends-on): Add strtod-obsolete.
15685         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
15686
15687 2011-04-25  Bruno Haible  <bruno@clisp.org>
15688
15689         strcase: Make module obsolete.
15690         * modules/strcase (Status, Notice): New sections.
15691
15692 2011-04-25  Bruno Haible  <bruno@clisp.org>
15693
15694         dup2: Remove check for dup2, unless supporting old obsolete platforms.
15695         * modules/dup2-obsolete: New file.
15696         * m4/dup2-obsolete.m4: New file.
15697         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
15698         gl_FUNC_DUP2_OBSOLETE is not also defined.
15699         * modules/dup2 (Depends-on): Add dup2-obsolete.
15700         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
15701
15702 2011-04-25  Bruno Haible  <bruno@clisp.org>
15703
15704         strnlen: Avoid memchr related link error on old obsolete platforms.
15705         * modules/memchr-obsolete: New file.
15706         * m4/memchr-obsolete.m4: New file.
15707         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
15708         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
15709         * modules/memchr (Depends-on): Add memchr-obsolete.
15710         * modules/strnlen (Depends-on): Likewise.
15711         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
15712
15713 2011-04-25  Jim Meyering  <meyering@redhat.com>
15714
15715         maint.mk: makefile_at_at_check extend and clean up
15716         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
15717         in addition to */Makefile.am.
15718         Exempt legitimate uses of @VAR@ notation, e.g.,
15719         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
15720         Remove obsolete coreutils-specific comment.
15721         Prompted by discussion here:
15722         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
15723
15724 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
15725
15726         strtoul: remove dependency on strtol
15727         This is so that 'configure' need not check for strtol merely because
15728         the application needs strtoul.
15729         * modules/strtoul (Files): Add lib/strtol.c.
15730         (Depends-on): Remove strtol.
15731
15732         strtoull: remove dependency on strtoul
15733         This is like the strtoll change.
15734         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
15735         (Depends-on): Remove strtoul.
15736
15737         strtoll: remove dependency on strtol
15738         This is so that 'configure' need not check for strtol merely because
15739         the application needs strtoll.
15740         * modules/strtoll (Files): Add lib/strtol.c.
15741         (Depends-on): Remove strtol.
15742
15743 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
15744
15745         inttypes: Move some configure check to module 'imaxdiv'.
15746         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
15747         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
15748         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
15749
15750 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
15751
15752         inttypes: Move some configure check to module 'imaxabs'.
15753         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
15754         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
15755         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
15756
15757 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
15758
15759         inttypes: Remove configure tests that are not needed since 2009-12-31.
15760         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
15761         gl_cv_header_working_inttypes_h.
15762
15763 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
15764
15765         * modules/strnlen (Depends-on): Remove memchr.
15766         The strnlen implementation doesn't need the memchr module's fixes; see
15767         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
15768
15769         strtol: remove dependency on wchar
15770         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
15771         * modules/strtol (Depends-on): Remove wchar.
15772
15773 2011-04-21  Eric Blake  <eblake@redhat.com>
15774
15775         passfd: fix test regression on Linux
15776         * modules/passfd-tests (configure.ac): Correct socketpair check.
15777
15778         passfd: speed up configure and drop unused code
15779         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
15780         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
15781         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
15782         Instead of probing at configure for unix_scm_rights_bsd44_way,
15783         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
15784         check to a struct member probe.
15785         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
15786         (sendfd, recvfd): Update preprocessor checks.
15787         * modules/passfd (Files): Reflect rename, and drop unused file.
15788         (Depends-on): Drop unused dependency.
15789
15790         passfd: allow compilation on mingw
15791         * modules/sys_socket (Depends-on): Add sys_uio.
15792         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
15793         iovec and a minimal struct msghdr.
15794         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
15795         * tests/test-sys_socket.c (main): Enhance test.
15796         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
15797         guaranteed to provide what we need.
15798         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
15799         * modules/passfd-tests (Depends-on): Add sys_wait.
15800         * tests/test-passfd.c (main): Skip test on mingw, for now.
15801         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
15802         partial 'struct msghdr' implementation.
15803
15804         sys_uio: new module
15805         * modules/sys_uio: New module.
15806         * modules/sys_uio-tests: Likewise.
15807         * lib/sys_uio.in.h: New file.
15808         * m4/sys_uio_h.m4: Likewise.
15809         * tests/test-sys_uio.c: Likewise.
15810         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
15811         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
15812
15813 2011-04-20  Jim Meyering  <meyering@redhat.com>
15814
15815         useless-if-before-free: avoid false-positive
15816         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
15817         disjunct so that it too requires a terminating ";".  Without that,
15818         this script would identify as useless one statement from gcc that
15819         was not:
15820           if (aligned_ptr)
15821             free (((void **) aligned_ptr) [-1]);
15822
15823 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
15824
15825         doc: update users.txt.
15826         * users.txt: Add barcode.
15827
15828 2011-04-19  Bruno Haible  <bruno@clisp.org>
15829
15830         ioctl: Remove link dependency on native Windows.
15831         * lib/fd-hook.h: Renamed from lib/close-hook.h.
15832         (gl_close_fn, gl_ioctl_fn): New types.
15833         (struct fd_hook): Renamed from struct close_hook. Change type of
15834         private_close_fn field. Add private_ioctl_fn field.
15835         (close_hook_fn): Add parameter for primary close method.
15836         (execute_close_hooks, execute_all_close_hooks): Likewise.
15837         (ioctl_hook_fn): New type.
15838         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
15839         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
15840         argument.
15841         (unregister_fd_hook): Renamed from unregister_close_hook.
15842         * lib/fd-hook.c: Renamed from lib/close-hook.c.
15843         Don't include <unistd.h>.
15844         (close): Remove undef.
15845         (anchor): Update.
15846         (execute_close_hooks): Add argument for primary close method.
15847         (execute_all_close_hooks): Likewise.
15848         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
15849         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
15850         argument. Allow each argument to be NULL.
15851         (unregister_fd_hook): Renamed from unregister_close_hook.
15852         * lib/close.c (rpl_close): Pass 'close' function pointer to
15853         execute_all_close_hooks.
15854         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
15855         (primary_ioctl): New function.
15856         (ioctl): Don't call ioctlsocket here. Instead, call
15857         execute_all_ioctl_hooks.
15858         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
15859         close method.
15860         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
15861         (fd_sockets_hook): Renamed from close_sockets_hook.
15862         (gl_sockets_startup, gl_sockets_cleanup): Update.
15863         * modules/fd-hook: Renamed from modules/close-hook. Update.
15864         * modules/close (Depends-on): Add fd-hook, remove close-hook.
15865         * modules/sockets (Depends-on): Likewise.
15866         * modules/ioctl (Depends-on): Add fd-hook.
15867         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
15868         GNULIB_SOCKET.
15869
15870 2011-04-19  Bruno Haible  <bruno@clisp.org>
15871
15872         Move the support of O_NONBLOCK in open() to the 'open' module.
15873         * modules/nonblocking (Depends-on): Remove 'open'.
15874         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
15875         gl_cv_have_open_O_NONBLOCK.
15876         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
15877         O_NONBLOCK support.
15878         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
15879
15880 2011-04-17  Bruno Haible  <bruno@clisp.org>
15881
15882         pipe2: Simplify code.
15883         * lib/pipe2.c (pipe2): Reduce code duplication.
15884
15885 2011-04-17  Bruno Haible  <bruno@clisp.org>
15886
15887         nonblocking: Add comment.
15888         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
15889
15890 2011-04-17  Bruno Haible  <bruno@clisp.org>
15891
15892         nonblocking: Add tests for sockets.
15893         * tests/test-nonblocking-socket.sh: New file.
15894         * tests/test-nonblocking-socket-main.c: New file.
15895         * tests/test-nonblocking-socket-child.c: New file.
15896         * tests/test-nonblocking-socket.h: New file.
15897         * tests/socket-server.h: New file.
15898         * tests/socket-client.h: New file.
15899         * modules/nonblocking-socket-tests: New file.
15900         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
15901
15902 2011-04-17  Bruno Haible  <bruno@clisp.org>
15903
15904         nonblocking: Add tests for pipes.
15905         * tests/test-nonblocking-pipe.sh: New file.
15906         * tests/test-nonblocking-pipe-main.c: New file.
15907         * tests/test-nonblocking-pipe-child.c: New file.
15908         * tests/test-nonblocking-pipe.h: New file.
15909         * tests/test-nonblocking-writer.h: New file.
15910         * tests/test-nonblocking-reader.h: New file.
15911         * tests/test-nonblocking-misc.h: New file.
15912         * modules/nonblocking-pipe-tests: New file.
15913         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
15914
15915 2011-04-16  Bruno Haible  <bruno@clisp.org>
15916
15917         gettext: Clarify the needed programmer actions.
15918         * modules/gettext (Notice): New field.
15919         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
15920
15921 2011-04-16  Bruno Haible  <bruno@clisp.org>
15922
15923         strchrnul: Tweak last commit.
15924         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
15925         bug.
15926         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
15927         as in _GL_FUNCDECL_SYS.
15928         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
15929         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
15930
15931 2011-04-15  Eric Blake  <eblake@redhat.com>
15932
15933         strchrnul: work around cygwin bug
15934         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
15935         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
15936         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
15937         * modules/string (Makefile.am): Substitute it.
15938         * lib/string.in.h (strchrnul): Use it.
15939
15940 2011-04-15  Bruno Haible  <bruno@clisp.org>
15941
15942         Don't require lib/stdio-write.c when only module 'stdio' is used.
15943         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
15944         invocation.
15945         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
15946
15947 2011-04-14  Bruno Haible  <bruno@clisp.org>
15948
15949         Support non-blocking pipe I/O in read() on native Windows.
15950         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
15951         (read): New declaration.
15952         * lib/read.c: New file.
15953         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
15954         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
15955         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
15956         vscanf): New declarations.
15957         * lib/stdio-read.c: New file.
15958         * m4/read.m4: New file.
15959         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
15960         REPLACE_READ.
15961         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
15962         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
15963         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
15964         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
15965         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
15966         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
15967         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
15968         * modules/read: New file.
15969         * modules/nonblocking (Files): Add lib/stdio-read.c.
15970         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
15971         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
15972         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
15973         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
15974         * modules/pread (Depends-on): Add read.
15975         * modules/safe-read (Depends-on): Likewise.
15976         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
15977         gets, scanf, vfscanf, vscanf): Verify signatures.
15978         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
15979         problem with non-blocking pipes.
15980         * doc/posix-functions/fgetc.texi: Likewise.
15981         * doc/posix-functions/fgets.texi: Likewise.
15982         * doc/posix-functions/fread.texi: Likewise.
15983         * doc/posix-functions/fscanf.texi: Likewise.
15984         * doc/posix-functions/getc.texi: Likewise.
15985         * doc/posix-functions/getchar.texi: Likewise.
15986         * doc/posix-functions/gets.texi: Likewise.
15987         * doc/posix-functions/scanf.texi: Likewise.
15988         * doc/posix-functions/vfscanf.texi: Likewise.
15989         * doc/posix-functions/vscanf.texi: Likewise.
15990
15991 2011-04-14  Bruno Haible  <bruno@clisp.org>
15992
15993         Support non-blocking pipe I/O in write() on native Windows.
15994         * lib/write.c (rpl_write): Split a write request that failed merely
15995         because the byte count was larger than the pipe buffer's size.
15996         * doc/posix-functions/write.texi: Mention the problem with large byte
15997         counts.
15998
15999 2011-04-14  Bruno Haible  <bruno@clisp.org>
16000
16001         wchar: Ensure that wchar_t gets defined on uClibc.
16002         * lib/wchar.in.h: On uClibc, include <stddef.h>.
16003         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
16004
16005 2011-04-13  Bruno Haible  <bruno@clisp.org>
16006
16007         safe-write, full-read: Avoid unnecessary compilation units.
16008         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
16009         (Depends-on): Remove safe-read. Add ssize_t.
16010         * modules/full-read (Files): Add lib/full-write.c.
16011         (Depends-on): Add full-write.
16012
16013 2011-04-13  Bruno Haible  <bruno@clisp.org>
16014
16015         Support non-blocking pipe I/O and SIGPIPE in pwrite().
16016         * modules/pwrite (Depends-on): Add 'write'.
16017
16018 2011-04-13  Bruno Haible  <bruno@clisp.org>
16019
16020         Support non-blocking pipe I/O in write() on native Windows.
16021         * lib/unistd.in.h (write): Enable replacement also if
16022         GNULIB_UNISTD_H_NONBLOCKING is 1.
16023         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
16024         (rpl_write): When failing to write on a non-blocking pipe, change
16025         errno from ENOSPC to EAGAIN.
16026         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
16027         putchar, puts, vfprintf, vprintf): Enable replacement also if
16028         GNULIB_STDIO_H_NONBLOCKING is 1.
16029         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
16030         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
16031         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
16032         CALL_WITH_SIGPIPE_EMULATION.
16033         (CALL_WITH_SIGPIPE_EMULATION): Use them.
16034         * m4/nonblocking.m4: New file.
16035         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
16036         for non-blocking I/O support.
16037         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
16038         GNULIB_UNISTD_H_NONBLOCKING.
16039         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
16040         required for non-blocking I/O support.
16041         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
16042         * modules/nonblocking (Files): Add m4/nonblocking.m4,
16043         lib/stdio-write.c, m4/asm-underscore.m4.
16044         (Depends-on): Add stdio, unistd.
16045         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
16046         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
16047         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
16048         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
16049         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
16050         problem with non-blocking pipes.
16051         * doc/posix-functions/fputc.texi: Likewise.
16052         * doc/posix-functions/fputs.texi: Likewise.
16053         * doc/posix-functions/fwrite.texi: Likewise.
16054         * doc/posix-functions/printf.texi: Likewise.
16055         * doc/posix-functions/putc.texi: Likewise.
16056         * doc/posix-functions/putchar.texi: Likewise.
16057         * doc/posix-functions/puts.texi: Likewise.
16058         * doc/posix-functions/vfprintf.texi: Likewise.
16059         * doc/posix-functions/vprintf.texi: Likewise.
16060         * doc/posix-functions/write.texi: Likewise.
16061
16062 2011-04-10  Jim Meyering  <meyering@redhat.com>
16063
16064         maint.mk: prohibit doubled words
16065         Detect them also when they're separated by a newline.
16066         There are 3 ways to customize it:
16067           - disable the test on a per file basis, as usual with rules using
16068             $(VC_LIST_EXCEPT)
16069           - replace the default doubled-word-selecting regexp (affects all files)
16070           - ignore a particular file-vs-doubled-word match
16071         I nearly used that last one to ignore the "is is" match in
16072         coreutils' NEWS file, since the text was "ls -is is ..."
16073         To do that, I would have added this line to cfg.mk:
16074           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
16075         but it would have ignored any "is is" match in NEWS.
16076         Low probability, but still...
16077         Instead, I changed the text, slightly:
16078           -  ls -is is now consistent with ls -lis in ignoring values returned
16079           +  "ls -is" is now consistent with ls -lis in ignoring values returned
16080         * top/maint.mk (prohibit_double_word_RE_): Provide default.
16081         (prohibit_doubled_word_): Define.
16082         (sc_prohibit_doubled_word): New rule.
16083         (sc_prohibit_the_the): Remove.  Subsumed by the above.
16084
16085 2011-04-10  Jim Meyering  <meyering@redhat.com>
16086
16087         maint: fix doubled-word typo in comment
16088         * m4/gethostname.m4: s/is is/it is/
16089         * m4/getdomainname.m4: Likewise.
16090
16091 2011-04-10  Jim Meyering  <meyering@redhat.com>
16092
16093         maint: remove doubled word: s/it it/it/
16094         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
16095
16096 2011-04-10  Jim Meyering  <meyering@redhat.com>
16097
16098         maint.mk: remove useless semicolon and backslash
16099         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
16100         semicolon and backslash.
16101
16102 2011-04-10  Bruno Haible  <bruno@clisp.org>
16103
16104         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
16105         * modules/stdint-tests (Depends-on): Add wchar.
16106
16107 2011-04-10  Jim Meyering  <meyering@redhat.com>
16108
16109         maint: remove doubled words in comments, e.g., s/a a/a/
16110         * lib/strptime.c (day_of_the_week): s/the the/the/
16111         * tests/test-chown.h (test_chown): s/a a/a/
16112
16113         test-chown.h: correct a cast
16114         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
16115         when the destination is a stat.st_gid.
16116
16117 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
16118
16119         getaddrinfo: Fix test for sa_len member.
16120         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
16121         include <sys/types.h> before <sys/socket.h>.
16122
16123 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
16124
16125         maint: change "can not" to "cannot"
16126         * doc/posix-functions/iconv.texi (iconv): This one crossed line
16127         boundaries.
16128
16129 2011-04-09  Jim Meyering  <meyering@redhat.com>
16130
16131         maint: change "a a" to "a"
16132         * tests/test-lchown.h (test_lchown): s/a a/a/
16133
16134         maint.mk: prohibit \<the the\>
16135         * top/maint.mk (sc_prohibit_the_the): New rule.
16136
16137         maint: fix "the the" in comment
16138         * lib/count-one-bits.h: s/the the/the/
16139
16140         maint: change "can not" to "cannot"
16141         But do not change the occurrences in maintain.texi or in
16142         build-aux/po/Makefile.in.in, which I presume comes from gettext.
16143         * doc/gnulib-tool.texi: s/can not/cannot/
16144         * doc/posix-functions/accept.texi (accept): Likewise.
16145         * doc/posix-functions/socket.texi (socket): Likewise.
16146         * lib/mbrtowc.c: Likewise.
16147
16148         maint.mk: prohibit use of "can not"
16149         * top/maint.mk (sc_prohibit_can_not): New rule.
16150         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
16151
16152 2011-04-09  Bruno Haible  <bruno@clisp.org>
16153
16154         careadlinkat: Guard against misuse of careadlinkatcwd.
16155         * lib/careadlinkat.c: Include <stdlib.h>.
16156         (careadlinkatcwd): Check that the fd argument is as expected.
16157
16158 2011-04-09  Bruno Haible  <bruno@clisp.org>
16159
16160         careadlinkat: Use common coding style.
16161         * lib/careadlinkat.c: Move gnulib includes after system includes.
16162
16163 2011-04-09  Bruno Haible  <bruno@clisp.org>
16164
16165         careadlinkat: Clarify specification.
16166         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
16167         (careadlinkatcwd): Add comment.
16168         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
16169
16170 2011-04-09  Bruno Haible  <bruno@clisp.org>
16171
16172         areadlinkat: Avoid link error on many platforms.
16173         * modules/areadlinkat (Depends-on): Add areadlink.
16174
16175 2011-04-09  Bruno Haible  <bruno@clisp.org>
16176
16177         allocator, careadlinkat: Fix double-inclusion guard.
16178         * lib/allocator.h: Fix double-inclusion guard.
16179         * lib/careadlinkat.h: Likewise.
16180
16181 2011-04-09  Bruno Haible  <bruno@clisp.org>
16182
16183         relocatable-prog-wrapper: Update after module 'areadlink' changed.
16184         * lib/relocwrapper.c: Update dependencies hierarchy.
16185         * build-aux/install-reloc: Update list of files to be compiled.
16186         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
16187         lib/allocator.[hc].
16188
16189 2011-04-08  Eric Blake  <eblake@redhat.com>
16190
16191         strftime: silence gnulib-tool warning
16192         * modules/strftime-tests (Depends-on): Drop automatic dependency.
16193
16194 2011-04-08  Bruno Haible  <bruno@clisp.org>
16195
16196         verify: Fix syntax error with GCC 4.6 in C++ mode.
16197         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
16198         (HAVE_STATIC_ASSERT): New macro.
16199         (verify_true, verify): Use 'static_assert' if it is supported and
16200         '_Static_assert' is not supported.
16201
16202 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
16203
16204         allocator: New module.
16205         * modules/allocator, lib/allocator.c: New files.
16206         * lib/allocator.h (stdlib_allocator): New decl.
16207         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
16208         Remove.  Do not include <stdlib.h>.
16209         (careadlinkat): Use stdlib_allocator instead of rolling our own.
16210         * modules/careadlinkat (Files): Remove lib/allocator.h.
16211         (Depends-on): Add allocator.
16212
16213         stdlib: let modules use system malloc, realloc
16214         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
16215         if !_GL_USE_STDLIB_ALLOC.
16216         (malloc, realloc): Limit this change to a smaller scope.
16217
16218         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
16219         (malloc, realloc): Don't #undef; no longer needed.
16220         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
16221         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
16222         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
16223         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
16224         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
16225         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
16226         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
16227         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
16228
16229         careadlinkat: rename members to avoid problem
16230         * lib/allocator.h (struct allocator): Rename members from
16231         malloc/realloc to allocate/reallocate, to avoid problems if malloc
16232         and realloc are #define'd.  Reported by Eric Blake in
16233         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
16234         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
16235
16236 2011-04-08  Eric Blake  <eblake@redhat.com>
16237
16238         nonblocking: reduce dependency
16239         * tests/test-nonblocking.c: Only test sockets when in use.
16240         * modules/nonblocking-tests (Depends-on): Drop socket.
16241         (Makefile.am): Link even if sockets are not present.
16242         * modules/pipe2-tests (Makefile.am): Likewise.
16243         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
16244
16245         pipe2: fix O_NONBLOCK support on mingw
16246         * modules/pipe2 (Depends-on): Add nonblocking.
16247         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
16248         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
16249         * tests/test-nonblocking.c (main): Likewise.
16250         * modules/pipe2-tests (Makefile.am): Avoid link failure.
16251
16252         fcntl-h: fix O_ACCMODE on cygwin
16253         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
16254         * lib/fcntl.in.h (O_ACCMODE): Fix it.
16255
16256         pipe-filter: drop O_NONBLOCK workarounds
16257         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
16258         * modules/pipe-filter-ii (Depends-on): Likewise.
16259         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
16260
16261         nonblocking: provide O_NONBLOCK for mingw
16262         * modules/nonblocking (Depends-on): Add open.
16263         (configure.ac): Set new witness macro.
16264         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
16265         * modules/fcntl-h (Makefile.am): Substitute it.
16266         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
16267         nonblocking module is in use.
16268         * lib/nonblocking.c: Adjust portability test.
16269         * lib/open.c (open): Don't let native open see gnulib flag.
16270         * tests/test-fcntl-h.c (main): Enhance test.
16271         * tests/test-open.h (test_open): Likewise.
16272         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
16273
16274         careadlinkat: fix compilation error on mingw
16275         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
16276         within struct allocator.
16277
16278 2011-04-06  Eric Blake  <eblake@redhat.com>
16279
16280         binary-io: relicense under LGPLv2+
16281         * modules/binary-io (License): Relax to LGPLv2+.
16282         Requested for libvirt, and required by pipe2.
16283
16284 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
16285
16286         verify: use _Static_assert if available
16287         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
16288         (verify_true, verify): Use it if available.  This generates better
16289         diagnostics with GCC 4.6.0 and later.
16290
16291 2011-04-05  Bruno Haible  <bruno@clisp.org>
16292
16293         Remove leftover generated .h files after config.status changed.
16294
16295         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
16296         GL_GENERATE_ALLOCA_H.
16297         * modules/alloca-opt (Makefile.am): Remove alloca.h if
16298         GL_GENERATE_ALLOCA_H evaluates to false.
16299
16300         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
16301         GL_GENERATE_ARGZ_H.
16302         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
16303         evaluates to false.
16304
16305         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
16306         GL_GENERATE_BYTESWAP_H.
16307         * modules/byteswap (Makefile.am): Remove byteswap.h if
16308         GL_GENERATE_BYTESWAP_H evaluates to false.
16309
16310         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
16311         GL_GENERATE_ERRNO_H.
16312         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
16313         evaluates to false.
16314
16315         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
16316         GL_GENERATE_FLOAT_H.
16317         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
16318         evaluates to false.
16319
16320         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
16321         GL_GENERATE_FNMATCH_H.
16322         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
16323         GL_GENERATE_FNMATCH_H evaluates to false.
16324
16325         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
16326         GL_GENERATE_GLOB_H.
16327         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
16328         evaluates to false.
16329
16330         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
16331         automake conditional GL_GENERATE_ICONV_H.
16332         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
16333         evaluates to false.
16334
16335         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
16336         GL_GENERATE_NETINET_IN_H.
16337         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
16338         GL_GENERATE_NETINET_IN_H evaluates to false.
16339
16340         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
16341         conditional GL_GENERATE_PTHREAD_H.
16342         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
16343         * modules/pthread (Makefile.am): Remove pthread.h if
16344         GL_GENERATE_PTHREAD_H evaluates to false.
16345
16346         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
16347         GL_GENERATE_SCHED_H.
16348         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
16349         evaluates to false.
16350
16351         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
16352         conditional GL_GENERATE_SELINUX_CONTEXT_H.
16353         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
16354         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
16355
16356         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
16357         GL_GENERATE_STDARG_H.
16358         * modules/stdarg (Makefile.am): Remove stdarg.h if
16359         GL_GENERATE_STDARG_H evaluates to false.
16360
16361         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
16362         GL_GENERATE_STDBOOL_H.
16363         * modules/stdbool (Makefile.am): Remove stdbool.h if
16364         GL_GENERATE_STDBOOL_H evaluates to false.
16365
16366         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
16367         conditional GL_GENERATE_STDDEF_H.
16368         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
16369         * modules/stddef (Makefile.am): Remove stddef.h if
16370         GL_GENERATE_STDDEF_H evaluates to false.
16371
16372         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
16373         GL_GENERATE_STDINT_H.
16374         * modules/stdint (Makefile.am): Remove stdint.h if
16375         GL_GENERATE_STDINT_H evaluates to false.
16376
16377         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
16378         GL_GENERATE_SYSEXITS_H.
16379         * modules/sysexits (Makefile.am): Remove sysexits.h if
16380         GL_GENERATE_SYSEXITS_H evaluates to false.
16381
16382         Reported by Karl Berry and Ralf Wildenhues.
16383
16384 2011-04-05  Bruno Haible  <bruno@clisp.org>
16385
16386         Ensure to rebuild generated .h files when config.status has changed.
16387         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
16388         config.status.
16389         * modules/ctype (Makefile.am): Likewise.
16390         * modules/dirent (Makefile.am): Likewise.
16391         * modules/errno (Makefile.am): Likewise.
16392         * modules/fcntl-h (Makefile.am): Likewise.
16393         * modules/float (Makefile.am): Likewise.
16394         * modules/getopt-posix (Makefile.am): Likewise.
16395         * modules/glob (Makefile.am): Likewise.
16396         * modules/iconv-h (Makefile.am): Likewise.
16397         * modules/inttypes (Makefile.am): Likewise.
16398         * modules/langinfo (Makefile.am): Likewise.
16399         * modules/locale (Makefile.am): Likewise.
16400         * modules/math (Makefile.am): Likewise.
16401         * modules/netdb (Makefile.am): Likewise.
16402         * modules/netinet_in (Makefile.am): Likewise.
16403         * modules/poll-h (Makefile.am): Likewise.
16404         * modules/pthread (Makefile.am): Likewise.
16405         * modules/pty (Makefile.am): Likewise.
16406         * modules/sched (Makefile.am): Likewise.
16407         * modules/search (Makefile.am): Likewise.
16408         * modules/selinux-h (Makefile.am): Likewise.
16409         * modules/signal (Makefile.am): Likewise.
16410         * modules/spawn (Makefile.am): Likewise.
16411         * modules/stdarg (Makefile.am): Likewise.
16412         * modules/stdbool (Makefile.am): Likewise.
16413         * modules/stddef (Makefile.am): Likewise.
16414         * modules/stdint (Makefile.am): Likewise.
16415         * modules/stdio (Makefile.am): Likewise.
16416         * modules/stdlib (Makefile.am): Likewise.
16417         * modules/string (Makefile.am): Likewise.
16418         * modules/strings (Makefile.am): Likewise.
16419         * modules/sys_file (Makefile.am): Likewise.
16420         * modules/sys_ioctl (Makefile.am): Likewise.
16421         * modules/sys_select (Makefile.am): Likewise.
16422         * modules/sys_socket (Makefile.am): Likewise.
16423         * modules/sys_stat (Makefile.am): Likewise.
16424         * modules/sys_time (Makefile.am): Likewise.
16425         * modules/sys_times (Makefile.am): Likewise.
16426         * modules/sys_utsname (Makefile.am): Likewise.
16427         * modules/sys_wait (Makefile.am): Likewise.
16428         * modules/sysexits (Makefile.am): Likewise.
16429         * modules/termios (Makefile.am): Likewise.
16430         * modules/time (Makefile.am): Likewise.
16431         * modules/unistd (Makefile.am): Likewise.
16432         * modules/wchar (Makefile.am): Likewise.
16433         * modules/wctype-h (Makefile.am): Likewise.
16434         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
16435
16436 2011-04-05  Bruno Haible  <bruno@clisp.org>
16437
16438         pipe2: Relicense under LGPLv2+.
16439         * modules/pipe2 (License): Change to LGPLv2+.
16440         Requested by Eric Blake, for libvirt.
16441
16442 2011-04-05  Bruce Korb  <bkorb@gnu.org>
16443
16444         bootstrap: compute gnulib_extra_files after updating build_aux
16445         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
16446         change build_aux or also supply gnulib_extra_files.  Handle correctly.
16447
16448 2011-04-05  Eric Blake  <eblake@redhat.com>
16449
16450         bootstrap: preserve git whitelist item sorting
16451         * build-aux/bootstrap (sort_patterns): New function.
16452         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
16453
16454 2011-04-05  Simon Josefsson  <simon@josefsson.org>
16455
16456         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
16457         sc_space_tab check.
16458
16459 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
16460
16461         areadlink, areadlinkat: rewrite in terms of careadlinkat
16462         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
16463         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
16464         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
16465         (malloc, realloc): Remove #undefs.
16466         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
16467         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
16468         readlink, ssize_t, stdint, unistd.
16469         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
16470         areadlink, stdint.
16471
16472         careadlinkat: new module
16473         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
16474         * modules/careadlinkat: New files, written by me with
16475         a review and feedback from Ben Pfaff in
16476         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
16477
16478 2011-04-01  Bruno Haible  <bruno@clisp.org>
16479
16480         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
16481         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
16482         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
16483         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
16484         Reported by Bruce Korb <bruce.korb@gmail.com>.
16485
16486 2011-04-01  Bruno Haible  <bruno@clisp.org>
16487
16488         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
16489         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
16490         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
16491         * modules/wcpcpy (Depends-on): Add extensions.
16492         * modules/wcpncpy (Depends-on): Likewise.
16493         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
16494         systems.
16495         * doc/posix-functions/wcpncpy.texi: Likewise.
16496         * doc/posix-functions/wcwidth.texi: Likewise.
16497
16498 2011-03-31  Eric Blake  <eblake@redhat.com>
16499
16500         nonblocking: fix mingw test failures
16501         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
16502         non-blocking flag on regular file.
16503         (get_nonblocking_flag): Set errno on invalid fd.
16504         * tests/test-nonblocking.c (main): Avoid test failure on
16505         directories if fchdir is not active.
16506         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
16507
16508 2011-03-31  Bruno Haible  <bruno@clisp.org>
16509
16510         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
16511         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
16512         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
16513         Reported by Simon Josefsson <simon@josefsson.org>.
16514
16515 2011-03-31  Bruno Haible  <bruno@clisp.org>
16516         and Eric Blake  <eblake@redhat.com>
16517
16518         nonblocking: new module
16519         * modules/nonblocking: New module.
16520         * modules/nonblocking-tests: Likewise.
16521         * lib/nonblocking.h: New file.
16522         * lib/nonblocking.c: Likewise.
16523         * tests/test-nonblocking.c: New test.
16524         * lib/ioctl.c (ioctl) [mingw]: Update comment.
16525
16526 2011-03-30  Bruno Haible  <bruno@clisp.org>
16527
16528         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
16529         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
16530         instead of 'printf' format for GCC >= 4.4.
16531         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
16532         (fprintf, printf, vfprintf, vprintf): Declare with
16533         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
16534         the system's vfprintf() function.
16535         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
16536
16537 2011-03-30  Eric Blake  <eblake@redhat.com>
16538
16539         passfd: fix scoping bug
16540         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
16541         before sendmsg/recvmsg.
16542
16543         passfd: standardize coding conventions
16544         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
16545         can be learned at compile time.
16546         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
16547         ifdefs.
16548         (sendfd, recvfd): Follow gnulib code conventions.
16549
16550         passfd: fix incorrect sendmsg arguments
16551         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
16552         incorrect msg_controllen value.
16553         * modules/passfd-tests (Depends-on): Check for alarm.
16554         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
16555         Reported by Bastien ROUCARIES.
16556
16557 2011-03-30  Bruno Haible  <bruno@clisp.org>
16558
16559         c-strcasestr: Relicense under LGPLv2+.
16560         * modules/c-strcasestr (License): Change to LGPLv2+.
16561         Requested by Eric Blake, for libvirt.
16562
16563 2011-03-30  Simon Josefsson  <simon@josefsson.org>
16564
16565         * users.txt: Add libidn2.  Fix libtasn1 link.
16566
16567 2011-03-30  Jim Meyering  <meyering@redhat.com>
16568
16569         tests: readlink* ("",... fails with EINVAL on newer kernels
16570         readlink and readlinkat have typically failed with ENOENT for
16571         the invalid, empty file name,  "".  However, with the advent
16572         of linux-2.6.39, they fail with EINVAL.
16573         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
16574         when operating on the empty file name.
16575         * tests/test-readlink.h (test_readlink): Likewise.
16576
16577 2011-03-29  Bruno Haible  <bruno@clisp.org>
16578
16579         Relicense some modules under LGPLv2+, for libidn2.
16580         * modules/array-mergesort (License): Change to LGPLv2+.
16581         * modules/c-strcaseeq (License): Likewise.
16582         * modules/striconveh (License): Likewise.
16583         * modules/striconveha (License): Likewise.
16584         * modules/uniconv/base (License): Likewise.
16585         * modules/uniconv/u8-conv-from-enc (License): Likewise.
16586         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
16587         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
16588         * modules/unictype/base (License): Likewise.
16589         * modules/unictype/bidiclass-of (License): Likewise.
16590         * modules/unictype/category-M (License): Likewise.
16591         * modules/unictype/category-none (License): Likewise.
16592         * modules/unictype/category-of (License): Likewise.
16593         * modules/unictype/category-test (License): Likewise.
16594         * modules/unictype/category-test-withtable (License): Likewise.
16595         * modules/unictype/combining-class (License): Likewise.
16596         * modules/unictype/joiningtype-of (License): Likewise.
16597         * modules/unictype/scripts (License): Likewise.
16598         * modules/uninorm/base (License): Likewise.
16599         * modules/uninorm/canonical-decomposition (License): Likewise.
16600         * modules/uninorm/composition (License): Likewise.
16601         * modules/uninorm/decompose-internal (License): Likewise.
16602         * modules/uninorm/decomposition-table (License): Likewise.
16603         * modules/uninorm/nfc (License): Likewise.
16604         * modules/uninorm/nfd (License): Likewise.
16605         * modules/uninorm/u32-normalize (License): Likewise.
16606         * modules/unistr/base (License): Likewise.
16607         * modules/unistr/u32-cpy (License): Likewise.
16608         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
16609         * modules/unistr/u32-to-u8 (License): Likewise.
16610         * modules/unistr/u32-uctomb (License): Likewise.
16611         * modules/unistr/u8-check (License): Likewise.
16612         * modules/unistr/u8-mblen (License): Likewise.
16613         * modules/unistr/u8-mbtouc (License): Likewise.
16614         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
16615         * modules/unistr/u8-mbtoucr (License): Likewise.
16616         * modules/unistr/u8-prev (License): Likewise.
16617         * modules/unistr/u8-strlen (License): Likewise.
16618         * modules/unistr/u8-to-u32 (License): Likewise.
16619         * modules/unistr/u8-uctomb (License): Likewise.
16620         * modules/unitypes (License): Likewise.
16621         Requested by Simon Josefsson.
16622
16623 2011-03-29  Simon Josefsson  <simon@josefsson.org>
16624
16625         lib-symbol-visibility: Add a notice.
16626         * modules/lib-symbol-visibility (Notice): New field.
16627
16628 2011-03-29  Bruno Haible  <bruno@clisp.org>
16629
16630         getaddrinfo: Doc fix.
16631         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
16632         section "fixed in Gnulib".
16633
16634 2011-03-28  Simon Josefsson  <simon@josefsson.org>
16635
16636         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
16637         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
16638
16639 2011-03-26  Bruno Haible  <bruno@clisp.org>
16640
16641         unictype/property-byname: Reduce the number of load-time relocations.
16642         * lib/unictype/pr_byname.c: Include <stdlib.h>.
16643         (UC_PROPERTY_INDEX_*): New enumeration values.
16644         (uc_property_byname): Convert an index from the lookup table to an
16645         uc_property_t.
16646         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
16647         values.
16648
16649 2011-03-26  Bruno Haible  <bruno@clisp.org>
16650
16651         unictype/property-byname: Allow omitted word separators and aliases.
16652         * lib/unictype/pr_byname.gperf: Add property names without word
16653         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
16654         for 'space'.
16655
16656 2011-03-26  Bruno Haible  <bruno@clisp.org>
16657
16658         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
16659         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
16660         also hyphens to space.
16661         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
16662         without spaces.
16663         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
16664
16665 2011-03-26  Bruno Haible  <bruno@clisp.org>
16666
16667         unictype/joiningtype-byname: Recognize long names as well.
16668         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
16669         a long name.
16670         * lib/unictype/joiningtype_byname.c: Include <string.h>,
16671         unictype/joiningtype_byname.h.
16672         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
16673         * lib/unictype/joiningtype_byname.gperf: New file.
16674         * modules/unictype/joiningtype-byname (Files): Add
16675         lib/unictype/joiningtype_byname.gperf.
16676         (Depends-on): Add gperf.
16677         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
16678         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
16679         long names.
16680
16681         Tests for module 'unictype/joiningtype-longname'.
16682         * modules/unictype/joiningtype-longname-tests: New file.
16683         * tests/unictype/test-joiningtype_longname.c: New file.
16684
16685         New module 'unictype/joiningtype-longname'.
16686         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
16687         * lib/unictype/joiningtype_longname.c: New file.
16688         * modules/unictype/joiningtype-longname: New file.
16689         * modules/unictype/joiningtype-all (Depends-on): Add
16690         unictype/joiningtype-longname.
16691
16692 2011-03-26  Bruno Haible  <bruno@clisp.org>
16693
16694         unictype/bidiclass-byname: Recognize long names as well.
16695         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
16696         name.
16697         * lib/unictype/bidi_byname.c: Include <string.h>,
16698         unictype/bidi_byname.h.
16699         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
16700         * lib/unictype/bidi_byname.gperf: New file.
16701         * modules/unictype/bidiclass-byname (Files): Add
16702         lib/unictype/bidi_byname.gperf.
16703         (Depends-on): Add gperf.
16704         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
16705         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
16706         long names.
16707
16708         Tests for module 'unictype/bidiclass-longname'.
16709         * modules/unictype/bidiclass-longname-tests: New file.
16710         * tests/unictype/test-bidi_longname.c: New file.
16711
16712         New module 'unictype/bidiclass-longname'.
16713         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
16714         * lib/unictype/bidi_longname.c: New file.
16715         * modules/unictype/bidiclass-longname: New file.
16716         * modules/unictype/bidiclass-all (Depends-on): Add
16717         unictype/bidiclass-longname.
16718
16719 2011-03-26  Bruno Haible  <bruno@clisp.org>
16720
16721         unictype/bidi*: Rename modules.
16722         * modules/unictype/bidiclass-all: Renamed from
16723         modules/unictype/bidicategory-all.
16724         * modules/unictype/bidiclass-name: Renamed from
16725         modules/unictype/bidiclass-name.
16726         (Description): Update.
16727         * modules/unictype/bidiclass-name-tests: Renamed from
16728         modules/unictype/bidicategory-name-tests.
16729         * modules/unictype/bidiclass-byname: Renamed from
16730         modules/unictype/bidicategory-byname.
16731         (Description): Update.
16732         * modules/unictype/bidiclass-byname-tests: Renamed from
16733         modules/unictype/bidicategory-byname-tests.
16734         * modules/unictype/bidiclass-of: Renamed from
16735         modules/unictype/bidicategory-of.
16736         (Description): Update.
16737         * modules/unictype/bidiclass-of-tests: Renamed from
16738         modules/unictype/bidicategory-of-tests.
16739         * modules/unictype/bidiclass-test: Renamed from
16740         modules/unictype/bidicategory-test.
16741         (Description): Update.
16742         * modules/unictype/bidiclass-test-tests: Renamed from
16743         modules/unictype/bidicategory-test-tests.
16744         * modules/unictype/bidicategory-all: New file, a simple redirection.
16745         * modules/unictype/bidicategory-name: Likewise.
16746         * modules/unictype/bidicategory-byname: Likewise.
16747         * modules/unictype/bidicategory-of: Likewise.
16748         * modules/unictype/bidicategory-test: Likewise.
16749         * modules/unictype/property-bidi-* (Dependencies): Update.
16750         * lib/unictype/bidi_*.c: Update comment.
16751
16752 2011-03-26  Bruno Haible  <bruno@clisp.org>
16753
16754         unictype/bidi*: Rename functions, part 2.
16755         * modules/unictype/bidicategory-name (configure.ac): Update required
16756         libunistring version.
16757         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
16758
16759 2011-03-25  Bruno Haible  <bruno@clisp.org>
16760
16761         New module 'unictype/combining-class-all'.
16762         * modules/unictype/combining-class-all: New file.
16763
16764         Tests for module 'unictype/combining-class-byname'.
16765         * modules/unictype/combining-class-byname-tests: New file.
16766         * tests/unictype/test-combiningclass_byname.c: New file.
16767
16768         New module 'unictype/combining-class-byname'.
16769         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
16770         * lib/unictype/combiningclass_byname.c: New file.
16771         * lib/unictype/combiningclass_byname.gperf: New file.
16772         * modules/unictype/combining-class-byname: New file.
16773
16774         Tests for module 'unictype/combining-class-longname'.
16775         * modules/unictype/combining-class-longname-tests: New file.
16776         * tests/unictype/test-combiningclass_longname.c: New file.
16777
16778         New module 'unictype/combining-class-longname'.
16779         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
16780         * lib/unictype/combiningclass_longname.c: New file.
16781         * modules/unictype/combining-class-longname: New file.
16782
16783         Tests for module 'unictype/combining-class-name'.
16784         * modules/unictype/combining-class-name-tests: New file.
16785         * tests/unictype/test-combiningclass_name.c: New file.
16786
16787         New module 'unictype/combining-class-name'.
16788         * lib/unictype.in.h (uc_combining_class_name): New declaration.
16789         * lib/unictype/combiningclass_name.c: New file.
16790         * modules/unictype/combining-class-name: New file.
16791
16792 2011-03-25  Bruno Haible  <bruno@clisp.org>
16793
16794         unictype/combining-class: Rename source files.
16795         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
16796         of unictype/combining.h.
16797         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
16798         Update.
16799         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
16800         * modules/unictype/combining-class (Description): Fix.
16801         (Files, Makefile.am): Update.
16802         * tests/unictype/test-combiningclass.c: Renamed from
16803         tests/unictype/test-combining.c.
16804         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
16805
16806 2011-03-25  Bruno Haible  <bruno@clisp.org>
16807
16808         unictype: Update list of canonical combining classes.
16809         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
16810
16811 2011-03-25  Bruno Haible  <bruno@clisp.org>
16812
16813         unictype/category-byname: Recognize long names as well.
16814         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
16815         a long name.
16816         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
16817         unictype/categ_byname.h.
16818         (UC_CATEGORY_INDEX_*): New enumeration values.
16819         (uc_general_category_byname): Use uc_general_category_lookup and
16820         convert from index to value.
16821         * lib/unictype/categ_byname.gperf: New file.
16822         * modules/unictype/category-byname (Files): Add
16823         lib/unictype/categ_byname.gperf.
16824         (Depends-on): Add gperf.
16825         (Makefile.am): Add rule for generating unictype/categ_byname.h.
16826         * tests/unictype/test-categ_byname.c (main): Test the recognition of
16827         long names.
16828
16829         Tests for module 'unictype/category-longname'.
16830         * modules/unictype/category-longname-tests: New file.
16831         * tests/unictype/test-categ_longname.c: New file.
16832
16833         New module 'unictype/category-longname'.
16834         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
16835         * lib/unictype/categ_longname.c: New file.
16836         * modules/unictype/category-longname: New file.
16837         * modules/unictype/category-all (Depends-on): Add it.
16838
16839 2011-03-25  Bruno Haible  <bruno@clisp.org>
16840
16841         Tests for module 'unictype/category-LC'.
16842         * modules/unictype/category-LC-tests: New file.
16843         * tests/unictype/test-categ_LC.c: New file, automatically generated.
16844
16845         New module 'unictype/category-LC'.
16846         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
16847         (UC_CATEGORY_LC): New declaration.
16848         (UC_CASED_LETTER): New macro.
16849         * lib/gen-uni-tables.c (is_category_LC): New function.
16850         (output_categories): Also handle category LC.
16851         (UC_CATEGORY_MASK_LC): New enumeration value.
16852         (general_category_byname): Also handle category LC.
16853         * lib/unictype/categ_LC.c: New file.
16854         * lib/unictype/categ_LC.h: New file, automatically generated.
16855         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
16856         category LC.
16857         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
16858         * modules/unictype/category-LC: New file.
16859         * modules/unictype/category-byname (Depends-on): Add
16860         unictype/category-LC.
16861         * modules/unictype/category-all (Depends-on): Likewise.
16862
16863 2011-03-25  Eric Blake  <eblake@redhat.com>
16864
16865         xmalloc: revert yesterday's regression
16866         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
16867         realloc's underlying behavior (allowing allocation of zero-size
16868         objects, especially if malloc-gnu is also in use).
16869
16870 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
16871
16872         maint.mk: add missing version to VC-tag
16873         * top/maint.mk: git tag was missing actual tag name; add it.
16874
16875         valgrind: do leak checking, and exit with code 1 on error (not 0)
16876         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
16877         to VALGRIND.
16878
16879 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
16880
16881         posix-modules: say what it does.
16882         * posix-modules: Add a line to the --help output saying what it does.
16883
16884 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
16885
16886         xmalloc: Do not leak if underlying realloc is C99 compatible.
16887         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
16888         This avoids a leak on C99-based systems.  See
16889         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
16890
16891 2011-03-24  Eric Blake  <eblake@redhat.com>
16892
16893         realloc: document portability problem
16894         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
16895         passing 0 size to realloc.
16896
16897 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
16898
16899         doc: update users.txt
16900         * users.txt: Add cvsps, tmpwatch
16901
16902 2011-03-23  Matt Rice  <ratmice@gmail.com>
16903
16904         doc: update users.txt
16905         * users.txt: Add gdb.
16906
16907 2011-03-23  Jim Meyering  <meyering@redhat.com>
16908
16909         doc: update users.txt
16910         Looking through matches up to the following URL (there are still
16911         several more pages), I found several projects that use gnulib:
16912         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
16913         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
16914         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
16915
16916 2011-03-22  Bruno Haible  <bruno@clisp.org>
16917
16918         unictype/bidi*: Rename functions.
16919         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
16920         uc_bidi_class, uc_is_bidi_class): New declarations.
16921         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
16922         uc_bidi_category_byname.
16923         (uc_bidi_category_byname): New function.
16924         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
16925         u_bidi_category_name.
16926         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
16927         (uc_bidi_category_name): New function.
16928         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
16929         uc_bidi_category.
16930         (uc_bidi_category): New function.
16931         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
16932         uc_is_bidi_category. Invoke uc_bidi_class.
16933         (uc_is_bidi_category): New function.
16934         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
16935         instead of uc_bidi_category_byname.
16936         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
16937         instead of uc_bidi_category_name.
16938         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
16939         uc_bidi_category.
16940         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
16941         instead of uc_is_bidi_category.
16942
16943 2011-03-21  Bruno Haible  <bruno@clisp.org>
16944
16945         New module 'unictype/joininggroup-all'.
16946         * modules/unictype/joininggroup-all: New file.
16947
16948         Tests for module 'unictype/joininggroup-of'.
16949         * modules/unictype/joininggroup-of-tests: New file.
16950         * tests/unictype/test-joininggroup_of.c: New file.
16951         * tests/unictype/test-joininggroup_of.h: New file, automatically
16952         generated by gen-uni-tables.
16953
16954         New module 'unictype/joininggroup-of'.
16955         * modules/unictype/joininggroup-of: New file.
16956         * lib/unictype/joininggroup_of.c: New file.
16957         * lib/unictype/joininggroup_of.h: New file, automatically generated by
16958         gen-uni-tables.
16959
16960         Tests for module 'unictype/joininggroup-byname'.
16961         * modules/unictype/joininggroup-byname-tests: New file.
16962         * tests/unictype/test-joininggroup_byname.c: New file.
16963
16964         New module 'unictype/joininggroup-byname'.
16965         * modules/unictype/joininggroup-byname: New file.
16966         * lib/unictype/joininggroup_byname.c: New file.
16967         * lib/unictype/joininggroup_byname.gperf: New file.
16968
16969         Tests for module 'unictype/joininggroup-name'.
16970         * modules/unictype/joininggroup-name-tests: New file.
16971         * tests/unictype/test-joininggroup_name.c: New file.
16972
16973         New module 'unictype/joininggroup-name'.
16974         * modules/unictype/joininggroup-name: New file.
16975         * lib/unictype/joininggroup_name.c: New file.
16976         * lib/unictype/joininggroup_name.h: New file.
16977
16978         New module 'unictype/joiningtype-all'.
16979         * modules/unictype/joiningtype-all: New file.
16980
16981         Tests for module 'unictype/joiningtype-of'.
16982         * modules/unictype/joiningtype-of-tests: New file.
16983         * tests/unictype/test-joiningtype_of.c: New file.
16984         * tests/unictype/test-joiningtype_of.h: New file, automatically
16985         generated by gen-uni-tables.
16986
16987         New module 'unictype/joiningtype-of'.
16988         * modules/unictype/joiningtype-of: New file.
16989         * lib/unictype/joiningtype_of.c: New file.
16990         * lib/unictype/joiningtype_of.h: New file, automatically generated by
16991         gen-uni-tables.
16992
16993         Tests for module 'unictype/joiningtype-byname'.
16994         * modules/unictype/joiningtype-byname-tests: New file.
16995         * tests/unictype/test-joiningtype_byname.c: New file.
16996
16997         New module 'unictype/joiningtype-byname'.
16998         * modules/unictype/joiningtype-byname: New file.
16999         * lib/unictype/joiningtype_byname.c: New file.
17000
17001         Tests for module 'unictype/joiningtype-name'.
17002         * modules/unictype/joiningtype-name-tests: New file.
17003         * tests/unictype/test-joiningtype_name.c: New file.
17004
17005         New module 'unictype/joiningtype-name'.
17006         * modules/unictype/joiningtype-name: New file.
17007         * lib/unictype/joiningtype_name.c: New file.
17008
17009         unictype: Add support for Arabic shaping properties.
17010         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
17011         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
17012         declarations.
17013         (UC_JOINING_GROUP_*): New enumeration values.
17014         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
17015         declarations.
17016         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
17017         (unicode_joining_type): New variable.
17018         (UC_JOINING_GROUP_*): New enumeration values.
17019         (unicode_joining_group): New variable.
17020         (fill_arabicshaping, joining_type_as_c_identifier,
17021         output_joining_type_test, output_joining_type,
17022         joining_group_as_c_identifier, output_joining_group_test,
17023         output_joining_group): New functions.
17024         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
17025         fill_arabicshaping and output_joining_type_test, output_joining_type,
17026         output_joining_group_test, output_joining_group.
17027         Reported by Simon Josefsson.
17028
17029 2011-03-21  Jim Meyering  <meyering@redhat.com>
17030
17031         strftime: fix a bug in yesterday's change
17032         * lib/strftime.c (add): Accommodate width's initial value of -1.
17033         Otherwise, nstrftime would copy uninitialized data into
17034         the result buffer.
17035
17036 2011-03-21  Jim Meyering  <meyering@redhat.com>
17037
17038         tests: add strftime-tests module
17039         * tests/test-strftime.c: New file.
17040         * modules/strftime-tests: New module.
17041
17042 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
17043
17044         strftime: don't assume a byte count fits in 'int'
17045         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
17046         found this problem by static analysis, using gcc -Wstrict-overflow
17047         (GCC 4.5.2, x86-64).  This reported an optimization that depended
17048         on an integer overflow having undefined behavior, but it turns out
17049         that the argument is a size, which might not fit in 'int' anyway,
17050
17051 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
17052
17053         stdio: don't require ignore_value around fwrite
17054
17055         This patch works around libc bug 11959
17056         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
17057         Without this patch, applications must often write
17058         ignore_value (fwrite (...)) even though the ignore_value is
17059         not helpful here.  It's common to write many objects, using
17060         fwrite/printf/etc., and then use ferror to detect output error.
17061
17062         I considered making this patch optional, but decided against it,
17063         because libc is obviously being inconsistent here: there is no
17064         reason libc should insist that user code must inspect fwrite
17065         return's value without also insisting that it inspect printf's,
17066         putchar's, etc.  If user code wants to have a strict style where
17067         all these functions' values are checked (so that ferror need not
17068         be checked), we could add support for that style in a new gnulib
17069         module, but in the meantime it's better to be consistent and to
17070         support common usage.
17071
17072         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
17073         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
17074         that we are compiling in checking mode, and if not C++, and
17075         if not already wrapping fwrite for some other reason.
17076         (fwrite): #define to rpl_fwrite if the latter is defined.
17077
17078 2011-03-20  Bruno Haible  <bruno@clisp.org>
17079
17080         verror: Fix compilation error introduced on 2011-02-13.
17081         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
17082         instead of __attribute__.
17083         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17084
17085 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
17086             Bruno Haible  <bruno@clisp.org>
17087
17088         socklen: do not depend on sys_socket
17089         While trying to modify Emacs to use gnulib's socklen module,
17090         I discovered a circular dependency: socklen depends on sys_socket
17091         and vice versa.  Emacs can use socklen, but it does not need
17092         sys_socket because it has its own substitute for sys/socket.h.
17093         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
17094         gl_TYPE_SOCKLEN_T.
17095         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
17096         gl_PREREQ_SYS_H_SOCKET.
17097         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
17098         gl_PREREQ_SYS_H_SOCKET.
17099         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
17100         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
17101         * modules/socklen (Depends-on): Do not depend on sys_socket.
17102         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
17103
17104 2011-03-20  Jim Meyering  <meyering@redhat.com>
17105
17106         maint.mk: sort file names *after* new transformation
17107         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
17108         prefix would have led to an unwarranted failure in GNU parted.
17109         Sort after that transformation.
17110
17111 2011-03-19  Jim Meyering  <meyering@redhat.com>
17112
17113         maint.mk: fix po-file syntax-check rule
17114         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
17115         Patch by Bruno Haible.
17116
17117 2011-03-19  Bruno Haible  <bruno@clisp.org>
17118
17119         socklen: Update comment.
17120         * m4/socklen.m4: Update comment about platforms.
17121
17122 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
17123             Bruno Haible  <bruno@clisp.org>
17124
17125         inet_ntop, inet_pton: Simplify.
17126         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
17127         documented to provide socklen_t and we already depend on sys_socket.
17128         * modules/inet_pton (Depends-on): Likewise.
17129         * lib/arpa_inet.in.h: Adjust comment.
17130
17131 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
17132             Bruno Haible  <bruno@clisp.org>
17133
17134         netdb: Simplify.
17135         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
17136         documented to provide socklen_t and we already depend on sys_socket.
17137         * lib/netdb.in.h: Adjust comment.
17138
17139 2011-03-19  Bruno Haible  <bruno@clisp.org>
17140
17141         sys_socket, netdb: Document problem with socklen_t.
17142         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
17143         platforms.
17144         * doc/posix-headers/netdb.texi: Likewise.
17145
17146 2011-03-18  Eric Blake  <eblake@redhat.com>
17147
17148         maint.mk: let po check work in VPATH build
17149         * top/maint.mk (po_file): Allow cfg.mk override.
17150         (sc_po_check): Allow VPATH use.
17151         Reported by Jiri Denemark.
17152
17153 2011-03-16  Jim Meyering  <meyering@redhat.com>
17154
17155         maint.mk: allow fine-grained syntax-check exclusion via Make variables
17156         Before, you would have had to create one .x-sc_ file per rule in order
17157         to exempt offending files.  Now, you may instead use a Make variable --
17158         usually defined in cfg.mk -- whose name identifies the affected rule.
17159         * top/maint.mk (_sc_excl): Define.
17160         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
17161         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
17162
17163 2011-03-13  Bruno Haible  <bruno@clisp.org>
17164
17165         ignore-value tests: Avoid warnings.
17166         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
17167         empty for gcc < 3.4.
17168
17169 2011-03-13  Bruno Haible  <bruno@clisp.org>
17170
17171         passfd: Fix link error on Solaris.
17172         * modules/passfd (Description): Correct.
17173         (Depends-on): Add socketlib.
17174         (Link): New section.
17175         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
17176
17177 2011-03-13  Bruno Haible  <bruno@clisp.org>
17178
17179         passfd: Fix link error on AIX 5.2.
17180         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
17181
17182 2011-03-13  Bruno Haible  <bruno@clisp.org>
17183
17184         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
17185         * lib/sys_socket.in.h: Include <stddef.h>.
17186         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
17187         CMSG_FIRSTHDR. Remove unused variable.
17188
17189 2011-03-13  Bruno Haible  <bruno@clisp.org>
17190
17191         passfd: Fix compilation error on OpenBSD.
17192         * lib/passfd.c: Include <sys/uio.h>.
17193
17194 2011-03-13  Bruno Haible  <bruno@clisp.org>
17195
17196         passfd test: Fix warnings.
17197         * tests/test-passfd.c: Include <sys/wait.h>.
17198         (main): Fix typo.
17199
17200 2011-03-13  Bruno Haible  <bruno@clisp.org>
17201
17202         passfd module, part 4, tweaks.
17203         * tests/test-passfd.c: Reorder includes.
17204         (main): Fix perror and printf calls.
17205
17206 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
17207
17208         passfd module, part 4.
17209         * modules/passfd-tests: New file.
17210         * tests/test-passfd.c: New file.
17211
17212 2011-03-13  Jim Meyering  <meyering@redhat.com>
17213
17214         Makefile: rely on GNU make; derive syntax-check rule names
17215         Rather than requiring that each sc_ rule be listed as a dependent
17216         of "check", use features of GNU make to derive the list.
17217         * Makefile (syntax-check-rules): Define.
17218         (check): Depend on the new variable, not the hard-coded list.
17219
17220 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
17221             Bruno Haible  <bruno@clisp.org>
17222
17223         passfd module, part 3.
17224         * lib/passfd.h (recvfd): Add a flags argument.
17225         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
17226         (recvfd): Add a flags argument.
17227         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
17228         exists.
17229         * modules/passfd (Depends-on): Add cloexec.
17230         Suggested by Eric Blake.
17231
17232 2011-03-13  Bruno Haible  <bruno@clisp.org>
17233
17234         passfd module, part 2, tweaks.
17235         * modules/passfd (Files): Reorder.
17236         (Depends-on): Remove errno.
17237         (Include): Remove <sys/socket.h>, <sys/un.h>.
17238         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
17239         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
17240         specification header. Include <sys/socket.h> always. Don't include
17241         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
17242         (sendfd): Clarify that it sets errno when it fails.
17243         (recvfd): Fix specification.
17244
17245 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
17246
17247         passfd module, part 2.
17248         * modules/passfd: New file.
17249         * lib/passfd.h: New file.
17250         * lib/passfd.c: New file.
17251
17252 2011-03-12  Bruno Haible  <bruno@clisp.org>
17253
17254         wcswidth, mbswidth: Avoid integer overflow.
17255         * lib/wcswidth.c: Include <limits.h>.
17256         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
17257         * lib/mbswidth.c: Include <limits.h>.
17258         (mbsnwidth): Avoid 'int' overflow.
17259         Reported by Jim Meyering.
17260
17261 2011-03-12  Bruno Haible  <bruno@clisp.org>
17262
17263         futimens, utimensat: Avoid endless recursion on Solaris 10.
17264         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
17265         Solaris.
17266         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
17267         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
17268
17269 2011-03-11  Jim Meyering  <meyering@redhat.com>
17270
17271         maint.mk: relax a regexp to accommodate other formatting styles
17272         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
17273         between "ngettext" and the following "(".
17274
17275 2011-03-11  Pádraig Brady <P@draigBrady.com>
17276
17277         maint.mk: suppress a false positive warning
17278         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
17279         diagnostics are marked with ngettext.
17280
17281 2011-03-10  Eric Blake  <eblake@redhat.com>
17282
17283         wchar: add explicit dependencies, for Tru64
17284         * modules/mbmemcasecoll (Depends-on): Add wchar.
17285         * modules/mbtowc (Depends-on): Likewise.
17286         * modules/vasnprintf (Depends-on): Likewise.
17287         * modules/unistdio/u-printf-args (Depends-on): Likewise.
17288         * modules/wctomb (Depends-on): Likewise.
17289         Reported by Peter O'Gorman.
17290
17291 2011-03-08  Bruno Haible  <bruno@clisp.org>
17292
17293         passfd module, part 1, tweaks.
17294         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
17295         Improve indentation. Improve AC_MSG_CHECKING messages.
17296         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
17297         gl_SOCKET_FAMILIES.
17298
17299 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
17300
17301         passfd module, part 1.
17302         * m4/afunix.m4: New file.
17303         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
17304         sockets.
17305
17306 2011-03-08  Bruno Haible  <bruno@clisp.org>
17307
17308         regex-quote: New API.
17309         * lib/regex-quote.h: Include <stdbool.h>.
17310         (struct regex_quote_spec): New type.
17311         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
17312         New declarations.
17313         (regex_quote_length, regex_quote_copy, regex_quote): Take a
17314         'const struct regex_quote_spec *' argument.
17315         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
17316         (pcre_special): New constant.
17317         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
17318         New functions.
17319         (regex_quote_length, regex_quote_copy, regex_quote): Take a
17320         'const struct regex_quote_spec *' argument.
17321         * modules/regex-quote (Depends-on): Add stdbool.
17322         * tests/test-regex-quote.c (check): Update for new API. Add test for
17323         anchored results.
17324         * NEWS: Mention the API change.
17325         Reported by Reuben Thomas and Eric Blake.
17326
17327 2011-03-06  Bruno Haible  <bruno@clisp.org>
17328
17329         regex-quote: Fix creation of POSIX extended regular expressions.
17330         * lib/regex-quote.c (ere_special): Add grouping and alternation
17331         operators.
17332
17333 2011-03-05  Bruno Haible  <bruno@clisp.org>
17334
17335         doc: Improve doc regarding autopoint vs. gnulib.
17336         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
17337         disable autopoint while running autoreconf.
17338         Suggested by Ralf Wildenhues.
17339
17340 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17341
17342         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
17343         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
17344
17345 2011-03-03  Bruce Korb  <bkorb@gnu.org>
17346
17347         parse-duration: remove xalloc.h dependency
17348         * lib/parse-duration.c (parse_period): handle NULL return from
17349         strdup instead of calling xstrdup().
17350         * modules/parse-duration: remove "xalloc" dependency
17351
17352 2011-03-03  Matthew Booth  <mbooth@redhat.com>
17353
17354         bootstrap: honor m4_base when running aclocal
17355         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
17356
17357 2011-03-02  Jim Meyering  <meyering@redhat.com>
17358
17359         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
17360         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
17361         on request from Matt Booth.
17362
17363 2011-03-01  Eric Blake  <eblake@redhat.com>
17364
17365         test-link: work on Hurd
17366         * tests/test-link.h (test_link): Hurd rejects linking directories
17367         with EISDIR instead of the POSIX-mandated EPERM.
17368
17369 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
17370
17371         stdio: simplify by moving files to printf-posix, sigpipe
17372         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
17373         since this symbol is needed only if printf is replaced.
17374         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
17375         Require gl_ASM_SYMBOL_PREFIX.
17376         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
17377         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
17378         (Depends-on): Add 'raise'.
17379         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
17380         * modules/stdio (Files): Remove lib/stdio-write.c,
17381         m4/asm-underscore.m4.
17382         (Depends-on): Remove 'raise'.
17383
17384         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
17385         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
17386         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
17387         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
17388
17389 2011-02-28  Bruno Haible  <bruno@clisp.org>
17390
17391         localcharset: Assume ANSI C behaviour of free().
17392         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
17393         calling free().
17394         Suggested by Simon Josefsson <simon@josefsson.org>.
17395
17396 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
17397             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
17398             Bruno Haible  <bruno@clisp.org>  (tiny change)
17399
17400         On Cygwin, use /proc file system instead of win32 API.
17401         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
17402         Win32 file names.
17403         (DllMain): Simplify by removing Cygwin specific code.
17404         (find_shared_library_fullname): Use Linux specific implementation also
17405         for Cygwin.
17406         (get_shared_library_fullname): Update accordingly.
17407         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
17408         Win32 file names.
17409         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
17410         Cygwin specific code.
17411
17412 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
17413             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
17414
17415         Fix OpenMP flag detection for various Fortran compilers.
17416         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
17417         OpenMP-conditional compilation construct, to force compile
17418         failure with missing OpenMP flag.
17419         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
17420
17421 2011-02-25  Eric Blake  <eblake@redhat.com>
17422
17423         strstr: expand test coverage
17424         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
17425         compilation.
17426         * tests/test-memmem.c (main): Duplicate tests.
17427         * tests/test-strcasestr.c (main): Likewise.
17428         * tests/test-c-strcasestr.c (main): Likewise.
17429
17430 2011-02-25  Jim Meyering  <meyering@redhat.com>
17431
17432         maint.mk: detect missing-NL-at-EOF, too
17433         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
17434         it also detects when a file lacks a newline at EOF.
17435         (require_exactly_one_NL_at_EOF_): Renamed from
17436         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
17437         since people may well have .x-sc_... file names tied to the
17438         existing name.  Suggested by Eric Blake.
17439
17440 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
17441
17442         dirname: move m4/dos.m4 functionality into lib/dosname.h
17443
17444         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
17445         extracts symbols from it, puts them into config.h; but it's much
17446         easier to use the symbols directly.  filename.h already does this,
17447         but it disagrees with dos.m4 in some respects.  This patch
17448         introduces a different include file dosname.h that packages up
17449         dos.m4, and then later we can work on merging filename.h and
17450         dosname.h.  Applications that need only the easy-to-configure
17451         symbols should consider including dosname.h rather than dirname.h.
17452         * NEWS: Mention incompatible changes.
17453         * m4/dos.m4: Remove.
17454         * lib/dosname.h, modules/dosname: New files.
17455         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
17456         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
17457         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
17458         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
17459         Include dosname.h, not dirname.h.
17460         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
17461         Include dosname.h, for definitions of symbols like ISSLASH
17462         that used to be in config.h.
17463         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
17464         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
17465         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
17466         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
17467         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
17468         * modules/rmdir (Files): Likewise.
17469         * modules/stat (Files): Likewise.
17470         * modules/unlink (Files): Likewise.
17471         * modules/dirname-lgpl (Depends-on): Add dosname.
17472         * modules/lstat (Depends-on): Likewise.
17473         * modules/openat (Depends-on): Likewise.
17474         * modules/rmdir (Depends-on): Likewise.
17475         * modules/savewd (Depends-on): Likewise.
17476         * modules/stat (Depends-on): Likewise.
17477         * modules/unlink (Depends-on): Likewise.
17478         * modules/openat (Depends-on): Remove dirname-lgpl.
17479         * modules/savewd (Depends-on): Likewise.
17480         * tests/test-dirname.c: Do not use removed symbols like
17481         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
17482         the remaining symbols, e.g., ISSLASH ('\\').
17483
17484 2011-02-25  Eric Blake  <eblake@redhat.com>
17485
17486         strstr: revert patches that introduced bug and pessimization
17487         * lib/str-two-way.h: Add another reference.
17488         (two_way_short_needle, two_way_long_needle): Revert changes from
17489         2011-02-24; they pessimize search speed.
17490         (critical_factorization): Partially revert changes from
17491         2010-06-22; they violate the requirement that the left half of the
17492         needle be smaller than the period of the needle.
17493
17494 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
17495
17496         filenamecat: remove unnecessary dependency on dirname-lgpl
17497         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
17498         is no direct dependency, just an indirect one via filenamecat-lgpl.
17499
17500         remove: remove unnecessary use of m4/dos.m4
17501         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
17502         * modules/remove (FILES): Remove m4/dos.m4.
17503
17504         * lib/openat-proc.c: Don't include dirname.h; not needed.
17505
17506         backupfile: remove unnecessary use of m4/dos.m4
17507         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
17508         of its symbols are used by the backupfile code.  backupfile.c does
17509         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
17510         for the rare case of programs that want all their backup file
17511         names to live within 8+3 limits, and dos.m4 doesn't address that.
17512         * modules/backupfile (Files): Remove m4/dos.m4.
17513
17514 2011-02-24  Jim Meyering  <meyering@redhat.com>
17515
17516         strstr: fix a bug whereby strstr would mistakenly return NULL
17517         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
17518         in period calculation.
17519         (two_way_long_needle): Likewise.
17520         The original problem was reported by Mike Stump in
17521         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
17522         Ralf Wildenhues provided the short needle and haystack.
17523         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
17524         Add a more involved test to trigger the bug in two_way_long_needle.
17525
17526 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
17527
17528         gnulib-tool: remove use of bold display in help screen
17529         * gnulib-tool (func_usage): Do not use bold display anymore in the
17530         help screen.  That was just meant to be a temporary emphasis for a
17531         backward-incompatible change.
17532
17533 2011-02-23  Bruno Haible  <bruno@clisp.org>
17534
17535         Fix misindentation of preprocessor directives.
17536         * lib/argp-namefrob.h: Reindent preprocessor directives.
17537         * lib/getopt_int.h (struct _getopt_data): Likewise.
17538         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
17539         * lib/vasnprintf.c (decode_long_double): Likewise.
17540         * tests/test-argmatch.c: Insert blank lines, for clarity.
17541         * tests/test-exclude.c: Likewise.
17542
17543 2011-02-22  Bruno Haible  <bruno@clisp.org>
17544
17545         ioctl: Fix for MacOS X in 64-bit mode.
17546         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
17547         value.
17548         Suggested by Eric Blake.
17549         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
17550
17551 2011-02-22  Jim Meyering  <meyering@redhat.com>
17552
17553         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
17554         * Makefile (sc_cpp_indent_check): Don't limit the check to files
17555         in lib/.
17556
17557 2011-02-22  Eric Blake  <eblake@redhat.com>
17558
17559         maint: avoid any CDPATH issue
17560         * Makefile (sc_cpp_indent_check): Anchor cd argument.
17561
17562         maint: adjust cpp indentation for my modules, as well
17563         * Makefile (sc_cpp_indent_check): Add my name.
17564         * lib/fbufmode.c: Filter through cppi.
17565         * lib/fpurge.c: Likewise.
17566         * lib/freadable.c: Likewise.
17567         * lib/freading.c: Likewise.
17568         * lib/fwritable.c: Likewise.
17569         * lib/fwriting.c: Likewise.
17570         * lib/sigaction.c: Likewise.
17571
17572 2011-02-22  Jim Meyering  <meyering@redhat.com>
17573
17574         maint: adjust cpp indentation to reflect nesting depth
17575         I.e., in a block of code that begins with an unnested "#if",
17576         put one space between the "#" in column 1 and following token.
17577         For example,
17578         -#include <sys/vfs.h>
17579         +# include <sys/vfs.h>
17580         Do this only in .c files that are part of a module I maintain.
17581         * lib/linkat.c: Filter through cppi.
17582         * lib/nanosleep.c: Likewise.
17583         * lib/openat.c: Likewise.
17584         * lib/openat-die.c: Likewise.
17585         * lib/dup3.c: Likewise.
17586         * lib/fchownat.c: Likewise.
17587         * lib/flock.c: Likewise.
17588         * lib/fsync.c: Likewise.
17589         * lib/fts.c: Likewise.
17590         * lib/getpass.c: Likewise.
17591         * lib/gettimeofday.c: Likewise.
17592         * lib/userspec.c: Likewise.
17593         * Makefile (sc_cpp_indent_check): New rule, to check this.
17594
17595 2011-02-22  Bruno Haible  <bruno@clisp.org>
17596
17597         New module 'wctomb'.
17598         * lib/stdlib.in.h (wctomb): New declaration.
17599         * lib/wctomb.c: New file.
17600         * lib/wctomb-impl.h: New file.
17601         * m4/wctomb.m4: New file.
17602         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
17603         REPLACE_WCTOMB.
17604         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
17605         REPLACE_WCTOMB.
17606         * modules/wctomb: New file.
17607         * tests/test-stdlib-c++.cc: Test signature of wctomb.
17608         * doc/posix-functions/wctomb.texi: Mention the new module.
17609         * modules/wctob (Depends-on): Add wctomb.
17610
17611 2011-02-22  Bruno Haible  <bruno@clisp.org>
17612
17613         New module 'mbtowc'.
17614         * lib/stdlib.in.h (mbtowc): New declaration.
17615         * lib/mbtowc.c: New file.
17616         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
17617         * m4/mbtowc.m4: New file.
17618         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
17619         REPLACE_MBTOWC.
17620         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
17621         REPLACE_MBTOWC.
17622         * modules/mbtowc: New file.
17623         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
17624         * doc/posix-functions/mbtowc.texi: Mention the new module.
17625         * modules/btowc (Depends-on): Add mbtowc.
17626
17627 2011-02-22  Bruno Haible  <bruno@clisp.org>
17628
17629         wcrtomb: Add more tests for native Windows platforms.
17630         * tests/test-wcrtomb-w32-1.sh: New file.
17631         * tests/test-wcrtomb-w32-2.sh: New file.
17632         * tests/test-wcrtomb-w32-3.sh: New file.
17633         * tests/test-wcrtomb-w32-4.sh: New file.
17634         * tests/test-wcrtomb-w32-5.sh: New file.
17635         * tests/test-wcrtomb-w32.c: New file.
17636         * modules/wcrtomb-tests (Files): Add them.
17637         (Makefile.am): Arrange to run these tests.
17638         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
17639         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
17640
17641 2011-02-20  Bruno Haible  <bruno@clisp.org>
17642
17643         wcrtomb: Enhance test.
17644         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
17645
17646 2011-02-20  Bruno Haible  <bruno@clisp.org>
17647
17648         mbrtowc: Tiny optimization.
17649         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
17650
17651 2011-02-20  Jim Meyering  <meyering@redhat.com>
17652
17653         test-exclude.c: remove unmatched #endif
17654         * tests/test-exclude.c: Remove stray #endif, left over from
17655         the change of a week ago.
17656
17657 2011-02-19  Jim Meyering  <meyering@redhat.com>
17658
17659         git-version-gen: skip "-dirty" check when appropriate
17660         * build-aux/git-version-gen: Don't run any git commands when the
17661         version string comes from .tarball-version.  Prior to this, we
17662         would run git update-index --refresh even from a just-unpacked
17663         tarball directory, and that could affect a .git/ directory in a
17664         parent of the build directory.  Reported by Mike Frysinger.
17665
17666 2011-02-19  Bruno Haible  <bruno@clisp.org>
17667
17668         unictype/property-byname: Reduce the size of the 'data' segment.
17669         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
17670
17671 2011-02-19  Bruno Haible  <bruno@clisp.org>
17672
17673         unictype/scripts: Reduce the size of the 'data' segment.
17674         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
17675         '%pic'.
17676         * lib/unictype/scripts_byname.gperf: Regenerated.
17677
17678 2011-02-19  Bruno Haible  <bruno@clisp.org>
17679
17680         stdint: Update documentation.
17681         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
17682
17683 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
17684
17685         stdint: omit redundant check for wchar.h
17686         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
17687         always tests whether wchar.h exists, so remove the now-redundant test.
17688
17689 2011-02-18  Bruno Haible  <bruno@clisp.org>
17690
17691         stdint: Cut dependency to module 'wchar'.
17692         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
17693         include the necessary prerequisites.
17694         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
17695         * modules/stdint (Depends-on): Remove wchar.
17696         (Makefile.am): Substitute HAVE_WCHAR_H.
17697         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
17698
17699 2011-02-18  Eric Blake  <eblake@redhat.com>
17700
17701         longlong: skip, rather than fail, on cross-compilation
17702         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
17703         when cross-compiling; regression from 2011-02-16.
17704
17705 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
17706
17707         * NEWS: Mention 2011-02-08 change to stdlib.
17708
17709 2011-02-17  Bruno Haible  <bruno@clisp.org>
17710
17711         getloadavg: Add comments about platforms.
17712         * m4/getloadavg.m4: Add comment.
17713         * lib/getloadavg.c: Likewise.
17714
17715 2011-02-17  Bruno Haible  <bruno@clisp.org>
17716
17717         getloadavg: Fix link error on Solaris 2.6.
17718         * modules/getloadavg (Link): New section.
17719         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
17720         linking test-getloadavg.
17721         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
17722         getloadavg.
17723
17724 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
17725
17726         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
17727         It was 'int', but this doesn't match the IRIX 6.5 manual.
17728         Suggested by Bruno Haible in
17729         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
17730
17731 2011-02-17  Bruno Haible  <bruno@clisp.org>
17732
17733         havelib: Fix comments.
17734         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
17735         change.
17736
17737 2011-02-17  Bruno Haible  <bruno@clisp.org>
17738
17739         havelib: Update config.rpath.
17740         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
17741
17742 2011-02-17  Bruno Haible  <bruno@clisp.org>
17743
17744         getloadavg test: Add some plausibility checks.
17745         * tests/test-getloadavg.c (check_avg): Print a warning when the value
17746         is improbable.
17747
17748 2011-02-16  Eric Blake  <eblake@redhat.com>
17749
17750         maintainer-makefile: make syntax-check a no-op from tarballs
17751         * top/maint.mk (no-vc-detected): New rule.
17752         (local-checks-available): Use it to avoid hanging if someone tries
17753         'make syntax-check' from a tarball.  Also append to any non-syntax
17754         checks already defined in cfg.mk.
17755
17756 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
17757
17758         longlong: tune, particularly for common case of c99
17759
17760         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
17761         or running anything if c99, or if unsigned long long int does not
17762         work.  In either case, we know the answer without further tests.
17763         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
17764         it at most once, and use its results for both long long int and
17765         unsigned long long int.  This is more likely to be efficient in
17766         the common case where the program wants to check for both long
17767         long int and unsigned long long int.
17768         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
17769         since the answer is already known.
17770
17771 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
17772
17773         getloadavg: set errno
17774         * lib/getloadavg.c: Set errno when returning -1.  If no other
17775         error number looks appropriate, set it to ENOSYS if the getloadavg
17776         looks like it can't possibly ever work, ENOTSUP otherwise.
17777         Suggested by Bruno Haible in
17778         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
17779
17780         getloadavg: trim unused parts and speed up 'configure'
17781         * NEWS: Document this.
17782         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
17783         always compiled if getloadavg is absent.
17784         Move test code to ...
17785         * tests/test-getloadavg.c: New file, containing previous
17786         contents of test from lib/getloadavg.c.  It also contains
17787         suggestions by Bruno Haible in
17788         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
17789         * modules/getloadavg-tests: New file.
17790         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
17791         Do tests in the same order as they're needed for getloadavg.c.
17792         Omit setgid-related tests that generate symbols KMEM_GROUP,
17793         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
17794         Do only the tests that are needed to see whether the system has
17795         getloadavg, moving the other tests into ...
17796         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
17797         NLIST_NAME_UNION; nobody should be using it.  Do not define
17798         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
17799         relevant, as the user of this module shouldn't care how getloadavg
17800         is implemented.
17801
17802         getloadavg: omit unused var
17803         * lib/getloadavg.c (getloadavg): Omit unused local variable.
17804
17805 2011-02-15  Jim Meyering  <meyering@redhat.com>
17806
17807         doc: update users.txt
17808         * users.txt: Update iwhd's URL.
17809
17810 2011-02-13  Bruno Haible  <bruno@clisp.org>
17811
17812         Consistent macro naming for macros that use GCC __attribute__.
17813         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
17814         _ATTRIBUTE_NONNULL_.
17815         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
17816         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
17817         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
17818         ATTRIBUTE_DEPRECATED.
17819         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
17820         ATTRIBUTE_NORETURN.
17821         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
17822         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
17823         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
17824         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
17825         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
17826         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
17827         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
17828         ATTRIBUTE_SENTINEL.
17829         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
17830         ATTRIBUTE_RETURN_CHECK.
17831         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
17832         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
17833         ATTRIBUTE_NORETURN.
17834         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
17835         Reported by Paul Eggert.
17836
17837 2011-02-13  Bruno Haible  <bruno@clisp.org>
17838
17839         Don't interfere with a program's definition of __attribute__.
17840         * lib/argp.h (__attribute__): Remove definition.
17841         (_GL_ATTRIBUTE_FORMAT): New macro.
17842         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
17843         * lib/argp-fmtstream.h (__attribute__): Remove definition.
17844         (_GL_ATTRIBUTE_FORMAT): New macro.
17845         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
17846         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
17847         GCC 3 or newer.
17848         * lib/error.h (__attribute__): Remove definition.
17849         (_GL_ATTRIBUTE_FORMAT): New macro.
17850         (error, error_at_line): Use it.
17851         * lib/hash.h (__attribute__): Remove definition.
17852         (ATTRIBUTE_WUR): Update definition. Define always.
17853         * lib/openat.h (__attribute__): Remove definition.
17854         (ATTRIBUTE_NORETURN): Update definition. Define always.
17855         * lib/sigpipe-die.h (__attribute__): Remove definition.
17856         (ATTRIBUTE_NORETURN): Update definition. Define always.
17857         * lib/vasnprintf.h (__attribute__): Remove definition.
17858         (_GL_ATTRIBUTE_FORMAT): New macro.
17859         (asnprintf, vasnprintf): Use it.
17860         * lib/xalloc.h (__attribute__): Remove definition.
17861         (ATTRIBUTE_NORETURN): Update definition. Define always.
17862         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
17863         * lib/xmemdup0.h (__attribute__): Remove definition.
17864         (ATTRIBUTE_NORETURN): Update definition. Define always.
17865         * lib/xprintf.h (__attribute__): Remove definition.
17866         (_GL_ATTRIBUTE_FORMAT): New macro.
17867         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
17868         * lib/xstrtol.h (__attribute__): Remove definition.
17869         (ATTRIBUTE_NORETURN): Update definition. Define always.
17870         * lib/xvasprintf.h (__attribute__): Remove definition.
17871         (_GL_ATTRIBUTE_FORMAT): New macro.
17872         (xasprintf, xvasprintf): Use it.
17873         * tests/test-argmatch.c (__attribute__): Remove definition.
17874         (ATTRIBUTE_NORETURN): Update definition. Define always.
17875         * tests/test-exclude.c (__attribute__): Remove definition.
17876         (ATTRIBUTE_NORETURN): Update definition. Define always.
17877         Reported by Paul Eggert.
17878
17879 2011-02-13  Bruno Haible  <bruno@clisp.org>
17880
17881         mbrtowc: Add more tests for native Windows platforms.
17882         * tests/test-mbrtowc-w32-1.sh: New file.
17883         * tests/test-mbrtowc-w32-2.sh: New file.
17884         * tests/test-mbrtowc-w32-3.sh: New file.
17885         * tests/test-mbrtowc-w32-4.sh: New file.
17886         * tests/test-mbrtowc-w32-5.sh: New file.
17887         * tests/test-mbrtowc-w32.c: New file.
17888         * modules/mbrtowc-tests (Files): Add them.
17889         (Makefile.am): Arrange to run these tests.
17890         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
17891         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
17892
17893 2011-02-13  Bruno Haible  <bruno@clisp.org>
17894
17895         mbrtowc: Work around native Windows bug.
17896         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
17897         guess when no suitable locale for testing was found.
17898         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
17899
17900 2011-02-13  Bruno Haible  <bruno@clisp.org>
17901
17902         mbsinit: Work around mingw bug.
17903         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
17904         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
17905         Windows.
17906         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
17907
17908 2011-02-13  Bruno Haible  <bruno@clisp.org>
17909
17910         mbsinit: Don't crash for a NULL argument.
17911         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
17912         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
17913
17914 2011-02-13  Bruno Haible  <bruno@clisp.org>
17915
17916         Don't interfere with a program's definition of __attribute__.
17917         * lib/stdio.in.h (__attribute__): Remove definition.
17918         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
17919         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
17920         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
17921         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
17922         * lib/string.in.h (__attribute__): Remove definition.
17923         Reported by Paul Eggert.
17924
17925 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
17926
17927         stdlib: don't get in the way of non-GCC __attribute__
17928         See thread starting at
17929         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
17930         Revert previous stdlib change, installing the following instead:
17931         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
17932         to get in the way of a non-GCC compiler that supports __attribute__.
17933         (_GL_ATTRIBUTE_RETURN): New macro.
17934         (_Exit): Use it instead of __attribute__.
17935
17936 2011-02-12  Bruno Haible  <bruno@clisp.org>
17937
17938         quotearg test: Avoid test failure on mingw.
17939         * tests/test-quotearg.sh: Convert the locale identifier from native
17940         Windows syntax to Unix syntax.
17941
17942 2011-02-12  Bruno Haible  <bruno@clisp.org>
17943
17944         setlocale: Prefer gnulib's override over libintl's override.
17945         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
17946         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
17947         GNULIB_defined_setlocale is set.
17948
17949 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
17950
17951         stdlib: support non-GCC __attribute__
17952
17953         Fix a serious and tricky problem encountered when attempting to
17954         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
17955         5.5, but it crashed due to memory corruption on Solaris 10 with
17956         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
17957         bits that are otherwise zero.  This tagging is optional inside
17958         Emacs but is preferred and is used when __attribute__ ((__aligned
17959         (8))) works, as it does with both recent-enough GCC and with Sun C
17960         5.11.  However, Sun C 5.11 is not GCC and does not #define
17961         __GNUC__ and __GNUC_MINOR__.
17962
17963         When I added the getloadavg module to Emacs, it brought in
17964         stdlib.in.h, which contained this fragment:
17965
17966            #ifndef __attribute__
17967            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
17968            #  define __attribute__(Spec)   /* empty */
17969            # endif
17970            #endif
17971
17972         When files that include <stdlib.h> were compiled with Sun C 5.11,
17973         the above code disabled __attribute__ ((__aligned (8))), which
17974         caused variables to not be properly aligned, which eventually led
17975         to the pointer corruption mentioned above.  (This was a bit hard
17976         to diagnose, unfortunately.)
17977
17978         Several "#define __attribute__(X) /* empty */" code snippets need
17979         to be eradicated from Gnulib to work with non-GCC compilers that
17980         support __attribute__.  The Autoconf way to do this is to test for
17981         each kind of attribute that we want support for, and selectively
17982         enable that in source code.
17983
17984         Fix this problem just for stdlib.h, by adding a test for the
17985         __noreturn__ attribute, and change stdlib.in.h to use that test
17986         when needed.  This technique can be easily generalized to the
17987         other *.in.h files and attributes, and a similar technique can be
17988         used for *.h and *.c files.  This patch is enough to solve the
17989         problem for Emacs + getloadavg, and I thought I'd publish it for
17990         feedback before undertaking further, similar fixes in other
17991         modules.
17992
17993         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
17994         because it's not needed for stdlib.h.  It merely substitutes the
17995         value directly into stdlib.h.  We may well need to #define it, or
17996         similar symbols, for other modules, but it's nice to also have an
17997         option to not #define it for applications like Emacs that do not
17998         need it.
17999
18000         * lib/stdlib.in.h (__attribute__): Do not #define.
18001         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
18002         be defined only if the _Exit module is also used.
18003         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
18004         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
18005         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
18006         platforms.
18007         * modules/_Exit (Files): Add m4/attribute.m4.
18008         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
18009         * m4/attribute.m4: New file.
18010
18011 2011-02-12  Bruno Haible  <bruno@clisp.org>
18012
18013         wcsrtombs: Work around bug on native Windows.
18014         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
18015         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
18016         instead of len.
18017         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
18018
18019 2011-02-12  Bruno Haible  <bruno@clisp.org>
18020
18021         mbsrtowcs: Work around bug on native Windows.
18022         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
18023         against mingw bug.
18024         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
18025
18026 2011-02-12  Bruno Haible  <bruno@clisp.org>
18027
18028         Avoid setlocale bugs in tests.
18029         * modules/btowc (Dependencies): Add setlocale.
18030         * modules/c-strcase (Dependencies): Likewise.
18031         * modules/mbmemcasecmp (Dependencies): Likewise.
18032         * modules/mbmemcasecoll (Dependencies): Likewise.
18033         * modules/mbrtowc (Dependencies): Likewise.
18034         * modules/mbscasecmp (Dependencies): Likewise.
18035         * modules/mbscasestr (Dependencies): Likewise.
18036         * modules/mbschr (Dependencies): Likewise.
18037         * modules/mbscspn (Dependencies): Likewise.
18038         * modules/mbsinit (Dependencies): Likewise.
18039         * modules/mbsncasecmp (Dependencies): Likewise.
18040         * modules/mbsnrtowcs (Dependencies): Likewise.
18041         * modules/mbspbrk (Dependencies): Likewise.
18042         * modules/mbspcasecmp (Dependencies): Likewise.
18043         * modules/mbsrchr (Dependencies): Likewise.
18044         * modules/mbsrtowcs (Dependencies): Likewise.
18045         * modules/mbsspn (Dependencies): Likewise.
18046         * modules/mbsstr (Dependencies): Likewise.
18047         * modules/nl_langinfo (Dependencies): Likewise.
18048         * modules/quotearg (Dependencies): Likewise.
18049         * modules/unicase/locale-language (Dependencies): Likewise.
18050         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
18051         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
18052         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
18053         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
18054         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
18055         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
18056         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
18057         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
18058         * modules/vasnprintf-posix (Dependencies): Likewise.
18059         * modules/wcrtomb (Dependencies): Likewise.
18060         * modules/wcsnrtombs (Dependencies): Likewise.
18061         * modules/wcsrtombs (Dependencies): Likewise.
18062
18063 2011-02-12  Bruno Haible  <bruno@clisp.org>
18064
18065         setlocale: Workaround native Windows bug.
18066         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
18067         succeeds but sets LC_CTYPE to "C", report a failure.
18068         * tests/test-setlocale2.sh: New file.
18069         * tests/test-setlocale2.c: New file.
18070         * modules/setlocale-tests (Files): Add the new files.
18071         (Makefile.am): Enable test-setlocale2.sh test.
18072         * doc/posix-functions/setlocale.texi: Mention workaround.
18073
18074 2011-02-11  Bruno Haible  <bruno@clisp.org>
18075
18076         Tests for module 'setlocale'.
18077         * modules/setlocale-tests: New file.
18078         * tests/test-setlocale1.sh: New file.
18079         * tests/test-setlocale1.c: New file.
18080
18081         New module 'setlocale'.
18082         * lib/locale.in.h (setlocale): New declaration.
18083         * lib/setlocale.c: New file, based on
18084         gettext/gettext-runtime/intl/setlocale.c.
18085         * m4/setlocale.m4: New file.
18086         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
18087         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
18088         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
18089         REPLACE_SETLOCALE.
18090         * modules/setlocale: New file.
18091         * tests/test-locale-c++.cc: Test the declaration of setlocale.
18092         * doc/posix-functions/setlocale.texi: Mention the new module.
18093
18094 2011-02-11  Bruno Haible  <bruno@clisp.org>
18095
18096         Prepare for locale dependent tests on mingw.
18097         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
18098         because it has the wrong locale encoding.
18099         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
18100         French_France.1252 instead of "fr".
18101         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
18102         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
18103         because it has the wrong locale encoding.
18104         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
18105         native Windows, try Turkish_Turkey.65001.
18106         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
18107         Chinese_China.54936.
18108
18109         Prepare for locale dependent tests on mingw.
18110         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
18111         differently.
18112         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
18113         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
18114         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
18115         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
18116
18117 2011-02-11  Eric Blake  <eblake@redhat.com>
18118
18119         strptime: avoid compiler warnings
18120         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
18121         compiler warnings about dead code.
18122         Reported by Daniel P. Berrange.
18123
18124 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
18125
18126         doc: update users.txt
18127         * users.txt: Add rcs.
18128
18129 2011-02-10  John W. Eaton  <jwe@gnu.org>
18130
18131         doc: update users.txt
18132         * users.txt: Add octave.
18133
18134 2011-02-10  Jim Meyering  <meyering@redhat.com>
18135
18136         doc: update users.txt
18137         * users.txt: Add iwhd.
18138
18139 2011-02-09  Bruno Haible  <bruno@clisp.org>
18140
18141         gnulib-tool: Make copyright notice adjustment more robust.
18142         * gnulib-tool (func_import): In sed_transform_main_lib_file,
18143         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
18144         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
18145         License".
18146         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
18147
18148 2011-02-06  Bruno Haible  <bruno@clisp.org>
18149
18150         New module 'towctrans'.
18151         * modules/towctrans: New file.
18152         * lib/wctype.in.h (towctrans): New declaration.
18153         * lib/towctrans.c: New file.
18154         * lib/towctrans-impl.h: New file.
18155         * m4/towctrans.m4: New file.
18156         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
18157         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
18158         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
18159         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
18160         * doc/posix-functions/towctrans.texi: Mention the new module.
18161
18162 2011-02-06  Bruno Haible  <bruno@clisp.org>
18163
18164         New module 'wctrans'.
18165         * modules/wctrans: New file.
18166         * lib/wctype.in.h (wctrans): New declaration.
18167         * lib/wctrans.c: New file.
18168         * lib/wctrans-impl.h: New file.
18169         * m4/wctrans.m4: New file.
18170         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
18171         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
18172         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
18173         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
18174         * doc/posix-functions/wctrans.texi: Mention the new module.
18175
18176 2011-02-06  Bruno Haible  <bruno@clisp.org>
18177
18178         New module 'iswctype'.
18179         * modules/iswctype: New file.
18180         * lib/wctype.in.h (iswctype): New declaration.
18181         * lib/iswctype.c: New file.
18182         * lib/iswctype-impl.h: New file.
18183         * m4/iswctype.m4: New file.
18184         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
18185         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
18186         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
18187         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
18188         * doc/posix-functions/iswctype.texi: Mention the new module and the
18189         HP-UX 11.00 problem.
18190
18191 2011-02-06  Bruno Haible  <bruno@clisp.org>
18192
18193         New module 'wctype'.
18194         * modules/wctype: Change to represent the wctype() substitute.
18195         * lib/wctype.in.h (wctype): New declaration.
18196         * lib/wctype.c: New file.
18197         * lib/wctype-impl.h: New file.
18198         * m4/wctype.m4: New file.
18199         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
18200         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
18201         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
18202         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
18203         * doc/posix-functions/wctype.texi: Mention the new module and the
18204         HP-UX 11.00 problem.
18205
18206 2011-02-06  Bruno Haible  <bruno@clisp.org>
18207
18208         wctype-h: Ensure wctype_t and wctrans_t are defined.
18209         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
18210         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
18211         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
18212         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
18213         HAVE_WCTRANS_T.
18214         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
18215
18216 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
18217
18218         flock: fix license typo
18219
18220         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
18221         omitted.
18222
18223 2011-02-08  Bruno Haible  <bruno@clisp.org>
18224
18225         Split large sed scripts, for HP-UX sed.
18226         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
18227         to avoid HP-UX limit of 99 commands, in the near future.
18228         * modules/stdlib (Makefile.am): Likewise.
18229         * modules/unistd (Makefile.am): Likewise.
18230         * modules/wchar (Makefile.am): Likewise.
18231         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
18232         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
18233         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
18234
18235 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
18236             Bruno Haible  <bruno@clisp.org>
18237
18238         stdlib: improve random_r modularization
18239         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
18240         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
18241         you also need the random_r module to get this material right.
18242         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
18243         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
18244         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
18245
18246 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
18247
18248         stdlib: don't depend on stdint
18249         * lib/stdlib.in.h: Don't include <stdint.h> merely because
18250         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
18251         be independent of whether stdint.h is needed.
18252         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
18253         here, instead of ...
18254         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
18255         struct random_data should be using the random_r module, not just
18256         the stdlib module (which wouldn't make sense: what package needs
18257         just struct random_data without also needing random_r?).
18258         * modules/stdlib (Depends-on): Remove stdint.
18259
18260         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
18261         See the thread rooted at
18262         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
18263         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
18264         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
18265         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
18266         __VMS)); previously it was always included (via fcntl--.h).
18267         (getloadavg): Do not use c_strtod.  Instead, approximate it by
18268         hand; this is good enough for load averages.  Also, do not use
18269         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
18270         flags directly if available and don't bother otherwise.  (Packages
18271         that need the extra reliability should use the modules that define
18272         these flags on older platforms that lack them.)
18273         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
18274         fcntl-safer.
18275
18276 2011-02-08  Jim Meyering  <meyering@redhat.com>
18277
18278         di-set.h, ino-map.h: add multiple-inclusion guard
18279         Technically, the guard is required only for ino-map.h, due to its
18280         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
18281         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
18282         * lib/ino-map.h: Likewise.
18283
18284 2011-02-06  Bruno Haible  <bruno@clisp.org>
18285
18286         iswblank: Ensure declaration on glibc systems.
18287         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
18288         * modules/iswblank (Dependencies): Add 'extensions'.
18289         * doc/posix-functions/iswblank.texi: Document the glibc problem.
18290
18291 2011-02-06  Bruno Haible  <bruno@clisp.org>
18292
18293         New module 'iswblank'.
18294         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
18295         * modules/iswblank: New file.
18296         * modules/wctype-h (Files): Remove lib/iswblank.c.
18297         (Makefile.am): Substitute GNULIB_ISWBLANK.
18298         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
18299         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
18300         (gl_WCTYPE_H_DEFAULTS): New macro.
18301         (gl_WCTYPE_H): Require it. Remove iswblank related code.
18302         * modules/iswblank-tests: New file.
18303         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
18304         * tests/test-wctype-h.c (main): Remove iswblank tests.
18305         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
18306         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
18307         of 'wctype-h'.
18308         * NEWS: Mention the change.
18309         * modules/mbchar (Depends-on): Add iswblank.
18310
18311 2011-02-08  Bruno Haible  <bruno@clisp.org>
18312
18313         di-set tests: Refactor.
18314         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
18315         unnecessary includes.
18316         (ASSERT): Remove macro.
18317         (main): Make C90 compliant by avoiding variable declaration after
18318         statement.
18319         * modules/di-set-tests (Files): Add tests/macros.h.
18320
18321 2011-02-08  Bruno Haible  <bruno@clisp.org>
18322
18323         ino-map tests: Refactor.
18324         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
18325         unnecessary includes.
18326         (ASSERT): Remove macro.
18327         (main): Make C90 compliant by avoiding variable declaration after
18328         statement.
18329         * modules/ino-map-tests (Files): Add tests/macros.h.
18330
18331 2011-02-08  Jim Meyering  <meyering@redhat.com>
18332
18333         di-set: add "const" to a cast
18334         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
18335         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
18336
18337 2011-02-06  Bruno Haible  <bruno@clisp.org>
18338
18339         Rename module 'wctype' to 'wctype-h'.
18340         * modules/wctype-h: Renamed from modules/wctype.
18341         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
18342         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
18343         (Files, Depends-on, Makefile.am): Update.
18344         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
18345         (Files, Makefile.am): Update.
18346         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
18347         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
18348         * doc/posix-headers/wctype.texi: Update.
18349         * doc/posix-functions/iswalnum.texi: Update.
18350         * doc/posix-functions/iswalpha.texi: Update.
18351         * doc/posix-functions/iswblank.texi: Update.
18352         * doc/posix-functions/iswcntrl.texi: Update.
18353         * doc/posix-functions/iswdigit.texi: Update.
18354         * doc/posix-functions/iswgraph.texi: Update.
18355         * doc/posix-functions/iswlower.texi: Update.
18356         * doc/posix-functions/iswprint.texi: Update.
18357         * doc/posix-functions/iswpunct.texi: Update.
18358         * doc/posix-functions/iswspace.texi: Update.
18359         * doc/posix-functions/iswupper.texi: Update.
18360         * doc/posix-functions/iswxdigit.texi: Update.
18361         * doc/posix-functions/towlower.texi: Update.
18362         * doc/posix-functions/towupper.texi: Update.
18363         * NEWS: Mention the change.
18364         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
18365         * modules/mbchar (Dependencies): Likewise.
18366         * modules/mbswidth (Dependencies): Likewise.
18367         * modules/quotearg (Dependencies): Likewise.
18368         * modules/regex (Dependencies): Likewise.
18369         * modules/wcscasecmp (Dependencies): Likewise.
18370         * modules/wcsncasecmp (Dependencies): Likewise.
18371         * modules/wcwidth (Dependencies): Likewise.
18372
18373 2011-02-06  Bruno Haible  <bruno@clisp.org>
18374
18375         New module 'wcswidth'.
18376         * modules/wcswidth: New file.
18377         * lib/wchar.in.h (wcswidth): New declaration.
18378         * lib/wcswidth.c: New file.
18379         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
18380         * m4/wcswidth.m4: New file.
18381         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
18382         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
18383         REPLACE_WCSWIDTH.
18384         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
18385         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
18386         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
18387         * doc/posix-functions/wcswidth.texi: Mention the new module.
18388
18389 2011-02-06  Bruno Haible  <bruno@clisp.org>
18390
18391         New module 'wcstok'.
18392         * modules/wcstok: New file.
18393         * lib/wchar.in.h (wcstok): New declaration.
18394         * lib/wcstok.c: New file.
18395         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
18396         * m4/wcstok.m4: New file.
18397         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
18398         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
18399         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
18400         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
18401         * doc/posix-functions/wcstok.texi: Mention the new module.
18402
18403 2011-02-06  Bruno Haible  <bruno@clisp.org>
18404
18405         New module 'wcsstr'.
18406         * modules/wcsstr: New file.
18407         * lib/wchar.in.h (wcsstr): New declaration.
18408         * lib/wcsstr.c: New file.
18409         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
18410         * m4/wcsstr.m4: New file.
18411         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
18412         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
18413         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
18414         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
18415         * doc/posix-functions/wcsstr.texi: Mention the new module.
18416
18417 2011-02-06  Bruno Haible  <bruno@clisp.org>
18418
18419         New module 'wcspbrk'.
18420         * modules/wcspbrk: New file.
18421         * lib/wchar.in.h (wcspbrk): New declaration.
18422         * lib/wcspbrk.c: New file.
18423         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
18424         * m4/wcspbrk.m4: New file.
18425         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
18426         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
18427         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
18428         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
18429         * doc/posix-functions/wcspbrk.texi: Mention the new module.
18430
18431 2011-02-06  Bruno Haible  <bruno@clisp.org>
18432
18433         New module 'wcsspn'.
18434         * modules/wcsspn: New file.
18435         * lib/wchar.in.h (wcsspn): New declaration.
18436         * lib/wcsspn.c: New file.
18437         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
18438         * m4/wcsspn.m4: New file.
18439         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
18440         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
18441         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
18442         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
18443         * doc/posix-functions/wcsspn.texi: Mention the new module.
18444
18445 2011-02-06  Bruno Haible  <bruno@clisp.org>
18446
18447         New module 'wcscspn'.
18448         * modules/wcscspn: New file.
18449         * lib/wchar.in.h (wcscspn): New declaration.
18450         * lib/wcscspn.c: New file.
18451         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
18452         * m4/wcscspn.m4: New file.
18453         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
18454         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
18455         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
18456         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
18457         * doc/posix-functions/wcscspn.texi: Mention the new module.
18458
18459 2011-02-06  Bruno Haible  <bruno@clisp.org>
18460
18461         New module 'wcsrchr'.
18462         * modules/wcsrchr: New file.
18463         * lib/wchar.in.h (wcsrchr): New declaration.
18464         * lib/wcsrchr.c: New file.
18465         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
18466         * m4/wcsrchr.m4: New file.
18467         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
18468         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
18469         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
18470         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
18471         * doc/posix-functions/wcsrchr.texi: Mention the new module.
18472
18473 2011-02-06  Bruno Haible  <bruno@clisp.org>
18474
18475         New module 'wcschr'.
18476         * modules/wcschr: New file.
18477         * lib/wchar.in.h (wcschr): New declaration.
18478         * lib/wcschr.c: New file.
18479         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
18480         * m4/wcschr.m4: New file.
18481         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
18482         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
18483         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
18484         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
18485         * doc/posix-functions/wcschr.texi: Mention the new module.
18486
18487 2011-02-06  Bruno Haible  <bruno@clisp.org>
18488
18489         New module 'wcsdup'.
18490         * modules/wcsdup: New file.
18491         * lib/wchar.in.h (wcsdup): New declaration.
18492         * lib/wcsdup.c: New file.
18493         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
18494         * m4/wcsdup.m4: New file.
18495         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
18496         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
18497         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
18498         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
18499         * doc/posix-functions/wcsdup.texi: Mention the new module.
18500
18501 2011-02-06  Bruno Haible  <bruno@clisp.org>
18502
18503         New module 'wcsxfrm'.
18504         * modules/wcsxfrm: New file.
18505         * lib/wchar.in.h (wcsxfrm): New declaration.
18506         * lib/wcsxfrm.c: New file.
18507         * lib/wcsxfrm-impl.h: New file.
18508         * m4/wcsxfrm.m4: New file.
18509         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
18510         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
18511         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
18512         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
18513         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
18514
18515 2011-02-06  Bruno Haible  <bruno@clisp.org>
18516
18517         New module 'wcscoll'.
18518         * modules/wcscoll: New file.
18519         * lib/wchar.in.h (wcscoll): New declaration.
18520         * lib/wcscoll.c: New file.
18521         * lib/wcscoll-impl.h: New file.
18522         * m4/wcscoll.m4: New file.
18523         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
18524         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
18525         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
18526         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
18527         * doc/posix-functions/wcscoll.texi: Mention the new module.
18528
18529 2011-02-06  Bruno Haible  <bruno@clisp.org>
18530
18531         New module 'wcsncasecmp'.
18532         * modules/wcsncasecmp: New file.
18533         * lib/wchar.in.h (wcsncasecmp): New declaration.
18534         * lib/wcsncasecmp.c: New file.
18535         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
18536         * m4/wcsncasecmp.m4: New file.
18537         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
18538         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
18539         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
18540         HAVE_WCSNCASECMP.
18541         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
18542         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
18543
18544 2011-02-06  Bruno Haible  <bruno@clisp.org>
18545
18546         New module 'wcscasecmp'.
18547         * modules/wcscasecmp: New file.
18548         * lib/wchar.in.h (wcscasecmp): New declaration.
18549         * lib/wcscasecmp.c: New file.
18550         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
18551         * m4/wcscasecmp.m4: New file.
18552         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
18553         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
18554         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
18555         HAVE_WCSCASECMP.
18556         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
18557         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
18558
18559 2011-02-05  Bruno Haible  <bruno@clisp.org>
18560
18561         New module 'wcsncmp'.
18562         * modules/wcsncmp: New file.
18563         * lib/wchar.in.h (wcsncmp): New declaration.
18564         * lib/wcsncmp.c: New file.
18565         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
18566         * m4/wcsncmp.m4: New file.
18567         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
18568         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
18569         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
18570         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
18571         * doc/posix-functions/wcsncmp.texi: Mention the new module.
18572
18573 2011-02-05  Bruno Haible  <bruno@clisp.org>
18574
18575         New module 'wcscmp'.
18576         * modules/wcscmp: New file.
18577         * lib/wchar.in.h (wcscmp): New declaration.
18578         * lib/wcscmp.c: New file.
18579         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
18580         * m4/wcscmp.m4: New file.
18581         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
18582         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
18583         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
18584         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
18585         * doc/posix-functions/wcscmp.texi: Mention the new module.
18586
18587 2011-02-05  Bruno Haible  <bruno@clisp.org>
18588
18589         New module 'wcsncat'.
18590         * modules/wcsncat: New file.
18591         * lib/wchar.in.h (wcsncat): New declaration.
18592         * lib/wcsncat.c: New file.
18593         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
18594         * m4/wcsncat.m4: New file.
18595         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
18596         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
18597         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
18598         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
18599         * doc/posix-functions/wcsncat.texi: Mention the new module.
18600
18601 2011-02-05  Bruno Haible  <bruno@clisp.org>
18602
18603         New module 'wcscat'.
18604         * modules/wcscat: New file.
18605         * lib/wchar.in.h (wcscat): New declaration.
18606         * lib/wcscat.c: New file.
18607         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
18608         * m4/wcscat.m4: New file.
18609         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
18610         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
18611         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
18612         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
18613         * doc/posix-functions/wcscat.texi: Mention the new module.
18614
18615 2011-02-05  Bruno Haible  <bruno@clisp.org>
18616
18617         New module 'wcpncpy'.
18618         * modules/wcpncpy: New file.
18619         * lib/wchar.in.h (wcpncpy): New declaration.
18620         * lib/wcpncpy.c: New file.
18621         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
18622         * m4/wcpncpy.m4: New file.
18623         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
18624         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
18625         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
18626         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
18627         * doc/posix-functions/wcpncpy.texi: Mention the new module.
18628
18629 2011-02-05  Bruno Haible  <bruno@clisp.org>
18630
18631         New module 'wcsncpy'.
18632         * modules/wcsncpy: New file.
18633         * lib/wchar.in.h (wcsncpy): New declaration.
18634         * lib/wcsncpy.c: New file.
18635         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
18636         * m4/wcsncpy.m4: New file.
18637         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
18638         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
18639         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
18640         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
18641         * doc/posix-functions/wcsncpy.texi: Mention the new module.
18642
18643 2011-02-05  Bruno Haible  <bruno@clisp.org>
18644
18645         New module 'wcpcpy'.
18646         * modules/wcpcpy: New file.
18647         * lib/wchar.in.h (wcpcpy): New declaration.
18648         * lib/wcpcpy.c: New file.
18649         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
18650         * m4/wcpcpy.m4: New file.
18651         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
18652         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
18653         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
18654         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
18655         * doc/posix-functions/wcpcpy.texi: Mention the new module.
18656
18657 2011-02-05  Bruno Haible  <bruno@clisp.org>
18658
18659         New module 'wcscpy'.
18660         * modules/wcscpy: New file.
18661         * lib/wchar.in.h (wcscpy): New declaration.
18662         * lib/wcscpy.c: New file.
18663         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
18664         * m4/wcscpy.m4: New file.
18665         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
18666         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
18667         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
18668         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
18669         * doc/posix-functions/wcscpy.texi: Mention the new module.
18670
18671 2011-02-05  Bruno Haible  <bruno@clisp.org>
18672
18673         New module 'wcsnlen'.
18674         * modules/wcsnlen: New file.
18675         * lib/wchar.in.h (wcsnlen): New declaration.
18676         * lib/wcsnlen.c: New file.
18677         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
18678         * m4/wcsnlen.m4: New file.
18679         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
18680         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
18681         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
18682         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
18683         * doc/posix-functions/wcsnlen.texi: Mention the new module.
18684
18685 2011-02-05  Bruno Haible  <bruno@clisp.org>
18686
18687         New module 'wcslen'.
18688         * modules/wcslen: New file.
18689         * lib/wchar.in.h (wcslen): New declaration.
18690         * lib/wcslen.c: New file.
18691         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
18692         * m4/wcslen.m4: New file.
18693         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
18694         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
18695         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
18696         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
18697         * doc/posix-functions/wcslen.texi: Mention the new module.
18698
18699 2011-02-05  Bruno Haible  <bruno@clisp.org>
18700
18701         New module 'wmemset'.
18702         * modules/wmemset: New file.
18703         * lib/wchar.in.h (wmemset): New declaration.
18704         * lib/wmemset.c: New file.
18705         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
18706         * m4/wmemset.m4: New file.
18707         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
18708         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
18709         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
18710         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
18711         * doc/posix-functions/wmemset.texi: Mention the new module.
18712
18713 2011-02-05  Bruno Haible  <bruno@clisp.org>
18714
18715         New module 'wmemmove'.
18716         * modules/wmemmove: New file.
18717         * lib/wchar.in.h (wmemmove): New declaration.
18718         * lib/wmemmove.c: New file.
18719         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
18720         * m4/wmemmove.m4: New file.
18721         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
18722         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
18723         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
18724         HAVE_WMEMMOVE.
18725         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
18726         * doc/posix-functions/wmemmove.texi: Mention the new module.
18727
18728 2011-02-05  Bruno Haible  <bruno@clisp.org>
18729
18730         New module 'wmemcpy'.
18731         * modules/wmemcpy: New file.
18732         * lib/wchar.in.h (wmemcpy): New declaration.
18733         * lib/wmemcpy.c: New file.
18734         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
18735         * m4/wmemcpy.m4: New file.
18736         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
18737         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
18738         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
18739         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
18740         * doc/posix-functions/wmemcpy.texi: Mention the new module.
18741
18742 2011-02-05  Bruno Haible  <bruno@clisp.org>
18743
18744         New module 'wmemcmp'.
18745         * modules/wmemcmp: New file.
18746         * lib/wchar.in.h (wmemcmp): New declaration.
18747         * lib/wmemcmp.c: New file.
18748         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
18749         * m4/wmemcmp.m4: New file.
18750         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
18751         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
18752         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
18753         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
18754         * doc/posix-functions/wmemcmp.texi: Mention the new module.
18755
18756 2011-02-07  Jim Meyering  <meyering@redhat.com>
18757
18758         di-set, ino-map: new modules, from coreutils
18759         * lib/di-set.c: New file.
18760         * lib/di-set.h: Likewise.
18761         * lib/ino-map.c: Likewise.
18762         * lib/ino-map.h: Likewise.
18763         * modules/di-set: Likewise.
18764         * modules/di-set-tests: Likewise.
18765         * modules/ino-map: Likewise.
18766         * modules/ino-map-tests: Likewise.
18767         * tests/test-di-set.c: Likewise.
18768         * tests/test-ino-map.c: Likewise.
18769
18770 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
18771
18772         getloadavg: merge minor changes from Emacs
18773
18774         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
18775         (getloadavg): Use memset, not bzero.
18776
18777         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
18778         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
18779         clash (bug#86).
18780
18781 2010-11-14  Bruno Haible  <bruno@clisp.org>
18782
18783         Allow multiple gnulib generated replacements to coexist.
18784         * lib/getopt.in.h (struct option): Avoid identical redefinition.
18785         * lib/inttypes.in.h (imaxdiv_t): Likewise.
18786         * lib/langinfo.in.h (nl_item): Likewise.
18787         * lib/math.in.h (_NaN, NAN): Likewise.
18788         * lib/netdb.in.h (struct addrinfo): Likewise.
18789         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
18790         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
18791         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
18792         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
18793         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
18794         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
18795         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
18796         pthread_mutexattr_init, pthread_mutexattr_settype,
18797         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
18798         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
18799         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
18800         pthread_spin_trylock, pthread_spin_unlock): Likewise.
18801         * lib/sched.in.h (struct sched_param): Likewise.
18802         * lib/se-selinux.in.h (security_class_t, security_context_t,
18803         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
18804         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
18805         lsetfilecon, fsetfilecon, security_check_context,
18806         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
18807         Likewise.
18808         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
18809         Likewise.
18810         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
18811         _gl_function_taking_int_returning_void_t, union sigval,
18812         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
18813         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
18814         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
18815         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
18816         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
18817         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
18818         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
18819         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
18820         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
18821         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
18822         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
18823         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
18824         socklen_t, rpl_fd_isset): Likewise.
18825         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
18826         * lib/sys_time.in.h (struct timeval): Likewise.
18827         * lib/sys_times.in.h (struct tms): Likewise.
18828         * lib/sys_utsname.in.h (struct utsname):
18829         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
18830         * lib/unistd.in.h (getpagesize): Likewise.
18831         * lib/wchar.in.h (mbstate_t): Likewise.
18832         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
18833         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
18834         towlower, towupper): Likewise.
18835         Reported by Sam Steingold <sds@gnu.org>.
18836
18837 2011-02-05  Eric Blake  <eblake@redhat.com>
18838
18839         unsetenv: work around Haiku issues
18840         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
18841         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
18842
18843 2010-12-30  Bruce Korb  <bkorb@gnu.org>
18844
18845         libposix: avoid calling error() within libposix
18846         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
18847         is defined.
18848
18849 2011-02-05  Eric Blake  <eblake@redhat.com>
18850
18851         strerror_r-posix: port to cygwin
18852         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
18853         implementation.
18854         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
18855         * tests/test-strerror_r.c (main): Fix test.
18856         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
18857         issue.
18858
18859 2011-02-05  Bruno Haible  <bruno@clisp.org>
18860
18861         New module 'wmemchr'.
18862         * modules/wmemchr: New file.
18863         * lib/wchar.in.h (wmemchr): New declaration.
18864         * lib/wmemchr.c: New file.
18865         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
18866         * m4/wmemchr.m4: New file.
18867         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
18868         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
18869         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
18870         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
18871         * doc/posix-functions/wmemchr.texi: Mention the new module.
18872
18873 2011-02-04  Eric Blake  <eblake@redhat.com>
18874
18875         fdopendir: detect FreeBSD bug
18876         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
18877         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
18878
18879 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
18880
18881         stdbool: do not define HAVE_STDBOOL_H
18882         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
18883         AC_HEADER_STDBOOL.  All uses changed.  Do not define
18884         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
18885         imported from the latest Autoconf git.  It was motivated by Emacs,
18886         which uses gnulib but does not need HAVE_STDBOOL_H.
18887
18888 2011-02-04  Bruno Haible  <bruno@clisp.org>
18889
18890         wcsnrtombs: Prepare for new module wwcsnrtombs.
18891         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
18892         * lib/wcsnrtombs.c: Include it.
18893         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
18894
18895         wcsrtombs: Prepare for new module wwcsrtombs.
18896         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
18897         * lib/wcsrtombs.c: Include it.
18898         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
18899
18900         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
18901         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
18902         * lib/mbsnrtowcs.c: Include it.
18903         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
18904
18905         mbsrtowcs: Prepare for new module mbsrtowwcs.
18906         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
18907         * lib/mbsrtowcs.c: Include it.
18908         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
18909
18910 2011-02-04  Bruno Haible  <bruno@clisp.org>
18911
18912         vasnprintf: Reduce use of malloc for small format strings.
18913         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
18914         (arguments): Add room for the first 7 arguments.
18915         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
18916         (char_directives, u8_directives, u16_directives, u32_directives): Add
18917         room for the first 7 directives.
18918         * lib/printf-parse.c: Include <string.h>.
18919         (PRINTF_PARSE): Change memory handling code so that it uses the first
18920         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
18921         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
18922         Reported by Pádraig Brady <P@draigbrady.com>.
18923
18924 2011-01-31  Eric Blake  <eblake@redhat.com>
18925
18926         dup2: work around Haiku bug
18927         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
18928         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
18929         * doc/posix-functions/dup2.texi (dup2): Document the bug.
18930         * tests/test-dup2.c (main): Enhance test.
18931
18932 2011-01-31  Simon Josefsson  <simon@josefsson.org>
18933
18934         doc: off_t is not available in eglibc 2.11.2 stdio.h.
18935         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
18936         declared by eglibc 2.11.2.
18937         * lib/stdio.in.h: Likewise.
18938
18939 2011-01-31  Eric Blake  <eblake@redhat.com>
18940
18941         ignore-value: add missing test dependency
18942         * tests/test-ignore-value.c: Revert previous change; stdio.h
18943         provides off_t.
18944         * modules/ignore-value-tests (Depends-on): Add missing dependency.
18945
18946 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
18947
18948         mktime: clarify long_int width checking
18949         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
18950         the top level, to make it clearer that the assumption about
18951         long_int width is being checked.  See
18952         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
18953
18954 2011-01-30  Simon Josefsson  <simon@josefsson.org>
18955
18956         ignore-value: Fix self-test.
18957         * tests/test-ignore-value.c: Include sys/types.h for off_t.
18958
18959 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
18960
18961         TYPE_MAXIMUM: avoid theoretically undefined behavior
18962         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
18963         negative number, which the C Standard says has undefined behavior.
18964         In practice this is not a problem, but might as well do it by the book.
18965         Reported by Rich Felker and Eric Blake; see
18966         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
18967         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
18968         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
18969         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
18970         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
18971         * m4/stdint.m4 (gl_STDINT_H): Likewise.
18972         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
18973
18974         mktime: #undef mktime before #defining it
18975         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
18976
18977         mktime: systematically normalize tm_isdst comparisons
18978         * lib/mktime.c (isdst_differ): New function.
18979         (__mktime_internal): Use it systematically for all isdst comparisons.
18980         This completes the fix for libc BZ #6723, and removes the need for
18981         normalizing tm_isdst.  See
18982         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
18983         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
18984
18985         mktime: fix some integer overflow issues and sidestep the rest
18986
18987         This was prompted by a bug report by Benjamin Lindner for MinGW
18988         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
18989         His bug is due to signed integer overflow (0 - INT_MIN), and I
18990         I scanned through mktime.c looking for other integer overflow
18991         problems, fixing all the bugs I found.
18992
18993         Although the C Standard says the resulting code is still not safe
18994         in the presence of integer overflow, in practice it should be good
18995         enough for all real-world two's-complement implementations, except
18996         for debugging environments that deliberately trap on integer
18997         overflow (e.g., gcc -ftrapv).
18998
18999         * lib/mktime.c (WRAPV): New macro.
19000         (SHR): Also check that long_int and time_t shift right in the
19001         usual way, before using the fast-but-unportable method.
19002         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
19003         used.  The code already assumed two's complement, so there's
19004         no need to test for alternatives.  All uses removed.
19005         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
19006         the C standard.  Problem reported by Rich Felker in
19007         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
19008         (twos_complement_arithmetic): Also check long_int and time_t.
19009         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
19010         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
19011         (__mktime_internal): Avoid integer overflow with unary subtraction
19012         in two instances where -1 - X is an adequate replacement for -X,
19013         since the calculations are approximate.
19014
19015 2011-01-29  Eric Blake  <eblake@redhat.com>
19016
19017         mktime: avoid infinite loop
19018         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
19019         type; behavior is still undefined but portable to all known targets.
19020         Reported by Rich Felker.
19021
19022 2011-01-29  Simon Josefsson  <simon@josefsson.org>
19023
19024         rename, unlink, same-inode: Relicense.
19025         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
19026         * modules/unlink (License): Likewise.
19027         * modules/same-inode (License): Likewise.
19028
19029 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
19030
19031         mktime: avoid problems on NetBSD 5 / i386
19032         * lib/mktime.c (long_int): New type.  This works around a problem
19033         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
19034         but time_t is 64 bits, and where I expect the existing code is
19035         wrong in some cases.
19036         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
19037         (ydhms_diff): Bring back the compile-time check for wide-enough
19038         year and yday.
19039
19040         mktime: fix misspelling in comment
19041         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
19042         This merges all recent glibc changes of importance.
19043
19044 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19045
19046         move-if-change: cope with concurrent mv of identical file.
19047         * build-aux/move-if-change (CMPPROG): Accept environment
19048         variable as an override for `cmp'.
19049         (usage): Document CMPPROG.
19050         Adjust comparison to drop stdout.  Cope with failure of mv if
19051         the target file exists and is identical to the source, for
19052         parallel builds.
19053         Report from H.J. Lu against binutils in PR binutils/12283.
19054
19055 2011-01-28  Bruce Korb  <bkorb@gnu.org>
19056
19057         * users.txt: Mention sharutils.
19058
19059 2011-01-28  Simon Josefsson  <simon@josefsson.org>
19060
19061         * users.txt: Mention OATH Toolkit.
19062
19063 2011-01-27  Bruno Haible  <bruno@clisp.org>
19064
19065         Prepare for supporting FreeBSD 10.
19066         * build-aux/config.libpath: Remove handling of freebsd1*.
19067
19068 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
19069
19070         Prepare for supporting FreeBSD 10.
19071         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
19072         match FreeBSD 10.0.
19073
19074 2011-01-27  Bruno Haible  <bruno@clisp.org>
19075
19076         vma-iter, get-rusage-as: Add OpenBSD support.
19077         * modules/vma-iter (configure.ac): Test for mquery.
19078         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
19079         * lib/vma-iter.c: Include <sys/mman.h>.
19080         (vma_iterate): Add an implementation based on mquery().
19081         * lib/resource-ext.h (get_rusage_as): Update comments.
19082         * lib/get-rusage-as.c: Likewise.
19083         * lib/get-rusage-data.c: Likewise.
19084
19085 2011-01-26  Karl Berry  <karl@gnu.org>
19086
19087         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
19088         variables to make it easier to override the makeinfo program used.
19089
19090 2011-01-26  Eric Blake  <eblake@redhat.com>
19091
19092         fcntl: work around Haiku F_DUPFD bugs
19093         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
19094         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
19095         cloexec bit on duplication.
19096         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
19097
19098 2011-01-26  Bruno Haible  <bruno@clisp.org>
19099
19100         Enable memory leak tests on AIX.
19101         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
19102         * tests/test-fprintf-posix3.c (main): Likewise.
19103
19104 2011-01-26  Bruno Haible  <bruno@clisp.org>
19105
19106         Tests for module 'get-rusage-data'.
19107         * modules/get-rusage-data-tests: New file.
19108         * tests/test-get-rusage-data.c: New file.
19109
19110         New module 'get-rusage-data'.
19111         * lib/resource-ext.h (get_rusage_data): New declaration.
19112         * lib/get-rusage-data.c: New file.
19113         * modules/get-rusage-data: New file.
19114
19115 2011-01-25  Bruno Haible  <bruno@clisp.org>
19116
19117         get-rusage-as: Allow for easier testing.
19118         * lib/resource-ext.h (get_rusage_as): Add comment.
19119         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
19120         (main): New function for interactive testing.
19121
19122 2011-01-25  Bruno Haible  <bruno@clisp.org>
19123
19124         vma-iter: Treat Haiku like BeOS.
19125         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
19126         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
19127
19128 2011-01-25  Eric Blake  <eblake@redhat.com>
19129
19130         c-stack: fix regression on cygwin when libsigsegv is present
19131         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
19132
19133 2011-01-24  Bruno Haible  <bruno@clisp.org>
19134
19135         vma-iter: Avoid empty intervals.
19136         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
19137         on an empty interval.
19138
19139 2011-01-24  Jim Meyering  <meyering@redhat.com>
19140
19141         u64: remove unnecessary #include
19142         * lib/u64.h: Don't include <stddef.h>.  It was not used.
19143
19144 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
19145
19146         Allow the user to avoid the HAVE_RAW_DECL_* macros.
19147         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
19148
19149 2011-01-23  Bruno Haible  <bruno@clisp.org>
19150
19151         New module 'vma-iter'.
19152         * lib/vma-iter.h: New file.
19153         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
19154         * modules/vma-iter: New file.
19155         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
19156         for get_rusage_as_via_iterator.
19157         (vma_iterate_callback): New function.
19158         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
19159         * modules/get-rusage-as (Depends-on): Add vma-iter.
19160
19161 2011-01-23  Bruno Haible  <bruno@clisp.org>
19162
19163         uninorm: Tweak includes.
19164         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
19165         Reported by Jim Meyering.
19166
19167 2011-01-23  Bruno Haible  <bruno@clisp.org>
19168
19169         get-rusage-as: Improve on NetBSD.
19170         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
19171         /proc, like on FreeBSD.
19172
19173 2011-01-23  Jim Meyering  <meyering@redhat.com>
19174
19175         xreadlink.h: remove unnecessary #include
19176         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
19177
19178         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
19179         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
19180
19181 2011-01-23  Bruno Haible  <bruno@clisp.org>
19182
19183         get-rusage-as: Fix bug.
19184         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
19185         original limit when aborting the first loop.
19186
19187 2011-01-23  Bruno Haible  <bruno@clisp.org>
19188
19189         wctype: Ensure valid C syntax.
19190         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
19191         unconditionally, instead of gl_NEXT_HEADERS conditionally.
19192
19193 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
19194
19195         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
19196         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
19197         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
19198         as they are needed only for configure's test case.
19199         This removes two unnecessary symbols from config.h.
19200
19201         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
19202         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
19203         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
19204         AC_CHECK_HEADERS_ONCE on a header that we also invoke
19205         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
19206         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
19207         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
19208         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
19209         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
19210         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
19211         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
19212         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
19213         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
19214         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
19215         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
19216         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
19217         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
19218         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
19219
19220 2011-01-21  Eric Blake  <eblake@redhat.com>
19221
19222         maintainer-makefile: work with older git for submodule check
19223         * top/maint.mk (public-submodule-commit): Rewrite to avoid
19224         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
19225         Reported by Matthias Bolte.
19226
19227         bootstrap: minor portability fixes
19228         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
19229         (usage): Omit leading capital and trailing . on help phrases, per
19230         GNU Coding Standards.
19231         (check_versions, top level): Prefix messages with script name.
19232
19233 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
19234
19235         bootstrap: support --no-git option
19236         * build-aux/bootstrap: Add --no-git option, to be used when
19237         --gnulib-srcdir points to the exact desired checkout.
19238
19239 2011-01-21  Eric Blake  <eblake@redhat.com>
19240
19241         strerror_r-posix: work with glibc 2.13
19242         * lib/strerror_r.c (strerror_r): Fix return type.
19243
19244 2011-01-21  Pádraig Brady  <P@draigBrady.com>
19245             Bruno Haible  <bruno@clisp.org>
19246
19247         uN_strstr: New unit tests.
19248         * modules/unistr/u8-strstr-tests: New file.
19249         * modules/unistr/u16-strstr-tests: New file.
19250         * modules/unistr/u32-strstr-tests: New file.
19251         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
19252         * tests/unistr/test-u8-strstr.c: New file.
19253         * tests/unistr/test-u16-strstr.c: New file.
19254         * tests/unistr/test-u32-strstr.c: New file.
19255
19256 2011-01-21  Pádraig Brady  <P@draigBrady.com>
19257             Bruno Haible  <bruno@clisp.org>
19258
19259         Make uN_strstr functions O(n) worst-case.
19260         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
19261         16-bit and 32-bit unit cases, use the unibyte algorithm from
19262         lib/mbsstr.c.
19263         * lib/unistr/u8-strstr.c: Include <string.h>.
19264         (UNIT_IS_UINT8_T): New macro.
19265         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
19266         (U_STRLEN, U_STRNLEN): New macros.
19267         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
19268         (U_STRLEN, U_STRNLEN): New macros.
19269         * modules/unistr/u8-strstr (Depends-on): Add strstr.
19270         (configure.ac): Update required libunistring version.
19271         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
19272         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
19273         malloca.
19274         (configure.ac): Update required libunistring version.
19275         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
19276         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
19277         malloca.
19278         (configure.ac): Update required libunistring version.
19279
19280 2011-01-21  Pádraig Brady  <P@draigBrady.com>
19281             Bruno Haible  <bruno@clisp.org>
19282
19283         Prepare for faster uN_strstr functions.
19284         * lib/str-kmp.h: Support definable UNITs.
19285         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
19286         needle_len argument.
19287         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
19288         * lib/mbscasestr.c (mbscasestr): Likewise.
19289
19290 2011-01-21  Pádraig Brady <P@draigBrady.com>
19291
19292         malloca-tests: make faster by unsetting MALLOC_PERTURB_
19293         * tests/test-malloca.c (main): Unset the environment variable
19294         to greatly speed up the test.
19295         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
19296         * modules/malloca-tests: Depend on unsetenv.
19297
19298 2011-01-21  Pádraig Brady <P@draigBrady.com>
19299
19300         ignore-value: remove stdint dependency
19301         * lib/ignore-value.h: Remove <stdint.h>
19302         * modules/ignore-value: Remove stdint dependency.
19303
19304 2011-01-21  Jim Meyering  <meyering@redhat.com>
19305
19306         maint.mk: adjust variable name to be consistent with other gl_ vars
19307         * top/maint.mk (gl_public_submodule_commit): Rename the variable
19308         to be lower case.
19309
19310 2011-01-20  Jim Meyering  <meyering@redhat.com>
19311
19312         maint.mk: make "check" depend on public-submodule-commit by default
19313         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
19314
19315 2011-01-20  Bruno Haible  <bruno@clisp.org>
19316
19317         mbfile, mbiter: Complete change from 2008-12-21.
19318         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
19319         * m4/mbiter.m4 (gl_MBITER): Likewise.
19320
19321 2011-01-20  Jim Meyering  <meyering@redhat.com>
19322
19323         init.sh: insert space between each function name and "()"
19324         * tests/init.sh: Make it a little easier to see that a function's
19325         name is "warn_", and not "warn" when looking at the first part of
19326         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
19327
19328 2011-01-20  Jim Meyering  <meyering@redhat.com>
19329
19330         mountlist: clean up code formatting
19331         * lib/mountlist.c (read_file_system_list): Split a long line,
19332         correct bracing style, use NULL in place of "(struct statfs *)0",
19333         don't parenthesize return value, add spaces around "=" and after
19334         ";-in-for-stmt".
19335
19336 2011-01-14  Markus Duft <mduft@gentoo.org>
19337
19338         mountlist: add support for Interix
19339         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
19340         Apply statvfs to all entries of /dev/fs.
19341         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
19342         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
19343
19344 2011-01-20  Jim Meyering  <meyering@redhat.com>
19345
19346         maint.mk: improve the public-submodule-commit rule
19347         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
19348         to suppress printing of its commands... unless V=1.
19349         Add git submodule's --quiet option to suppress printing of e.g.,
19350         "Entering gnulib" output.
19351         "cd" into $(srcdir) before running git submodule.
19352
19353 2011-01-20  Bruno Haible  <bruno@clisp.org>
19354
19355         include_next: Fix bug introduced on 2011-01-18.
19356         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
19357         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
19358         ac_cv_header_... variable if the second argument is not 'check'.
19359         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
19360         gl_NEXT_HEADERS_INTERNAL.
19361
19362 2011-01-20  Bruno Haible  <bruno@clisp.org>
19363
19364         Allow the user to avoid the GNULIB_TEST_* macros.
19365         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
19366         Suggested by Paul Eggert.
19367
19368 2011-01-14  Jim Meyering  <meyering@redhat.com>
19369
19370         bootstrap: avoid failure when there is no .gitmodules file
19371         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
19372         has been assigned to, even when its value is the empty string.
19373         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
19374         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
19375         Reported by John W. Eaton <jwe@gnu.org>.
19376
19377 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
19378
19379         assume <ctype.h>, ..., <time.h> exist
19380         For years gnulib has been assuming the existence of the headers
19381         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
19382         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
19383         them, since they don't appear to be needed.
19384         * README (Portability guidelines): Document this.
19385         * lib/flock.c: Assume <fcntl.h> exists.
19386         * lib/regex_internal.h: Assume <locale.h> exists.
19387         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
19388         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
19389         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
19390         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
19391         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
19392         * m4/regex.m4 (gl_REGEX): Likewise.
19393         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
19394         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
19395         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
19396         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
19397         * tests/test-argp.c: Likewise.
19398         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
19399
19400         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
19401         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
19402         AA_APPLE_UNIVERSAL_BUILD.  See
19403         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
19404         * NEWS: Document this.
19405
19406 2011-01-19  Eric Blake  <eblake@redhat.com>
19407
19408         c-stack: assume stack overflow if SA_SIGINFO unsupported
19409         * lib/c-stack.c (SIGACTION_WORKS): Rename...
19410         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
19411         sigaction will work.
19412         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
19413         behavior match Linux.
19414         * tests/test-c-stack.c (main): Prefer NULL for pointers.
19415
19416         stdbool-tests: accomodate Haiku
19417         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
19418
19419         binary-io: fix O_TEXT on Haiku
19420         * modules/binary-io (Depends-on): Add fcntl-h.
19421         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
19422         than blindly undefining O_TEXT.
19423         Reported by Scott McCreary.
19424
19425 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
19426
19427         include_next: do not check for standard headers like stddef.h
19428
19429         I found this problem when modifying Emacs to use gnulib.
19430         I noticed that it added HAVE_STDDEF_H to config.h, even though
19431         gnulib always assumes <stddef.h> exists as per README and this
19432         symbol is unnecessary.
19433         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
19434         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
19435         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
19436         faster for headers like stddef.h that are known to exist.
19437         (gl_CHECK_NEXT_HEADERS): Use it.
19438         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
19439         rather than gl_CHECK_NEXT_HEADERS.
19440         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
19441         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
19442
19443 2011-01-18  Eric Blake  <eblake@redhat.com>
19444
19445         ansi-c++-opt: skip C++ dependency style if C++ is unused
19446         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
19447         tests when we know C++ compilation is not desired.
19448         Reported by Scott McCreary.
19449
19450 2011-01-18  Bruno Haible  <bruno@clisp.org>
19451
19452         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
19453         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
19454         (main): Perform test also when getrlimit and setrlimit don't exist or
19455         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
19456         limiting the address space size using setrlimit, compare the address
19457         space size before and after the the test.
19458         * tests/test-dprintf-posix2.c: Likewise.
19459         * tests/test-fprintf-posix3.sh: Update skip messages.
19460         * tests/test-dprintf-posix2.sh: Likewise.
19461         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
19462         * modules/dprintf-posix-tests (Depends-on): Likewise.
19463         Reported by Bruce Korb <bkorb@gnu.org> and
19464         Gary V. Vaughan <gary@gnu.org>.
19465
19466 2011-01-18  Bruno Haible  <bruno@clisp.org>
19467
19468         get-rusage-as: Improvement for Cygwin.
19469         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
19470         areas that are merely reserved.
19471
19472 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
19473
19474         strftime: remove dependencies on multibyte modules
19475
19476         strftime depended on mbrlen, mbsinit, and wchar, but these modules
19477         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
19478         only if __osf__ is defined, and I suspect OSF doesn't need these
19479         other modules.  If my guess is wrong, we'll need to come up with a
19480         variant of strftime that doesn't need the multibyte modules.
19481
19482         I discovered this problem when attempting modify Emacs to use the
19483         strftime module.  With the previous gnulib, this caused Emacs to
19484         need 31 new files, ranging from lib/config.charset to
19485         m4/wint_t.m4.  This was overkill and I expect would be offputting
19486         to the Emacs maintainers.  After this change, only 6 new files are
19487         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
19488         stdbool.m4, and tm_gmtoff.m4.
19489
19490         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
19491         Suggested by Bruno Haible in
19492         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
19493         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
19494         and do not check for wchar.h.
19495         * modules/strftime (Files): Remove m4/mbstate_t.m4.
19496         (Depends-on): Remove mbrlen, mbsinit, wchar.
19497
19498 2011-01-18  Bruno Haible  <bruno@clisp.org>
19499
19500         Tests for module 'get-rusage-as'.
19501         * modules/get-rusage-as-tests: New file.
19502         * tests/test-get-rusage-as.c: New file.
19503
19504         New module 'get-rusage-as'.
19505         * modules/get-rusage-as: New file.
19506         * lib/resource-ext.h: New file.
19507         * lib/get-rusage-as.c: New file.
19508
19509 2011-01-17  Eric Blake  <eblake@redhat.com>
19510
19511         sigaction: relax license from LGPLv3+ to LGPLv2+
19512         * modules/sigaction (License): Relax to LGPLv2+.
19513
19514 2011-01-14  Bruno Haible  <bruno@clisp.org>
19515
19516         filemode: Make function declarations usable in C++ mode.
19517         * lib/filemode.h: Enclose function declarations in extern "C" block.
19518         Reported by John W. Eaton <jwe@gnu.org>.
19519
19520 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
19521
19522         save-cwd: no longer include "xgetcwd.h"
19523         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
19524         This avoids a compilation failure in projects that use save-cwd
19525         without also using the xgetcwd module.
19526
19527 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
19528
19529         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
19530         This is so that a program like Emacs, which needs only dtoastr,
19531         does not have to bother with distributing and compiling ftoastr
19532         and ldtoastr.
19533         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
19534         * modules/dtoastr, modules/ldtoastr: New files.
19535         * modules/ftoastr: Now works just for 'float'.
19536         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
19537         (Makefile.am): Remove ftoastr.h (not needed and no effect),
19538         dtoastr.c, ldtoastr.c.
19539
19540 2011-01-11  Jim Meyering  <meyering@redhat.com>
19541
19542         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
19543         There is no need to work around the lack of the fchdir function,
19544         since gnulib can now provide a replacement when required.
19545         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
19546         * modules/save-cwd (Depends-on): Add fchdir.
19547
19548 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
19549
19550         openat, save-cwd: avoid xmalloc
19551
19552         This removes a direct (but undocumented) dependency of openat on
19553         xalloc, along with an indirect dependency via save-cwd.  It also
19554         removes a dependency of save-cwd on xgetcwd, and thereby
19555         indirectly on xalloc.  This change causes the openat substitute
19556         to fall back on save_cwd when memory is tight, and for save_cwd to
19557         fail instead of dying when memory is tight, but that's good enough.
19558         Problem and initial idea for fix reported by Bastien Roucaries in
19559         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
19560
19561         * lib/openat-proc.c: Include stdlib.h (for malloc), not
19562         xalloc.h (for xmalloc).
19563         (openat_proc_name): Use malloc, not xmalloc.
19564         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
19565         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
19566
19567         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
19568         This avoids heap allocation for file names whose lengths are in
19569         the range 512..1023, with the upper bound increasing to at most
19570         4031 depending on the platform's PATH_MAX.  (We do not want
19571         pathmax.h here as it might supply a non-constant PATH_MAX.)
19572         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
19573         Perhaps they should be moved to malloca.h?
19574         (OPENAT_BUFFER_SIZE): Use them.
19575
19576 2011-01-10  Bruno Haible  <bruno@clisp.org>
19577
19578         doc: Update users.txt.
19579         * users.txt: Add recutils.
19580
19581 2011-01-09  Karl Berry  <karl@gnu.org>
19582
19583         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
19584
19585         * doc/configmake.texi: New file.
19586         * doc/gnulib.texi: Include it.
19587         * modules/configmake: Move documentation from here.
19588
19589 2011-01-09  Bruno Haible  <bruno@clisp.org>
19590
19591         Update to Unicode 6.0.0.
19592         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
19593         (get_lbp): Update for Unicode 6.0.0.
19594         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
19595         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
19596         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
19597         U+11001, U+11038..U+11046. Remove U+06DE.
19598         (uc_width): Fix bounds of planes.
19599         * tests/uniwidth/test-uc_width2.sh: Same updates as in
19600         lib/uniwidth/width.c.
19601         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
19602         trailing whitespace removed.
19603         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
19604         without comments, but with the original copyright notice.
19605         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
19606         * lib/unicase/ignorable.h: Likewise.
19607         * lib/unicase/tocasefold.h: Likewise.
19608         * lib/unicase/tolower.h: Likewise.
19609         * lib/unicase/totitle.h: Likewise.
19610         * lib/unicase/toupper.h: Likewise.
19611         * lib/unictype/bidi_of.h: Likewise.
19612         * lib/unictype/blocks.h: Likewise.
19613         * lib/unictype/categ_C.h: Likewise.
19614         * lib/unictype/categ_Cn.h: Likewise.
19615         * lib/unictype/categ_L.h: Likewise.
19616         * lib/unictype/categ_Ll.h: Likewise.
19617         * lib/unictype/categ_Lm.h: Likewise.
19618         * lib/unictype/categ_Lo.h: Likewise.
19619         * lib/unictype/categ_Lu.h: Likewise.
19620         * lib/unictype/categ_M.h: Likewise.
19621         * lib/unictype/categ_Mc.h: Likewise.
19622         * lib/unictype/categ_Me.h: Likewise.
19623         * lib/unictype/categ_Mn.h: Likewise.
19624         * lib/unictype/categ_N.h: Likewise.
19625         * lib/unictype/categ_Nd.h: Likewise.
19626         * lib/unictype/categ_No.h: Likewise.
19627         * lib/unictype/categ_P.h: Likewise.
19628         * lib/unictype/categ_Po.h: Likewise.
19629         * lib/unictype/categ_S.h: Likewise.
19630         * lib/unictype/categ_Sc.h: Likewise.
19631         * lib/unictype/categ_Sk.h: Likewise.
19632         * lib/unictype/categ_Sm.h: Likewise.
19633         * lib/unictype/categ_So.h: Likewise.
19634         * lib/unictype/categ_of.h: Likewise.
19635         * lib/unictype/combining.h: Likewise.
19636         * lib/unictype/ctype_alnum.h: Likewise.
19637         * lib/unictype/ctype_alpha.h: Likewise.
19638         * lib/unictype/ctype_graph.h: Likewise.
19639         * lib/unictype/ctype_lower.h: Likewise.
19640         * lib/unictype/ctype_print.h: Likewise.
19641         * lib/unictype/ctype_punct.h: Likewise.
19642         * lib/unictype/ctype_upper.h: Likewise.
19643         * lib/unictype/decdigit.h: Likewise.
19644         * lib/unictype/digit.h: Likewise.
19645         * lib/unictype/numeric.h: Likewise.
19646         * lib/unictype/pr_alphabetic.h: Likewise.
19647         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
19648         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
19649         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
19650         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
19651         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
19652         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
19653         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
19654         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
19655         * lib/unictype/pr_case_ignorable.h: Likewise.
19656         * lib/unictype/pr_cased.h: Likewise.
19657         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
19658         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
19659         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
19660         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
19661         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
19662         * lib/unictype/pr_combining.h: Likewise.
19663         * lib/unictype/pr_composite.h: Likewise.
19664         * lib/unictype/pr_currency_symbol.h: Likewise.
19665         * lib/unictype/pr_decimal_digit.h: Likewise.
19666         * lib/unictype/pr_deprecated.h: Likewise.
19667         * lib/unictype/pr_format_control.h: Likewise.
19668         * lib/unictype/pr_grapheme_base.h: Likewise.
19669         * lib/unictype/pr_grapheme_extend.h: Likewise.
19670         * lib/unictype/pr_grapheme_link.h: Likewise.
19671         * lib/unictype/pr_id_continue.h: Likewise.
19672         * lib/unictype/pr_id_start.h: Likewise.
19673         * lib/unictype/pr_ideographic.h: Likewise.
19674         * lib/unictype/pr_lowercase.h: Likewise.
19675         * lib/unictype/pr_math.h: Likewise.
19676         * lib/unictype/pr_numeric.h: Likewise.
19677         * lib/unictype/pr_other_alphabetic.h: Likewise.
19678         * lib/unictype/pr_other_id_continue.h: Likewise.
19679         * lib/unictype/pr_other_math.h: Likewise.
19680         * lib/unictype/pr_punctuation.h: Likewise.
19681         * lib/unictype/pr_sentence_terminal.h: Likewise.
19682         * lib/unictype/pr_terminal_punctuation.h: Likewise.
19683         * lib/unictype/pr_unassigned_code_value.h: Likewise.
19684         * lib/unictype/pr_unified_ideograph.h: Likewise.
19685         * lib/unictype/pr_uppercase.h: Likewise.
19686         * lib/unictype/pr_xid_continue.h: Likewise.
19687         * lib/unictype/pr_xid_start.h: Likewise.
19688         * lib/unictype/scripts.h: Likewise.
19689         * lib/unictype/scripts_byname.gperf: Likewise.
19690         * lib/unictype/sy_java_ident.h: Likewise.
19691         * lib/unigbrk/gbrkprop.h: Likewise.
19692         * lib/unilbrk/lbrkprop1.h: Likewise.
19693         * lib/unilbrk/lbrkprop2.h: Likewise.
19694         * lib/uninorm/decomposition-table2.h: Likewise.
19695         * lib/uniwbrk/wbrkprop.h: Likewise.
19696         * tests/unicase/test-cased.c: Likewise.
19697         * tests/unicase/test-ignorable.c: Likewise.
19698         * tests/unicase/test-uc_tolower.c: Likewise.
19699         * tests/unicase/test-uc_totitle.c: Likewise.
19700         * tests/unicase/test-uc_toupper.c: Likewise.
19701         * tests/unictype/test-categ_C.c: Likewise.
19702         * tests/unictype/test-categ_Cn.c: Likewise.
19703         * tests/unictype/test-categ_L.c: Likewise.
19704         * tests/unictype/test-categ_Ll.c: Likewise.
19705         * tests/unictype/test-categ_Lm.c: Likewise.
19706         * tests/unictype/test-categ_Lo.c: Likewise.
19707         * tests/unictype/test-categ_Lu.c: Likewise.
19708         * tests/unictype/test-categ_M.c: Likewise.
19709         * tests/unictype/test-categ_Mc.c: Likewise.
19710         * tests/unictype/test-categ_Me.c: Likewise.
19711         * tests/unictype/test-categ_Mn.c: Likewise.
19712         * tests/unictype/test-categ_N.c: Likewise.
19713         * tests/unictype/test-categ_Nd.c: Likewise.
19714         * tests/unictype/test-categ_No.c: Likewise.
19715         * tests/unictype/test-categ_P.c: Likewise.
19716         * tests/unictype/test-categ_Po.c: Likewise.
19717         * tests/unictype/test-categ_S.c: Likewise.
19718         * tests/unictype/test-categ_Sc.c: Likewise.
19719         * tests/unictype/test-categ_Sk.c: Likewise.
19720         * tests/unictype/test-categ_Sm.c: Likewise.
19721         * tests/unictype/test-categ_So.c: Likewise.
19722         * tests/unictype/test-ctype_alnum.c: Likewise.
19723         * tests/unictype/test-ctype_alpha.c: Likewise.
19724         * tests/unictype/test-ctype_graph.c: Likewise.
19725         * tests/unictype/test-ctype_lower.c: Likewise.
19726         * tests/unictype/test-ctype_print.c: Likewise.
19727         * tests/unictype/test-ctype_punct.c: Likewise.
19728         * tests/unictype/test-ctype_upper.c: Likewise.
19729         * tests/unictype/test-decdigit.h: Likewise.
19730         * tests/unictype/test-digit.h: Likewise.
19731         * tests/unictype/test-numeric.h: Likewise.
19732         * tests/unictype/test-pr_alphabetic.c: Likewise.
19733         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
19734         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
19735         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
19736         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
19737         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
19738         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
19739         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
19740         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
19741         * tests/unictype/test-pr_case_ignorable.c: Likewise.
19742         * tests/unictype/test-pr_cased.c: Likewise.
19743         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
19744         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
19745         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
19746         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
19747         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
19748         * tests/unictype/test-pr_combining.c: Likewise.
19749         * tests/unictype/test-pr_composite.c: Likewise.
19750         * tests/unictype/test-pr_currency_symbol.c: Likewise.
19751         * tests/unictype/test-pr_decimal_digit.c: Likewise.
19752         * tests/unictype/test-pr_deprecated.c: Likewise.
19753         * tests/unictype/test-pr_format_control.c: Likewise.
19754         * tests/unictype/test-pr_grapheme_base.c: Likewise.
19755         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
19756         * tests/unictype/test-pr_grapheme_link.c: Likewise.
19757         * tests/unictype/test-pr_id_continue.c: Likewise.
19758         * tests/unictype/test-pr_id_start.c: Likewise.
19759         * tests/unictype/test-pr_ideographic.c: Likewise.
19760         * tests/unictype/test-pr_lowercase.c: Likewise.
19761         * tests/unictype/test-pr_math.c: Likewise.
19762         * tests/unictype/test-pr_numeric.c: Likewise.
19763         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
19764         * tests/unictype/test-pr_other_id_continue.c: Likewise.
19765         * tests/unictype/test-pr_other_math.c: Likewise.
19766         * tests/unictype/test-pr_punctuation.c: Likewise.
19767         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
19768         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
19769         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
19770         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
19771         * tests/unictype/test-pr_uppercase.c: Likewise.
19772         * tests/unictype/test-pr_xid_continue.c: Likewise.
19773         * tests/unictype/test-pr_xid_start.c: Likewise.
19774         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
19775         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
19776         changes.
19777         * lib/unictype/categ_Cc.h: Likewise.
19778         * lib/unictype/categ_Cf.h: Likewise.
19779         * lib/unictype/categ_Co.h: Likewise.
19780         * lib/unictype/categ_Cs.h: Likewise.
19781         * lib/unictype/categ_Lt.h: Likewise.
19782         * lib/unictype/categ_Nl.h: Likewise.
19783         * lib/unictype/categ_Pc.h: Likewise.
19784         * lib/unictype/categ_Pd.h: Likewise.
19785         * lib/unictype/categ_Pe.h: Likewise.
19786         * lib/unictype/categ_Pf.h: Likewise.
19787         * lib/unictype/categ_Pi.h: Likewise.
19788         * lib/unictype/categ_Ps.h: Likewise.
19789         * lib/unictype/categ_Z.h: Likewise.
19790         * lib/unictype/categ_Zl.h: Likewise.
19791         * lib/unictype/categ_Zp.h: Likewise.
19792         * lib/unictype/categ_Zs.h: Likewise.
19793         * lib/unictype/ctype_blank.h: Likewise.
19794         * lib/unictype/ctype_cntrl.h: Likewise.
19795         * lib/unictype/ctype_digit.h: Likewise.
19796         * lib/unictype/ctype_space.h: Likewise.
19797         * lib/unictype/ctype_xdigit.h: Likewise.
19798         * lib/unictype/mirror.h: Likewise.
19799         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
19800         * lib/unictype/pr_bidi_block_separator.h: Likewise.
19801         * lib/unictype/pr_bidi_common_separator.h: Likewise.
19802         * lib/unictype/pr_bidi_control.h: Likewise.
19803         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
19804         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
19805         * lib/unictype/pr_bidi_european_digit.h: Likewise.
19806         * lib/unictype/pr_bidi_pdf.h: Likewise.
19807         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
19808         * lib/unictype/pr_bidi_whitespace.h: Likewise.
19809         * lib/unictype/pr_dash.h: Likewise.
19810         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
19811         * lib/unictype/pr_diacritic.h: Likewise.
19812         * lib/unictype/pr_extender.h: Likewise.
19813         * lib/unictype/pr_hex_digit.h: Likewise.
19814         * lib/unictype/pr_hyphen.h: Likewise.
19815         * lib/unictype/pr_ids_binary_operator.h: Likewise.
19816         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
19817         * lib/unictype/pr_ignorable_control.h: Likewise.
19818         * lib/unictype/pr_iso_control.h: Likewise.
19819         * lib/unictype/pr_join_control.h: Likewise.
19820         * lib/unictype/pr_left_of_pair.h: Likewise.
19821         * lib/unictype/pr_line_separator.h: Likewise.
19822         * lib/unictype/pr_logical_order_exception.h: Likewise.
19823         * lib/unictype/pr_non_break.h: Likewise.
19824         * lib/unictype/pr_not_a_character.h: Likewise.
19825         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
19826         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
19827         * lib/unictype/pr_other_id_start.h: Likewise.
19828         * lib/unictype/pr_other_lowercase.h: Likewise.
19829         * lib/unictype/pr_other_uppercase.h: Likewise.
19830         * lib/unictype/pr_paired_punctuation.h: Likewise.
19831         * lib/unictype/pr_paragraph_separator.h: Likewise.
19832         * lib/unictype/pr_pattern_syntax.h: Likewise.
19833         * lib/unictype/pr_pattern_white_space.h: Likewise.
19834         * lib/unictype/pr_private_use.h: Likewise.
19835         * lib/unictype/pr_quotation_mark.h: Likewise.
19836         * lib/unictype/pr_radical.h: Likewise.
19837         * lib/unictype/pr_soft_dotted.h: Likewise.
19838         * lib/unictype/pr_space.h: Likewise.
19839         * lib/unictype/pr_titlecase.h: Likewise.
19840         * lib/unictype/pr_variation_selector.h: Likewise.
19841         * lib/unictype/pr_white_space.h: Likewise.
19842         * lib/unictype/pr_zero_width.h: Likewise.
19843         * lib/unictype/sy_c_ident.h: Likewise.
19844         * lib/unictype/sy_c_whitespace.h: Likewise.
19845         * lib/unictype/sy_java_whitespace.h: Likewise.
19846         * lib/uninorm/composition-table.gperf: Likewise.
19847         * lib/uninorm/decomposition-table1.h: Likewise.
19848         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
19849         LB8.
19850         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
19851         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
19852         * modules/unictype/*: Bump version number of expected libunistring
19853         version.
19854
19855 2011-01-09  Bruno Haible  <bruno@clisp.org>
19856
19857         Update to Unicode 5.2.0.
19858         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
19859         trailing whitespace removed.
19860
19861 2011-01-09  Bruno Haible  <bruno@clisp.org>
19862
19863         New Unicode character properties, from Unicode 5.2.0.
19864         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
19865         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
19866         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
19867         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
19868         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
19869         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
19870         uc_is_property_cased, uc_is_property_case_ignorable,
19871         uc_is_property_changes_when_lowercased,
19872         uc_is_property_changes_when_uppercased,
19873         uc_is_property_changes_when_titlecased,
19874         uc_is_property_changes_when_casefolded,
19875         uc_is_property_changes_when_casemapped): New declarations.
19876         * lib/unictype/pr_byname.gperf: Add the new properties.
19877         * modules/unictype/property-byname (Depends-on): Depend on the new
19878         properties modules.
19879         * modules/unictype/property-all (Depends-on): Likewise.
19880         * MODULES.html.sh (Unicode string functions): Add
19881         unictype/property-case-ignorable, unictype/property-cased,
19882         unictype/property-changes-when-casefolded,
19883         unictype/property-changes-when-casemapped,
19884         unictype/property-changes-when-lowercased,
19885         unictype/property-changes-when-titlecased,
19886         unictype/property-changes-when-uppercased.
19887
19888         New module 'unictype/property-changes-when-casemapped'.
19889         * modules/unictype/property-changes-when-casemapped: New file.
19890         * lib/unictype/pr_changes_when_casemapped.c: New file.
19891         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
19892         generated by gen-uni-tables.
19893         * modules/unictype/property-changes-when-casemapped-tests: New file.
19894         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
19895         automatically generated by gen-uni-tables.
19896
19897         New module 'unictype/property-changes-when-casefolded'.
19898         * modules/unictype/property-changes-when-casefolded: New file.
19899         * lib/unictype/pr_changes_when_casefolded.c: New file.
19900         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
19901         generated by gen-uni-tables.
19902         * modules/unictype/property-changes-when-casefolded-tests: New file.
19903         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
19904         automatically generated by gen-uni-tables.
19905
19906         New module 'unictype/property-changes-when-titlecased'.
19907         * modules/unictype/property-changes-when-titlecased: New file.
19908         * lib/unictype/pr_changes_when_titlecased.c: New file.
19909         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
19910         generated by gen-uni-tables.
19911         * modules/unictype/property-changes-when-titlecased-tests: New file.
19912         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
19913         automatically generated by gen-uni-tables.
19914
19915         New module 'unictype/property-changes-when-uppercased'.
19916         * modules/unictype/property-changes-when-uppercased: New file.
19917         * lib/unictype/pr_changes_when_uppercased.c: New file.
19918         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
19919         generated by gen-uni-tables.
19920         * modules/unictype/property-changes-when-uppercased-tests: New file.
19921         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
19922         automatically generated by gen-uni-tables.
19923
19924         New module 'unictype/property-changes-when-lowercased'.
19925         * modules/unictype/property-changes-when-lowercased: New file.
19926         * lib/unictype/pr_changes_when_lowercased.c: New file.
19927         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
19928         generated by gen-uni-tables.
19929         * modules/unictype/property-changes-when-lowercased-tests: New file.
19930         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
19931         automatically generated by gen-uni-tables.
19932
19933         New module 'unictype/property-case-ignorable'.
19934         * modules/unictype/property-case-ignorable: New file.
19935         * lib/unictype/pr_case_ignorable.c: New file.
19936         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
19937         by gen-uni-tables.
19938         * modules/unictype/property-case-ignorable-tests: New file.
19939         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
19940         generated by gen-uni-tables.
19941
19942         New module 'unictype/property-cased'.
19943         * modules/unictype/property-cased: New file.
19944         * lib/unictype/pr_cased.c: New file.
19945         * lib/unictype/pr_cased.h: New file, automatically generated by
19946         gen-uni-tables.
19947         * modules/unictype/property-cased-tests: New file.
19948         * tests/unictype/test-pr_cased.c: New file, automatically generated by
19949         gen-uni-tables.
19950
19951 2011-01-09  Bruno Haible  <bruno@clisp.org>
19952
19953         Update to Unicode 5.2.0.
19954         * lib/gen-uni-tables.c (output_predicate, output_category,
19955         output_combclass, output_bidi_category, output_decimal_digit_test,
19956         output_decimal_digit, output_digit_test, output_digit,
19957         output_numeric_test, output_numeric, output_mirror, output_scripts,
19958         output_scripts_byname, output_blocks, output_ident_category): Fix
19959         comment header.
19960         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
19961         get_wbp.
19962         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
19963         items.
19964         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
19965         Changes_When_Lowercased, Changes_When_Uppercased,
19966         Changes_When_Titlecased, Changes_When_Casefolded,
19967         Changes_When_Casemapped.
19968         (is_property_alphabetic, is_property_default_ignorable_code_point):
19969         Update for Unicode 5.2.0.
19970         (is_property_cased, is_property_case_ignorable,
19971         is_property_changes_when_lowercased,
19972         is_property_changes_when_uppercased,
19973         is_property_changes_when_titlecased,
19974         is_property_changes_when_casefolded,
19975         is_property_changes_when_casemapped): New functions.
19976         (output_properties): Output also the properties cased, case_ignorable,
19977         changes_when_lowercased, changes_when_uppercased,
19978         changes_when_titlecased, changes_when_casefolded,
19979         changes_when_casemapped.
19980         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
19981         Unicode TR#11 revision 17 -> 19.
19982         (LBP_CP): New enumeration value.
19983         (LBP_*): Adjust values accordingly.
19984         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
19985         TR#14 revision 22 -> 24.
19986         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
19987         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
19988         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
19989         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
19990         is_WBP_MIDLETTER.
19991         (output_composition_tables): Allow for 24 bits instead of 16 bits in
19992         the code1 and code2 of each composition rule.
19993         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
19994         * lib/unicase/ignorable.h: Likewise.
19995         * lib/unicase/tocasefold.h: Likewise.
19996         * lib/unicase/tolower.h: Likewise.
19997         * lib/unicase/totitle.h: Likewise.
19998         * lib/unicase/toupper.h: Likewise.
19999         * lib/unictype/bidi_of.h: Likewise.
20000         * lib/unictype/blocks.h: Likewise.
20001         * lib/unictype/categ_C.h: Likewise.
20002         * lib/unictype/categ_Cf.h: Likewise.
20003         * lib/unictype/categ_Cn.h: Likewise.
20004         * lib/unictype/categ_L.h: Likewise.
20005         * lib/unictype/categ_Ll.h: Likewise.
20006         * lib/unictype/categ_Lm.h: Likewise.
20007         * lib/unictype/categ_Lo.h: Likewise.
20008         * lib/unictype/categ_Lu.h: Likewise.
20009         * lib/unictype/categ_M.h: Likewise.
20010         * lib/unictype/categ_Mc.h: Likewise.
20011         * lib/unictype/categ_Mn.h: Likewise.
20012         * lib/unictype/categ_N.h: Likewise.
20013         * lib/unictype/categ_Nd.h: Likewise.
20014         * lib/unictype/categ_Nl.h: Likewise.
20015         * lib/unictype/categ_No.h: Likewise.
20016         * lib/unictype/categ_P.h: Likewise.
20017         * lib/unictype/categ_Pd.h: Likewise.
20018         * lib/unictype/categ_Po.h: Likewise.
20019         * lib/unictype/categ_S.h: Likewise.
20020         * lib/unictype/categ_Sc.h: Likewise.
20021         * lib/unictype/categ_So.h: Likewise.
20022         * lib/unictype/categ_of.h: Likewise.
20023         * lib/unictype/combining.h: Likewise.
20024         * lib/unictype/ctype_alnum.h: Likewise.
20025         * lib/unictype/ctype_alpha.h: Likewise.
20026         * lib/unictype/ctype_graph.h: Likewise.
20027         * lib/unictype/ctype_lower.h: Likewise.
20028         * lib/unictype/ctype_print.h: Likewise.
20029         * lib/unictype/ctype_punct.h: Likewise.
20030         * lib/unictype/ctype_upper.h: Likewise.
20031         * lib/unictype/decdigit.h: Likewise.
20032         * lib/unictype/digit.h: Likewise.
20033         * lib/unictype/numeric.h: Likewise.
20034         * lib/unictype/pr_alphabetic.h: Likewise.
20035         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
20036         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
20037         * lib/unictype/pr_bidi_european_digit.h: Likewise.
20038         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
20039         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
20040         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
20041         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
20042         * lib/unictype/pr_combining.h: Likewise.
20043         * lib/unictype/pr_composite.h: Likewise.
20044         * lib/unictype/pr_currency_symbol.h: Likewise.
20045         * lib/unictype/pr_dash.h: Likewise.
20046         * lib/unictype/pr_decimal_digit.h: Likewise.
20047         * lib/unictype/pr_deprecated.h: Likewise.
20048         * lib/unictype/pr_diacritic.h: Likewise.
20049         * lib/unictype/pr_extender.h: Likewise.
20050         * lib/unictype/pr_grapheme_base.h: Likewise.
20051         * lib/unictype/pr_grapheme_extend.h: Likewise.
20052         * lib/unictype/pr_grapheme_link.h: Likewise.
20053         * lib/unictype/pr_id_continue.h: Likewise.
20054         * lib/unictype/pr_id_start.h: Likewise.
20055         * lib/unictype/pr_ideographic.h: Likewise.
20056         * lib/unictype/pr_ignorable_control.h: Likewise.
20057         * lib/unictype/pr_logical_order_exception.h: Likewise.
20058         * lib/unictype/pr_lowercase.h: Likewise.
20059         * lib/unictype/pr_numeric.h: Likewise.
20060         * lib/unictype/pr_other_alphabetic.h: Likewise.
20061         * lib/unictype/pr_punctuation.h: Likewise.
20062         * lib/unictype/pr_sentence_terminal.h: Likewise.
20063         * lib/unictype/pr_terminal_punctuation.h: Likewise.
20064         * lib/unictype/pr_unassigned_code_value.h: Likewise.
20065         * lib/unictype/pr_unified_ideograph.h: Likewise.
20066         * lib/unictype/pr_uppercase.h: Likewise.
20067         * lib/unictype/pr_xid_continue.h: Likewise.
20068         * lib/unictype/pr_xid_start.h: Likewise.
20069         * lib/unictype/pr_zero_width.h: Likewise.
20070         * lib/unictype/scripts.h: Likewise.
20071         * lib/unictype/scripts_byname.gperf: Likewise.
20072         * lib/unictype/sy_java_ident.h: Likewise.
20073         * lib/unigbrk/gbrkprop.h: Likewise.
20074         * lib/unilbrk/lbrkprop1.h: Likewise.
20075         * lib/unilbrk/lbrkprop2.h: Likewise.
20076         * lib/unilbrk/lbrktables.h: Likewise.
20077         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
20078         LBP_CP. Implement rule LB30.
20079         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
20080         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
20081         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
20082         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
20083         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
20084         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
20085         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
20086         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
20087         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
20088         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
20089         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
20090         bits instead of 16 bits in the code1 and code2 of each composition
20091         rule.
20092         (uc_composition): Update for Unicode 5.2.0.
20093         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
20094         * lib/uninorm/decomposition-table2.h: Likewise.
20095         * lib/uniwbrk/wbrkprop.h: Likewise.
20096         * tests/unicase/test-cased.c: Likewise.
20097         * tests/unicase/test-ignorable.c: Likewise.
20098         * tests/unicase/test-uc_tolower.c: Likewise.
20099         * tests/unicase/test-uc_totitle.c: Likewise.
20100         * tests/unicase/test-uc_toupper.c: Likewise.
20101         * tests/unictype/test-categ_C.c: Likewise.
20102         * tests/unictype/test-categ_Cf.c: Likewise.
20103         * tests/unictype/test-categ_Cn.c: Likewise.
20104         * tests/unictype/test-categ_L.c: Likewise.
20105         * tests/unictype/test-categ_Ll.c: Likewise.
20106         * tests/unictype/test-categ_Lm.c: Likewise.
20107         * tests/unictype/test-categ_Lo.c: Likewise.
20108         * tests/unictype/test-categ_Lu.c: Likewise.
20109         * tests/unictype/test-categ_M.c: Likewise.
20110         * tests/unictype/test-categ_Mc.c: Likewise.
20111         * tests/unictype/test-categ_Mn.c: Likewise.
20112         * tests/unictype/test-categ_N.c: Likewise.
20113         * tests/unictype/test-categ_Nd.c: Likewise.
20114         * tests/unictype/test-categ_Nl.c: Likewise.
20115         * tests/unictype/test-categ_No.c: Likewise.
20116         * tests/unictype/test-categ_P.c: Likewise.
20117         * tests/unictype/test-categ_Pd.c: Likewise.
20118         * tests/unictype/test-categ_Po.c: Likewise.
20119         * tests/unictype/test-categ_S.c: Likewise.
20120         * tests/unictype/test-categ_Sc.c: Likewise.
20121         * tests/unictype/test-categ_So.c: Likewise.
20122         * tests/unictype/test-ctype_alnum.c: Likewise.
20123         * tests/unictype/test-ctype_alpha.c: Likewise.
20124         * tests/unictype/test-ctype_graph.c: Likewise.
20125         * tests/unictype/test-ctype_lower.c: Likewise.
20126         * tests/unictype/test-ctype_print.c: Likewise.
20127         * tests/unictype/test-ctype_punct.c: Likewise.
20128         * tests/unictype/test-ctype_upper.c: Likewise.
20129         * tests/unictype/test-decdigit.h: Likewise.
20130         * tests/unictype/test-digit.h: Likewise.
20131         * tests/unictype/test-numeric.h: Likewise.
20132         * tests/unictype/test-pr_alphabetic.c: Likewise.
20133         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
20134         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
20135         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
20136         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
20137         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
20138         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
20139         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
20140         * tests/unictype/test-pr_combining.c: Likewise.
20141         * tests/unictype/test-pr_composite.c: Likewise.
20142         * tests/unictype/test-pr_currency_symbol.c: Likewise.
20143         * tests/unictype/test-pr_dash.c: Likewise.
20144         * tests/unictype/test-pr_decimal_digit.c: Likewise.
20145         * tests/unictype/test-pr_deprecated.c: Likewise.
20146         * tests/unictype/test-pr_diacritic.c: Likewise.
20147         * tests/unictype/test-pr_extender.c: Likewise.
20148         * tests/unictype/test-pr_grapheme_base.c: Likewise.
20149         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
20150         * tests/unictype/test-pr_grapheme_link.c: Likewise.
20151         * tests/unictype/test-pr_id_continue.c: Likewise.
20152         * tests/unictype/test-pr_id_start.c: Likewise.
20153         * tests/unictype/test-pr_ideographic.c: Likewise.
20154         * tests/unictype/test-pr_ignorable_control.c: Likewise.
20155         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
20156         * tests/unictype/test-pr_lowercase.c: Likewise.
20157         * tests/unictype/test-pr_numeric.c: Likewise.
20158         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
20159         * tests/unictype/test-pr_punctuation.c: Likewise.
20160         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
20161         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
20162         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
20163         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
20164         * tests/unictype/test-pr_uppercase.c: Likewise.
20165         * tests/unictype/test-pr_xid_continue.c: Likewise.
20166         * tests/unictype/test-pr_xid_start.c: Likewise.
20167         * tests/unictype/test-pr_zero_width.c: Likewise.
20168         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
20169         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
20170         changed behaviour: line breaking is now disallowed between a letter
20171         or '=' and '('.
20172         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
20173         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
20174         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
20175         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
20176         * tests/uniwidth/test-uc_width2.sh: Same updates as in
20177         lib/uniwidth/width.c.
20178         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
20179         without comments, but with the original copyright notice.
20180         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
20181         changes.
20182         * lib/unictype/categ_Cc.h: Likewise.
20183         * lib/unictype/categ_Co.h: Likewise.
20184         * lib/unictype/categ_Cs.h: Likewise.
20185         * lib/unictype/categ_Lt.h: Likewise.
20186         * lib/unictype/categ_Me.h: Likewise.
20187         * lib/unictype/categ_Pc.h: Likewise.
20188         * lib/unictype/categ_Pe.h: Likewise.
20189         * lib/unictype/categ_Pf.h: Likewise.
20190         * lib/unictype/categ_Pi.h: Likewise.
20191         * lib/unictype/categ_Ps.h: Likewise.
20192         * lib/unictype/categ_Sk.h: Likewise.
20193         * lib/unictype/categ_Sm.h: Likewise.
20194         * lib/unictype/categ_Z.h: Likewise.
20195         * lib/unictype/categ_Zl.h: Likewise.
20196         * lib/unictype/categ_Zp.h: Likewise.
20197         * lib/unictype/categ_Zs.h: Likewise.
20198         * lib/unictype/ctype_blank.h: Likewise.
20199         * lib/unictype/ctype_cntrl.h: Likewise.
20200         * lib/unictype/ctype_digit.h: Likewise.
20201         * lib/unictype/ctype_space.h: Likewise.
20202         * lib/unictype/ctype_xdigit.h: Likewise.
20203         * lib/unictype/mirror.h: Likewise.
20204         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
20205         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
20206         * lib/unictype/pr_bidi_block_separator.h: Likewise.
20207         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
20208         * lib/unictype/pr_bidi_common_separator.h: Likewise.
20209         * lib/unictype/pr_bidi_control.h: Likewise.
20210         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
20211         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
20212         * lib/unictype/pr_bidi_pdf.h: Likewise.
20213         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
20214         * lib/unictype/pr_bidi_whitespace.h: Likewise.
20215         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
20216         * lib/unictype/pr_format_control.h: Likewise.
20217         * lib/unictype/pr_hex_digit.h: Likewise.
20218         * lib/unictype/pr_hyphen.h: Likewise.
20219         * lib/unictype/pr_ids_binary_operator.h: Likewise.
20220         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
20221         * lib/unictype/pr_iso_control.h: Likewise.
20222         * lib/unictype/pr_join_control.h: Likewise.
20223         * lib/unictype/pr_left_of_pair.h: Likewise.
20224         * lib/unictype/pr_line_separator.h: Likewise.
20225         * lib/unictype/pr_math.h: Likewise.
20226         * lib/unictype/pr_non_break.h: Likewise.
20227         * lib/unictype/pr_not_a_character.h: Likewise.
20228         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
20229         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
20230         * lib/unictype/pr_other_id_continue.h: Likewise.
20231         * lib/unictype/pr_other_id_start.h: Likewise.
20232         * lib/unictype/pr_other_lowercase.h: Likewise.
20233         * lib/unictype/pr_other_math.h: Likewise.
20234         * lib/unictype/pr_other_uppercase.h: Likewise.
20235         * lib/unictype/pr_paired_punctuation.h: Likewise.
20236         * lib/unictype/pr_paragraph_separator.h: Likewise.
20237         * lib/unictype/pr_pattern_syntax.h: Likewise.
20238         * lib/unictype/pr_pattern_white_space.h: Likewise.
20239         * lib/unictype/pr_private_use.h: Likewise.
20240         * lib/unictype/pr_quotation_mark.h: Likewise.
20241         * lib/unictype/pr_radical.h: Likewise.
20242         * lib/unictype/pr_soft_dotted.h: Likewise.
20243         * lib/unictype/pr_space.h: Likewise.
20244         * lib/unictype/pr_titlecase.h: Likewise.
20245         * lib/unictype/pr_variation_selector.h: Likewise.
20246         * lib/unictype/pr_white_space.h: Likewise.
20247         * lib/unictype/sy_c_ident.h: Likewise.
20248         * lib/unictype/sy_c_whitespace.h: Likewise.
20249         * lib/unictype/sy_java_whitespace.h: Likewise.
20250         * modules/uni*/*: Bump version number of expected libunistring version.
20251         Reported by Simon Josefsson.
20252
20253 2011-01-09  Karl Heuer  <kwzh@gnu.org>
20254
20255         useless-if-before-free: fix typo in --help and make the internal,
20256         automatic version date update process work once again.
20257         --help output contained a NUL character instead of the
20258         backslash-zero that was intended.  Also, the "must lie within
20259         the first 8 lines" line is on line 9, and hence not getting
20260         automatically updated.
20261         * build-aux/useless-if-before-free: Fix the former by adding a
20262         backslash, and the latter by condensing the three lines of what-it-does
20263         to a single line, leaving one line of slack for the future.
20264
20265 2011-01-09  Bruno Haible  <bruno@clisp.org>
20266
20267         uniwidth/width: Fix width of U+1D173..U+1D17A.
20268         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
20269         symbolic_width, output_width_property_test): New functions.
20270         (main): Invoke output_nonspacing_property, output_width_property_test.
20271         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
20272         U+1D173..U+1D17A.
20273         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
20274         1.
20275         * modules/uniwidth/*: Bump version number of expected libunistring
20276         version.
20277         * modules/unilbrk/*: Likewise.
20278
20279 2011-01-08  Bruno Haible  <bruno@clisp.org>
20280
20281         uninorm tests: Preserve copyright of Unicode data file.
20282         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
20283         Mention modifications.
20284
20285 2011-01-08  Bruno Haible  <bruno@clisp.org>
20286
20287         gen-uni-tables: Prepare for Unicode 5.2.0.
20288         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
20289         (debug_output_lbp, output_lbp): Update.
20290
20291 2011-01-08  Bruno Haible  <bruno@clisp.org>
20292
20293         unilbrk: Clarify gen-uni-tables.c code.
20294         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
20295         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
20296         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
20297
20298 2011-01-07  Bruno Haible  <bruno@clisp.org>
20299
20300         strtod: Restore errno when successfully parsing Infinity or NaN.
20301         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
20302         restore the original errno.
20303
20304 2011-01-07  Bruno Haible  <bruno@clisp.org>
20305
20306         remove test: Avoid failure on HP-UX 11.
20307         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
20308
20309 2011-01-07  Bruno Haible  <bruno@clisp.org>
20310
20311         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
20312         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
20313         error code.
20314
20315 2011-01-07  Pádraig Brady <P@draigBrady.com>
20316
20317         ignore-value: fixup comments, and add Eric Blake
20318         as an author since he rewrote the macros.
20319         * lib/ignore-value.h (ignore_value):  State that
20320         we now support aggregates.  Also specify exactly
20321         when the GCC warn_unused_result feature was added.
20322
20323 2011-01-06  Eric Blake  <eblake@redhat.com>
20324
20325         ignore-value: support aggregate types
20326         * lib/ignore-value.h (ignore_value): Provide separate gcc
20327         definition.
20328         * modules/ignore-value-tests: New test module.
20329         * tests/test-ignore-value.c: New test.
20330
20331         maint.mk: improve sc_prohibit_strcmp regex
20332         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
20333         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
20334         definition of STRNEQ.
20335
20336         signal: work around Haiku issue with SIGBUS
20337         * lib/siglist.h: Add comment.
20338         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
20339         strsignal's favoring of SIGSEGV.
20340         * tests/test-signal.c (main): Avoid test failure.
20341         * doc/posix-headers/signal.texi (signal.h): Document the issue.
20342         Reported by Scott McCreary.
20343
20344         maint.mk: add pre-release check to ensure submodule commits are public
20345         * top/maint.mk (public-submodule-commit): New rule.
20346         (submodule-checks): New variable.
20347         (alpha beta stable): Depend on the variable.
20348
20349 2011-01-05  Pádraig Brady <P@draigBrady.com>
20350         and Jim Meyering  <meyering@redhat.com>
20351
20352         ignore-value: make ignore_value more generic; deprecate ignore_ptr
20353         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
20354         (ATTRIBUTE_DEPRECATED): Define.
20355         (_ignore_case): New function.
20356         (ignore_value): New macro, to replace the old function.
20357         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
20358         * modules/ignore-value (Depends-on): Add stdint.
20359
20360 2011-01-04  Eric Blake  <eblake@redhat.com>
20361
20362         doc: regenerate INSTALL
20363         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
20364         @firstparagraphindent support, now that autoconf dropped it.
20365         (INSTALL_PRELUDE): Reinstate old macro.
20366         * doc/install.texi: Resync from autoconf.
20367         * doc/INSTALL: Reflect recent autoconf update.
20368         * doc/INSTALL.ISO: Likewise.
20369         * doc/INSTALL.UTF-8: Likewise.
20370         Reported by Karl Berry.
20371
20372 2011-01-04  Bruce Korb  <address@hidden>
20373
20374         git-version-gen: avoid a sub-shell
20375         * build-aux/git-version-gen: Redirect stderr in `...` via
20376         "exec 2>...", rather than via an added sub-shell.
20377
20378 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
20379
20380         git-version-gen: use (...) rather than sh -c '...'
20381         * build-aux/git-version-gen: Rather than hard-coding a shell's name
20382         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
20383
20384 2011-01-03  Jim Meyering  <meyering@redhat.com>
20385
20386         git-version-gen: convert leading TABs to spaces
20387         * build-aux/git-version-gen: Expand leading TABs.
20388
20389         git-version-gen: handle failed "git rev-list"
20390         * build-aux/git-version-gen: Rather than leaking a "fatal" error
20391         from git and proceeding as if it had succeeded but printed no SHA1
20392         checksums, suppress the diagnostic and handle the failure.
20393         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
20394
20395         git-version-gen: include command name in one more diagnostic
20396         * build-aux/git-version-gen: When the required .tarball-version file
20397         was missing or unreadable, you might see the diagnostic from "cat",
20398         but no trace of the name of the invoking script.  Now, you still see
20399         the diagnostic from cat, but also get one from "git-version-gen: ".
20400         Inspired by a patch from Bruce Korb.
20401
20402         update-copyright: adjust test to match changed code
20403         * tests/test-update-copyright.sh: Change test's expected output
20404         to match new actual output.
20405
20406 2011-01-02  Bruno Haible  <bruno@clisp.org>
20407
20408         getlogin_r: Avoid test failure on HP-UX 11.
20409         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
20410         ERANGE when the second argument is zero.
20411         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
20412         portability problem.
20413
20414 2011-01-02  Bruce Korb  <bkorb@gnu.org>
20415
20416         * build-aux/update-copyright: doc Simon's changes
20417
20418 2011-01-02  Simon Josefsson  <simon@josefsson.org>
20419
20420         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
20421         environment variable.
20422
20423 2011-01-02  Bruno Haible  <bruno@clisp.org>
20424
20425         unigbrk: Avoid gcc warnings.
20426         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
20427         unused variable.
20428         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
20429         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
20430         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
20431         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
20432         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
20433         Change type of first argument to 'const char *'.
20434         (main): Remove unused variable.
20435         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
20436         type of first argument to 'const char *'.
20437         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
20438         Likewise.
20439         (main): Change type of variable 's'.
20440         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
20441         to 'int'.
20442
20443 2011-01-02  Bruno Haible  <bruno@clisp.org>
20444
20445         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
20446         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
20447         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
20448         bug.
20449         * lib/pwrite.c: Undo 2010-12-31 patch.
20450         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
20451
20452 2011-01-02  Bruno Haible  <bruno@clisp.org>
20453
20454         pread: Fix test whether it works.
20455         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
20456
20457 2011-01-02  Bruno Haible  <bruno@clisp.org>
20458
20459         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
20460         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
20461         ends in "6". Don't require a specific month name. Try also the locale
20462         names found on HP-UX 11 and Solaris 7.
20463
20464 2011-01-02  Bruno Haible  <bruno@clisp.org>
20465
20466         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
20467         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
20468         C linkage.
20469         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
20470
20471 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
20472
20473         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
20474         for consistency, since the "cluster" term is not used elsewhere.
20475         * lib/unigbrk.in.h: Update name.
20476         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
20477         * lib/unigbrk/u16-grapheme-next.c: Update name.
20478         * lib/unigbrk/u16-grapheme-prev.c: Update name.
20479         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
20480         * lib/unigbrk/u32-grapheme-next.c: Update name.
20481         * lib/unigbrk/u32-grapheme-prev.c: Update name.
20482         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
20483         * lib/unigbrk/u8-grapheme-next.c: Update name.
20484         * lib/unigbrk/u8-grapheme-prev.c: Update name.
20485         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
20486         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
20487         Suggested by Bruno Haible.
20488
20489 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
20490
20491         Remove module 'u8-grapheme-len' as too redundant with
20492         'u8-grapheme-next'.
20493         * modules/unigbrk/u8-grapheme-len: Delete file.
20494         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
20495         * lib/unigbrk.in.h: Remove prototype for deleted function.
20496         * lib/unigbrk/u8-grapheme-len.c: Delete file.
20497         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
20498
20499         Remove module 'u16-grapheme-len' as too redundant with
20500         'u16-grapheme-next'.
20501         * modules/unigbrk/u16-grapheme-len: Delete file.
20502         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
20503         * lib/unigbrk.in.h: Remove prototype for deleted function.
20504         * lib/unigbrk/u16-grapheme-len.c: Delete file.
20505         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
20506
20507         Remove module 'u32-grapheme-len' as too redundant with
20508         'u32-grapheme-next'.
20509         * modules/unigbrk/u32-grapheme-len: Delete file.
20510         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
20511         * lib/unigbrk.in.h: Remove prototype for deleted function.
20512         * lib/unigbrk/u32-grapheme-len.c: Delete file.
20513         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
20514
20515         Suggested by Bruno Haible.
20516
20517 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
20518
20519         * unigbrk.in.h: Fix typo: "ben" => "been".
20520         Reported by Bruno Haible.
20521
20522 2011-01-01  Jim Meyering  <meyering@redhat.com>
20523
20524         maint: update almost all copyright ranges to include 2011
20525         Run the new "make update-copyright" rule.
20526
20527 2011-01-01  Jim Meyering  <meyering@redhat.com>
20528
20529         maint: update-copyright: exempt doc/INSTALL*
20530         * Makefile (update-copyright): Also exclude doc/INSTALL*,
20531         since they are generated.  Suggested by Bruno Haible.
20532
20533 2011-01-01  Jim Meyering  <meyering@redhat.com>
20534
20535         maint: refine the update-copyright rule
20536         * Makefile (update-copyright): Also exclude any file that includes
20537         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
20538         code that merely generates the comment.
20539
20540 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
20541
20542         New module 'u8-grapheme-len'.
20543         * modules/unigbrk/u8-grapheme-len: New file.
20544         * modules/unigbrk/u8-grapheme-len-tests: New file.
20545         * lib/unigbrk.in.h: Add prototype for new function.
20546         * lib/unigbrk/u8-grapheme-len.c: New file.
20547         * tests/unigbrk/test-u8-grapheme-len.c: New file.
20548
20549         New module 'u16-grapheme-len'.
20550         * modules/unigbrk/u16-grapheme-len: New file.
20551         * modules/unigbrk/u16-grapheme-len-tests: New file.
20552         * lib/unigbrk.in.h: Add prototype for new function.
20553         * lib/unigbrk/u16-grapheme-len.c: New file.
20554         * tests/unigbrk/test-u16-grapheme-len.c: New file.
20555
20556         New module 'u32-grapheme-len'.
20557         * modules/unigbrk/u32-grapheme-len: New file.
20558         * modules/unigbrk/u32-grapheme-len-tests: New file.
20559         * lib/unigbrk.in.h: Add prototype for new function.
20560         * lib/unigbrk/u32-grapheme-len.c: New file.
20561         * tests/unigbrk/test-u32-grapheme-len.c: New file.
20562
20563         New module 'u8-grapheme-next'.
20564         * modules/unigbrk/u8-grapheme-next: New file.
20565         * modules/unigbrk/u8-grapheme-next-tests: New file.
20566         * lib/unigbrk.in.h: Add prototype for new function.
20567         * lib/unigbrk/u8-grapheme-next.c: New file.
20568         * tests/unigbrk/test-u8-grapheme-next.c: New file.
20569
20570         New module 'u16-grapheme-next'.
20571         * modules/unigbrk/u16-grapheme-next: New file.
20572         * modules/unigbrk/u16-grapheme-next-tests: New file.
20573         * lib/unigbrk.in.h: Add prototype for new function.
20574         * lib/unigbrk/u16-grapheme-next.c: New file.
20575         * tests/unigbrk/test-u16-grapheme-next.c: New file.
20576
20577         New module 'u32-grapheme-next'.
20578         * modules/unigbrk/u32-grapheme-next: New file.
20579         * modules/unigbrk/u32-grapheme-next-tests: New file.
20580         * lib/unigbrk.in.h: Add prototype for new function.
20581         * lib/unigbrk/u32-grapheme-next.c: New file.
20582         * tests/unigbrk/test-u32-grapheme-next.c: New file.
20583
20584         New module 'u8-grapheme-prev'.
20585         * modules/unigbrk/u8-grapheme-prev: New file.
20586         * modules/unigbrk/u8-grapheme-prev-tests: New file.
20587         * lib/unigbrk.in.h: Add prototype for new function.
20588         * lib/unigbrk/u8-grapheme-prev.c: New file.
20589         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
20590
20591         New module 'u16-grapheme-prev'.
20592         * modules/unigbrk/u16-grapheme-prev: New file.
20593         * modules/unigbrk/u16-grapheme-prev-tests: New file.
20594         * lib/unigbrk.in.h: Add prototype for new function.
20595         * lib/unigbrk/u16-grapheme-prev.c: New file.
20596         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
20597
20598         New module 'u32-grapheme-prev'.
20599         * modules/unigbrk/u32-grapheme-prev: New file.
20600         * modules/unigbrk/u32-grapheme-prev-tests: New file.
20601         * lib/unigbrk.in.h: Add prototype for new function.
20602         * lib/unigbrk/u32-grapheme-prev.c: New file.
20603         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
20604
20605         New module 'u8-grapheme-breaks'.
20606         * modules/unigbrk/u8-grapheme-breaks: New file.
20607         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
20608         * lib/unigbrk.in.h: Add prototype for new function.
20609         * lib/unigbrk/u8-grapheme-breaks.c: New file.
20610         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
20611
20612         New module 'u16-grapheme-breaks'.
20613         * modules/unigbrk/u16-grapheme-breaks: New file.
20614         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
20615         * lib/unigbrk.in.h: Add prototype for new function.
20616         * lib/unigbrk/u16-grapheme-breaks.c: New file.
20617         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
20618
20619         New module 'u32-grapheme-breaks'.
20620         * modules/unigbrk/u32-grapheme-breaks: New file.
20621         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
20622         * lib/unigbrk.in.h: Add prototype for new function.
20623         * lib/unigbrk/u32-grapheme-breaks.c: New file.
20624         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
20625
20626         New module 'ulc-grapheme-breaks'.
20627         * modules/unigbrk/ulc-grapheme-breaks: New file.
20628         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
20629         * m4/locale-ar.m4: New file.
20630         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
20631         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
20632         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
20633
20634 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
20635
20636         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
20637         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
20638         modified how this file was generated before I initially submitted
20639         the module, but failed to regenerate it.  This meant that several
20640         of the level2 entries were wrong.
20641         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
20642         Remove the division-by-2 that is folded into the table now that
20643         gbrkprop.h has been regenerated properly.  Now -1 entries are
20644         handled correctly.
20645
20646         New module 'unigbrk/uc-gbrk-prop-tests'.
20647         * modules/unigbrk/uc-gbrk-prop-tests: New file.
20648         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
20649         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
20650         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
20651
20652 2011-01-01  Bruno Haible  <bruno@clisp.org>
20653
20654         Avoid use of hexadecimal escapes.
20655         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
20656         instead of hexadecimal escapes.
20657
20658 2011-01-01  Jim Meyering  <meyering@redhat.com>
20659
20660         maint: new rule to update copyright year ranges
20661         * Makefile (update-copyright): New rule.
20662
20663         maint: indent with TABs in Makefile
20664         * Makefile: Expand leading sequences of spaces to TABs
20665
20666         version-etc: update the copyright year it reports
20667         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
20668
20669 2010-12-31  Bruno Haible  <bruno@clisp.org>
20670
20671         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
20672         * lib/isfinite.c (zerof, zerod, zerol): New variables.
20673         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
20674         zero.
20675
20676 2010-12-31  Bruno Haible  <bruno@clisp.org>
20677
20678         pwrite: Work around HP-UX 11.11 bug.
20679         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
20680         works and set REPLACE_PWRITE if not.
20681         * lib/pwrite.c (pwrite): Add an implementation that uses the system
20682         function.
20683         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
20684
20685 2010-12-31  Bruno Haible  <bruno@clisp.org>
20686
20687         pread: Work around HP-UX 11 bugs.
20688         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
20689         and set REPLACE_PREAD if not.
20690         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
20691
20692 2010-12-31  Eric Blake  <eblake@redhat.com>
20693
20694         nl_langinfo: fix YESEXPR on Irix 6.5
20695         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
20696         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
20697         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
20698         it.
20699
20700 2010-12-31  Bruno Haible  <bruno@clisp.org>
20701
20702         iconv: Document HP-UX 11 bug.
20703         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
20704
20705 2010-12-31  Bruno Haible  <bruno@clisp.org>
20706
20707         ldexpl: Fix link error on HP-UX 11.
20708         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
20709         LDEXPL_LIBM, using $ISNANL_LIBM.
20710
20711 2010-12-31  Eric Blake  <eblake@redhat.com>
20712
20713         ftello: avoid compilation failure with SunStudio c89
20714         * lib/ftello.c (ftello): Use lseek, not llseek.
20715
20716         tests: avoid failing coreutils tests on cygwin
20717         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
20718         (create_exe_shims_): Return 0 when skipping.
20719
20720 2010-12-31  Bruno Haible  <bruno@clisp.org>
20721
20722         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
20723         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
20724
20725 2010-12-31  Bruno Haible  <bruno@clisp.org>
20726
20727         waitpid: Fix link error in C++ mode.
20728         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
20729
20730 2010-12-31  Bruno Haible  <bruno@clisp.org>
20731
20732         isnan: Use GCC built-ins when possible.
20733         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
20734         __builtin_isnan.
20735         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
20736         (isnan): Define using GCC built-ins for GCC >= 4.0.
20737
20738 2010-12-31  Bruno Haible  <bruno@clisp.org>
20739
20740         isnand: Fix mistake.
20741         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
20742         __builtin_isnand.
20743
20744 2010-12-31  Bruno Haible  <bruno@clisp.org>
20745
20746         open: Avoid C++ error on HP-UX 11.
20747         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
20748
20749 2010-12-31  Bruno Haible  <bruno@clisp.org>
20750
20751         time_r: Add missing declarations on HP-UX 11.
20752         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
20753         instead of HAVE_LOCALTIME_R.
20754         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
20755         HAVE_LOCALTIME_R always.
20756         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
20757         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
20758         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
20759         HAVE_LOCALTIME_R.
20760         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
20761         * doc/posix-functions/localtime_r.texi: Likewise.
20762
20763 2010-12-29  Eric Blake  <eblake@redhat.com>
20764
20765         mountlist: tweak previous commit
20766         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
20767         Reported by Paul Eggert.
20768
20769         mountlist: fix local drive detection on cygwin
20770         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
20771         that works for cygwin.
20772
20773 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
20774
20775         ftoastr, snprintf: ftoastr + snprintf module
20776         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
20777         since the snprintf module now should be good enough here.
20778         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
20779         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
20780         and gl_MODULE_INDICATOR([snprintf]), but the former enables
20781         GNULIB_SNPRINTF only for the test directory, and the latter
20782         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
20783         seems to suffice by itself.
20784
20785 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
20786
20787         alloca: one step towards thread-safety
20788         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
20789         need for a static variable.  All callers changed.  This does not
20790         make the alloca replacement thread-safe, but it's one step.
20791
20792         tests: minor indenting change
20793         * tests/init.sh: Sync from coreutils housekeeping patch
20794         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
20795         to keep lines within 80 columns.
20796
20797 2010-12-28  Jim Meyering  <meyering@redhat.com>
20798
20799         regex: don't infloop on persistent failing calloc
20800         * lib/regexec.c (build_trtable): Return failure indication upon
20801         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
20802         In glibc, this was fixed for version 2.13:
20803         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
20804
20805 2010-12-28  Bruno Haible  <bruno@clisp.org>
20806             Paul Eggert <eggert@cs.ucla.edu>
20807
20808         linkat: Make implementation robust against system behaviour variations.
20809         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
20810         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
20811         way, and to -2 if it needs a generic runtime test.
20812         * lib/linkat.c (solaris_optimized_link_immediate,
20813         solaris_optimized_link_follow): New functions.
20814         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
20815         (check_same_link): Use it.
20816
20817 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
20818
20819         New module 'unigbrk/base'.
20820         * modules/unigbrk/base: New file.
20821         * lib/unigbrk.in.h: New file.
20822
20823         New module 'unigbrk/uc-gbrk-prop'.
20824         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
20825         * modules/unigbrk/uc-gbrk-prop: New file.
20826         * lib/unigbrk/gbrkprop.h: New file.
20827         * lib/unigbrk/uc-gbrk-prop.c: New file.
20828
20829         New module 'unigbrk/uc-is-grapheme-break'.
20830         * modules/unigbrk/uc-is-grapheme-break: New file.
20831         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
20832         * lib/unigbrk/uc-is-grapheme-break.c: New file.
20833         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
20834         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
20835         * tests/unigbrk/GraphemeBreakTest.txt: New file.
20836
20837         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
20838
20839 2010-12-27  Bruno Haible  <bruno@clisp.org>
20840
20841         linkat test: Avoid failure on Solaris 11 2010-11.
20842         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
20843
20844 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
20845
20846         utimens: work around glibc rounding bug on more platforms
20847         * lib/utimens.c (fdutimens): Work around rounding bug even if
20848         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
20849         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
20850
20851 2010-12-27  Bruno Haible  <bruno@clisp.org>
20852
20853         select tests: Improve comments.
20854         * tests/test-select.c (do_select): Add comments.
20855
20856 2010-12-27  Bruno Haible  <bruno@clisp.org>
20857
20858         select tests: Safer way of handling timeout.
20859         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
20860         at every invocation.
20861
20862 2010-12-27  Bruno Haible  <bruno@clisp.org>
20863
20864         select tests: Use 'bool' where appropriate.
20865         * tests/test-select.c (connect_to_socket): Change argument type to
20866         'bool'.
20867
20868 2010-12-27  Bruno Haible  <bruno@clisp.org>
20869
20870         select tests: Use existing modules.
20871         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
20872         (configure.ac): Don't test for unistd.h.
20873         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
20874         declared in <unistd.h>.
20875
20876 2010-12-27  Bruno Haible  <bruno@clisp.org>
20877
20878         mbrtowc: Work around a Solaris 7 bug.
20879         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
20880         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
20881         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
20882         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
20883         MBRTOWC_NULL_ARG1_BUG.
20884         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
20885         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
20886         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
20887         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
20888
20889 2010-12-27  Jim Meyering  <meyering@redhat.com>
20890
20891         read-file.c: tweak syntax
20892         * lib/read-file.c (fread_file): Remove space after "*" in function
20893         definitions.
20894
20895 2010-12-27  Bruno Haible  <bruno@clisp.org>
20896
20897         times test: Avoid gcc warnings on OSF/1.
20898         * tests/test-times.c (main): Cast printf arguments from clock_t to
20899         'long int'.
20900
20901 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
20902
20903         utimens: work around glibc rounding bug on older Linux kernels
20904         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
20905         on Linux with a glibc whose utimes might not work, then work
20906         around a longstanding glibc bug involving rounding rather than
20907         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
20908         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
20909
20910 2010-12-26  Bruno Haible  <bruno@clisp.org>
20911
20912         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
20913         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
20914         _GL_CXXALIAS_SYS.
20915         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
20916
20917 2010-12-26  Bruno Haible  <bruno@clisp.org>
20918
20919         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
20920         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
20921         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
20922         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
20923         looking for the declaration.
20924         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
20925         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
20926         problem.
20927         * doc/posix-functions/inet_pton.texi: Likewise.
20928
20929 2010-12-26  Bruno Haible  <bruno@clisp.org>
20930
20931         arpa_inet: Use the common idioms with C++ support.
20932         * lib/arpa_inet.in.h: Include c++defs.h.
20933         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
20934         support.
20935         * modules/arpa_inet (Depends-on): Add c++defs.
20936         (Makefile.am): Substitute the contents of c++defs.h.
20937         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
20938         * modules/arpa_inet-c++-tests: New file.
20939         * tests/test-arpa_inet-c++.cc: New file.
20940
20941 2010-12-25  Bruno Haible  <bruno@clisp.org>
20942
20943         Fix more C++ link errors on Solaris 8.
20944         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
20945         $(LIB_EACCESS).
20946         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
20947         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
20948         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
20949         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
20950         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
20951
20952 2010-12-25  Bruno Haible  <bruno@clisp.org>
20953
20954         printf-posix: Fix link error when a non-GCC compiler is used.
20955         * lib/stdio.in.h (printf): When not using GCC, override printf
20956         correctly.
20957         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
20958
20959 2010-12-25  Bruno Haible  <bruno@clisp.org>
20960
20961         strerror_r-posix: Update doc.
20962         * doc/posix-functions/strerror_r.texi: Update doc about the return
20963         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
20964
20965 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
20966
20967         utimens: simplify the logic of the previous change
20968         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
20969         This should not affect whether the test succeeds or fails.
20970
20971         utimens: configure better on hosts with NFS clock skew
20972         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
20973         uses the clock of the local host.  It might use the clock of the
20974         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
20975         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
20976
20977 2010-12-25  Bruno Haible  <bruno@clisp.org>
20978
20979         ptsname test: Avoid failure on Solaris.
20980         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
20981         open a pseudo-terminal; don't use BSD-style ptys.
20982         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
20983
20984 2010-12-25  Bruno Haible  <bruno@clisp.org>
20985
20986         ptsname: Avoid ERANGE failure on some systems.
20987         * lib/ptsname.c (buffer): Increase size.
20988
20989 2010-12-25  Bruno Haible  <bruno@clisp.org>
20990
20991         rename, renameat: Avoid test failures at NFS mounted locations.
20992         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
20993         so that subsequent mkdir calls succeed.
20994
20995 2010-12-25  Bruno Haible  <bruno@clisp.org>
20996
20997         iswblank: Fix C++ link error on Solaris 8.
20998         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
20999         _GL_FUNCDECL_SYS.
21000
21001 2010-12-25  Bruno Haible  <bruno@clisp.org>
21002
21003         unistd: Fix C++ link error on Solaris 8.
21004         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
21005
21006 2010-12-25  Bruno Haible  <bruno@clisp.org>
21007
21008         readlink doc: Mention an old glibc bug.
21009         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
21010
21011 2010-12-25  Bruno Haible  <bruno@clisp.org>
21012
21013         fcntl-h: Fix for use of C++ on glibc systems.
21014         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
21015         also on glibc systems in C++ mode.
21016         Reported by Gary V. Vaughan <gary@gnu.org>.
21017
21018 2010-12-25  Bruno Haible  <bruno@clisp.org>
21019
21020         roundl-ieee: Make it work on OSF/1 5.1 with cc.
21021         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
21022
21023 2010-12-25  Bruno Haible  <bruno@clisp.org>
21024
21025         truncl-ieee: Make it work on OSF/1 5.1 with cc.
21026         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
21027         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
21028         test whether truncl works according to ISO C 99 with IEC 60559.
21029         * m4/truncl-ieee.m4: New file.
21030         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
21031         m4/signbit.m4.
21032         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
21033
21034 2010-12-25  Bruno Haible  <bruno@clisp.org>
21035
21036         ceill-ieee: Make it work on OSF/1 5.1 with cc.
21037         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
21038         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
21039         test whether ceill works according to ISO C 99 with IEC 60559.
21040         * m4/ceill-ieee.m4: New file.
21041         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
21042         m4/signbit.m4.
21043         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
21044
21045 2010-12-25  Bruno Haible  <bruno@clisp.org>
21046
21047         Ensure all prerequisites of <wchar.h> are included.
21048         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
21049         before <wchar.h>.
21050         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
21051         gl_MBRLEN_NUL_RETVAL): Likewise.
21052         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
21053         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
21054         AC_FUNC_MBRTOWC): Likewise.
21055         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
21056         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
21057         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
21058         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
21059         Likewise.
21060         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
21061         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
21062         (gl_WCHAR_H): Improve comments.
21063         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
21064
21065 2010-12-25  Bruno Haible  <bruno@clisp.org>
21066
21067         strtok_r: Fix C syntax error in autoconf macro.
21068         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
21069         characters in test program.
21070
21071 2010-12-24  Bruno Haible  <bruno@clisp.org>
21072
21073         ceil, trunc, round: Fix gcc warnings.
21074         * lib/ceil.c (MIN): Undefine before redefining.
21075         * lib/trunc.c (MIN): Likewise.
21076         * lib/round.c (MIN): Likewise.
21077         Include <math.h> first.
21078
21079 2010-12-24  Bruno Haible  <bruno@clisp.org>
21080
21081         select tests: Avoid failures on OSF/1 5.1.
21082         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
21083         failure of closing the last socket; it may fail with ECONNRESET.
21084
21085 2010-12-24  Eric Blake  <eblake@redhat.com>
21086
21087         stdint: avoid HP-UX 10.20 preprocessor bug
21088         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
21089         than #if.
21090         * tests/test-floor2.c (main): Likewise.
21091         Reported by Peter O'Gorman.
21092
21093         pipe: make obsoletion transition easier
21094         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
21095         * modules/pipe (Files): Include revived file.
21096         (Include): Drop reference, to mirror getdate's behavior.
21097
21098 2010-12-24  Bruno Haible  <bruno@clisp.org>
21099
21100         sys_socket: Hide mismatch of declarations on NonStop Kernel.
21101         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
21102         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
21103         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21104
21105 2010-12-24  Bruno Haible  <bruno@clisp.org>
21106
21107         gethostname: Ensure declaration on NonStop Kernel.
21108         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
21109         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21110
21111 2010-12-24  Bruno Haible  <bruno@clisp.org>
21112
21113         sys_select: Ensure all necessary types on NonStop Kernel.
21114         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
21115         include <sys/time.h>.
21116         * doc/posix-headers/sys_select.texi: Mention that it's missing on
21117         NonStop Kernel.
21118         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21119
21120 2010-12-24  Bruno Haible  <bruno@clisp.org>
21121
21122         sys_select: Remove unneeded include.
21123         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
21124         have <sys/select.h>.
21125
21126 2010-12-24  Bruno Haible  <bruno@clisp.org>
21127
21128         gethostname: Provide a fallback for HOST_NAME_MAX.
21129         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
21130         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
21131         instead.
21132         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21133
21134 2010-12-24  Bruno Haible  <bruno@clisp.org>
21135
21136         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
21137         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
21138         (SA_RESTART): Likewise.
21139         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21140
21141 2010-12-24  Bruno Haible  <bruno@clisp.org>
21142
21143         signal: Define NSIG.
21144         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
21145         * tests/test-signal.c (nsig): New variable.
21146         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21147
21148 2010-12-24  Bruno Haible  <bruno@clisp.org>
21149
21150         rename, renameat: Avoid test failures on OSF/1 5.1.
21151         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
21152         alternative error codes.
21153         * tests/test-renameat.c (main): Likewise.
21154
21155 2010-12-24  Bruno Haible  <bruno@clisp.org>
21156
21157         *printf: Detect large precisions bug on Solaris 10/SPARC.
21158         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
21159         by Paul Eggert.
21160         * tests/test-snprintf-posix.h (test_function): Add this test code here
21161         too.
21162         * tests/test-sprintf-posix.h (test_function): Likewise.
21163         * tests/test-vasnprintf-posix.c (test_function): Likewise.
21164         * tests/test-vasprintf-posix.c (test_function): Likewise.
21165         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
21166         around by gnulib.
21167         * doc/posix-functions/printf.texi: Likewise.
21168         * doc/posix-functions/snprintf.texi: Likewise.
21169         * doc/posix-functions/sprintf.texi: Likewise.
21170         * doc/posix-functions/vfprintf.texi: Likewise.
21171         * doc/posix-functions/vprintf.texi: Likewise.
21172         * doc/posix-functions/vsnprintf.texi: Likewise.
21173         * doc/posix-functions/vsprintf.texi: Likewise.
21174         * doc/posix-functions/dprintf.texi: Undo last commit.
21175         * doc/posix-functions/vdprintf.texi: Likewise.
21176
21177 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
21178
21179         tests: port test-fdutimensat.c to Solaris 8
21180         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
21181         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
21182         On Solaris 8, it fails with errno == ENOSYS, because there is no
21183         futimens (so it can't use the fd), and there is no lutimens (so it
21184         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
21185
21186         vsnprintf: make more consistent with snprintf; doc fixes
21187
21188         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
21189         the byte count return problem was promoted from the snprintf-posix
21190         to the snprintf module.
21191         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
21192         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
21193         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
21194         * tests/test-snprintf.c (main): Check the byte count returned.
21195         * tests/test-vsnprintf.c (main): Likewise.
21196
21197 2010-12-23  Eric Blake  <eblake@redhat.com>
21198
21199         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
21200         * modules/sigpipe (License): Relax license.
21201
21202 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
21203
21204         doc: document Solaris printf bug with large float precisions
21205         * doc/posix-functions/dprintf.texi (dprintf):
21206         * doc/posix-functions/fprintf.texi (fprintf):
21207         * doc/posix-functions/printf.texi (printf):
21208         * doc/posix-functions/snprintf.texi (snprintf):
21209         * doc/posix-functions/sprintf.texi (sprintf):
21210         * doc/posix-functions/vdprintf.texi (vdprintf):
21211         * doc/posix-functions/vfprintf.texi (vfprintf):
21212         * doc/posix-functions/vprintf.texi (vprintf):
21213         * doc/posix-functions/vsnprintf.texi (vsnprintf):
21214         * doc/posix-functions/vsprintf.texi (vsprintf):
21215         Mention that these functions mishandle large floating point
21216         precisions on Solaris 10.  The same bug is also present in Solaris
21217         8, and I assume earlier.  This causes "cd gnulib-tests; make
21218         check" to fail on Solaris 8 (and I assume, later) when building
21219         the latest coreutils, in test-vasprintf-posix's call to
21220         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
21221         the wide flavors (e.g., wprintf) so this patch just updates the
21222         documentation for the narrow ones.
21223
21224         test-posixtm.c: add two tests
21225         * tests/test-posixtm.c: Add two tests, to highlight the
21226         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
21227         around this bug; this is merely to document it.
21228
21229 2010-12-22  Bruno Haible  <bruno@clisp.org>
21230
21231         getlogin_r: Work around portability problem on OSF/1.
21232         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
21233         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
21234         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
21235         test for a truncated result.
21236         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
21237         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
21238         * modules/getlogin_r (Depends-on): Add memchr.
21239         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
21240
21241 2010-12-22  Bruno Haible  <bruno@clisp.org>
21242
21243         ptsname: Avoid test failure on OSF/1 5.1.
21244         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
21245         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
21246         (same_slave): New function.
21247         (main): Use it to compare ptsname's result with the expected file name.
21248
21249 2010-12-22  Bruno Haible  <bruno@clisp.org>
21250
21251         Port extended stdio modules to HP NonStop Kernel.
21252         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
21253         macros.
21254         * lib/fbufmode.c: Update comments.
21255         * lib/fflush.c: Likewise.
21256         * lib/fpurge.c: Likewise.
21257         * lib/freadable.c: Likewise.
21258         * lib/freadahead.c: Likewise.
21259         * lib/freading.c: Likewise.
21260         * lib/freadptr.c: Likewise.
21261         * lib/freadseek.c: Likewise.
21262         * lib/fseeko.c: Likewise.
21263         * lib/fseterr.c: Likewise.
21264         * lib/fwritable.c: Likewise.
21265         * lib/fwriting.c: Likewise.
21266         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21267
21268 2010-12-22  Bruno Haible  <bruno@clisp.org>
21269
21270         ttyname_r: Work around bug on OSF/1 5.1.
21271         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
21272         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
21273         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
21274         present.
21275         * lib/ttyname_r.c (ttyname_r): Update comments.
21276
21277 2010-12-22  Bruno Haible  <bruno@clisp.org>
21278
21279         round: Implement result sign according to IEEE 754.
21280         * lib/round.c (MIN, MINUS_ZERO): New macros.
21281         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
21282         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
21283         * tests/test-round-ieee.c (main): Likewise.
21284         * tests/test-roundl-ieee.c (main): Likewise.
21285
21286         trunc: Implement result sign according to IEEE 754.
21287         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
21288         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
21289         * tests/test-trunc2.c: Include minus-zero.h.
21290         (MINUS_ZERO): New macro.
21291         (trunc_reference): Keep in sync with lib/trunc.c.
21292         * tests/test-truncf2.c: Include minus-zero.h.
21293         (MINUS_ZERO): New macro.
21294         (truncf_reference): Keep in sync with lib/trunc.c.
21295         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
21296         * tests/test-trunc-ieee.c (main): Likewise.
21297         * tests/test-truncl-ieee.c (main): Likewise.
21298
21299         ceil: Implement result sign according to IEEE 754.
21300         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
21301         (FUNC): Return -0.0 for -1 < x < 0.
21302         * tests/test-ceil2.c: Include minus-zero.h.
21303         (MINUS_ZERO): New macro.
21304         (ceil_reference): Keep in sync with lib/ceil.c.
21305         * tests/test-ceilf2.c: Include minus-zero.h.
21306         (MINUS_ZERO): New macro.
21307         (ceilf_reference): Keep in sync with lib/ceil.c.
21308         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
21309         * tests/test-ceil-ieee.c (main): Likewise.
21310         * tests/test-ceill-ieee.c (main): Likewise.
21311
21312         floor: Implement result sign according to IEEE 754.
21313         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
21314         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
21315         * tests/test-floorf2.c (floorf_reference): Likewise.
21316         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
21317         * tests/test-floor-ieee.c (main): Likewise.
21318         * tests/test-floorl-ieee.c (main): Likewise.
21319
21320 2010-12-22  Bruno Haible  <bruno@clisp.org>
21321
21322         getaddrinfo: Update doc.
21323         * doc/posix-functions/gai_strerror.texi: Return type is also different
21324         on AIX and HP-UX.
21325
21326 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
21327
21328         getaddrinfo, inet_ntop: Update doc for Solaris.
21329         * doc/posix-functions/gai_strerror.texi: Return type is also an
21330         issue on Solaris 9 and earlier.
21331         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
21332         on Solaris 10 and earlier.
21333
21334 2010-12-21  Bruno Haible  <bruno@clisp.org>
21335
21336         New module 'roundl-ieee'.
21337         * modules/roundl-ieee: New file.
21338         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
21339         test whether roundl works according to ISO C 99 with IEC 60559.
21340         * m4/roundl-ieee.m4: New file.
21341         * modules/roundl-ieee-tests: New file.
21342         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
21343         * tests/test-roundl.c (main): Remove signbit tests.
21344         * modules/roundl-tests (Depends-on): Remove signbit.
21345         * doc/posix-functions/roundl.texi: Mention the new module.
21346
21347 2010-12-21  Bruno Haible  <bruno@clisp.org>
21348
21349         New module 'truncl-ieee'.
21350         * modules/truncl-ieee: New file.
21351         * modules/truncl-ieee-tests: New file.
21352         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
21353         * tests/test-truncl.c (main): Remove signbit tests.
21354         * modules/truncl-tests (Depends-on): Remove signbit.
21355         * doc/posix-functions/truncl.texi: Mention the new module.
21356
21357 2010-12-21  Bruno Haible  <bruno@clisp.org>
21358
21359         New module 'ceill-ieee'.
21360         * modules/ceill-ieee: New file.
21361         * modules/ceill-ieee-tests: New file.
21362         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
21363         * tests/test-ceill.c (main): Remove signbit tests.
21364         * modules/ceill-tests (Depends-on): Remove signbit.
21365         * doc/posix-functions/ceill.texi: Mention the new module.
21366
21367 2010-12-21  Bruno Haible  <bruno@clisp.org>
21368
21369         New module 'floorl-ieee'.
21370         * modules/floorl-ieee: New file.
21371         * modules/floorl-ieee-tests: New file.
21372         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
21373         * tests/test-floorl.c (main): Remove signbit tests.
21374         * modules/floorl-tests (Depends-on): Remove signbit.
21375         * doc/posix-functions/floorl.texi: Mention the new module.
21376
21377 2010-12-21  Bruno Haible  <bruno@clisp.org>
21378
21379         New module 'round-ieee'.
21380         * modules/round-ieee: New file.
21381         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
21382         whether round works according to ISO C 99 with IEC 60559.
21383         * m4/round-ieee.m4: New file.
21384         * modules/round-ieee-tests: New file.
21385         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
21386         * tests/test-round1.c (main): Remove signbit tests.
21387         * modules/round-tests (Depends-on): Remove 'signbit'.
21388         * doc/posix-functions/round.texi: Mention the new module.
21389
21390 2010-12-21  Bruno Haible  <bruno@clisp.org>
21391
21392         New module 'trunc-ieee'.
21393         * modules/trunc-ieee: New file.
21394         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
21395         whether trunc works according to ISO C 99 with IEC 60559.
21396         * m4/trunc-ieee.m4: New file.
21397         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
21398         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
21399         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
21400         * modules/trunc-ieee-tests: New file.
21401         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
21402         * tests/test-trunc1.c (main): Remove signbit tests.
21403         * modules/trunc-tests (Depends-on): Remove 'signbit'.
21404         * doc/posix-functions/trunc.texi: Mention the new module.
21405
21406 2010-12-21  Bruno Haible  <bruno@clisp.org>
21407
21408         New module 'ceil-ieee'.
21409         * modules/ceil-ieee: New file.
21410         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
21411         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
21412         ISO C 99 with IEC 60559.
21413         * m4/ceil-ieee.m4: New file.
21414         * modules/ceil (Files): Add lib/ceil.c.
21415         (Depends-on): Add 'float'.
21416         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
21417         * lib/math.in.h (ceil): New declaration.
21418         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
21419         REPLACE_CEIL.
21420         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
21421         * modules/ceil-ieee-tests: New file.
21422         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
21423         * tests/test-math-c++.cc: Check the signature of 'ceil'.
21424         * doc/posix-functions/ceil.texi: Mention the new module.
21425
21426 2010-12-21  Bruno Haible  <bruno@clisp.org>
21427
21428         New module 'floor-ieee'.
21429         * modules/floor-ieee: New file.
21430         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
21431         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
21432         ISO C 99 with IEC 60559.
21433         * m4/floor-ieee.m4: New file.
21434         * modules/floor (Files): Add lib/floor.c.
21435         (Depends-on): Add 'float'.
21436         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
21437         * lib/math.in.h (floor): New declaration.
21438         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
21439         REPLACE_FLOOR.
21440         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
21441         * modules/floor-ieee-tests: New file.
21442         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
21443         * tests/test-math-c++.cc: Check the signature of 'floor'.
21444         * doc/posix-functions/floor.texi: Mention the new module.
21445
21446 2010-12-21  Bruno Haible  <bruno@clisp.org>
21447
21448         New module 'roundf-ieee'.
21449         * modules/roundf-ieee: New file.
21450         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
21451         test whether roundf works according to ISO C 99 with IEC 60559.
21452         * m4/roundf-ieee.m4: New file.
21453         * modules/roundf-ieee-tests: New file.
21454         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
21455         * tests/test-roundf1.c (main): Remove signbit tests.
21456         * modules/roundf-tests (Depends-on): Remove 'signbit'.
21457         * doc/posix-functions/roundf.texi: Mention the new module.
21458
21459 2010-12-21  Bruno Haible  <bruno@clisp.org>
21460
21461         New module 'truncf-ieee'.
21462         * modules/truncf-ieee: New file.
21463         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
21464         test whether truncf works according to ISO C 99 with IEC 60559.
21465         * m4/truncf-ieee.m4: New file.
21466         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
21467         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
21468         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
21469         * modules/truncf-ieee-tests: New file.
21470         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
21471         * tests/test-truncf1.c (main): Remove signbit tests.
21472         * modules/truncf-tests (Depends-on): Remove 'signbit'.
21473         * doc/posix-functions/truncf.texi: Mention the new module.
21474
21475 2010-12-21  Bruno Haible  <bruno@clisp.org>
21476
21477         New module 'ceilf-ieee'.
21478         * modules/ceilf-ieee: New file.
21479         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
21480         test whether ceilf works according to ISO C 99 with IEC 60559.
21481         * m4/ceilf-ieee.m4: New file.
21482         * modules/ceilf-ieee-tests: New file.
21483         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
21484         * tests/test-ceilf1.c (main): Remove signbit tests.
21485         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
21486         * doc/posix-functions/ceilf.texi: Mention the new module.
21487
21488 2010-12-21  Bruno Haible  <bruno@clisp.org>
21489
21490         New module 'floorf-ieee'.
21491         * modules/floorf-ieee: New file.
21492         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
21493         test whether floorf works according to ISO C 99 with IEC 60559.
21494         * m4/floorf-ieee.m4: New file.
21495         * modules/floorf-ieee-tests: New file.
21496         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
21497         * tests/test-floorf1.c (main): Remove signbit tests.
21498         * modules/floorf-tests (Depends-on): Remove 'signbit'.
21499         * doc/posix-functions/floorf.texi: Mention the new module.
21500
21501 2010-12-21  Bruno Haible  <bruno@clisp.org>
21502
21503         Support for minus zero in autoconf macros.
21504         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
21505         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
21506         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
21507         * tests/minus-zero.h: Update comments.
21508
21509 2010-12-21  Bruno Haible  <bruno@clisp.org>
21510
21511         Tests for module 'ceil'.
21512         * modules/ceil-tests: New file.
21513         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
21514         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
21515
21516 2010-12-21  Bruno Haible  <bruno@clisp.org>
21517
21518         Tests for module 'floor'.
21519         * modules/floor-tests: New file.
21520         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
21521         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
21522
21523 2010-12-21  Bruno Haible  <bruno@clisp.org>
21524
21525         math: Fix indentation.
21526         * lib/math.in.h (floorf): Fix indentation.
21527
21528 2010-12-21  Bruno Haible  <bruno@clisp.org>
21529
21530         Fix cross-compilation guesses on Solaris.
21531         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
21532         not match "solaris2.10".
21533         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
21534         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
21535         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
21536
21537 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
21538
21539         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
21540         This fixes a problem observed with the latest coreutils snapshot
21541         that caused a test to fail on Solaris 8.  src/csplit.c's call
21542         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
21543         earlier, instead of returning the number of bytes that would have
21544         been generated; this causes csplit to incorrectly report memory
21545         exhaustion.
21546         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
21547         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
21548         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
21549         comments to match.
21550         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
21551         Fix typo in matching older versions of Solaris: "solaris2.10"
21552         is matched by the shell pattern "solaris2.[0-9]*".  This matters
21553         only for guessing while cross-compiling.
21554         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
21555
21556 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
21557
21558         ftoastr: fix comment again
21559         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
21560         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
21561         Also, simplify example a bit by using flags = 0.
21562
21563 2010-12-20  Bruno Haible  <bruno@clisp.org>
21564
21565         round*, trunc*: Update documentation regarding glibc.
21566         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
21567         * doc/posix-functions/round.texi: Likewise.
21568         * doc/posix-functions/roundl.texi: Likewise.
21569         * doc/posix-functions/truncf.texi: Likewise.
21570         * doc/posix-functions/trunc.texi: Likewise.
21571         * doc/posix-functions/truncl.texi: Likewise.
21572
21573 2010-12-20  Bruno Haible  <bruno@clisp.org>
21574
21575         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
21576         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
21577         * doc/posix-functions/round.texi: Likewise.
21578         * doc/posix-functions/roundl.texi: Likewise.
21579
21580 2010-12-20  Bruno Haible  <bruno@clisp.org>
21581
21582         ttyname_r: Add missing declaration on HP-UX 11.
21583         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
21584         HAVE_TTYNAME_R.
21585         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
21586         declared. Set HAVE_TTYNAME_R always.
21587         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
21588         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
21589         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
21590         HAVE_TTYNAME_R.
21591         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
21592
21593 2010-12-20  Bruno Haible  <bruno@clisp.org>
21594
21595         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
21596         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
21597         * doc/posix-functions/getlogin_r.texi: Likewise.
21598         * tests/test-getlogin.c: Include <errno.h>.
21599         (main): Avoid test failure on HP-UX 11.11.
21600         * tests/test-getlogin_r.c (main): Likewise.
21601
21602 2010-12-20  Bruno Haible  <bruno@clisp.org>
21603
21604         getlogin_r: Add missing declaration on HP-UX 11.
21605         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
21606         declared also when it exists as a function.
21607         * doc/posix-functions/getlogin_r.texi: Document this workaround.
21608
21609 2010-12-20  Bruno Haible  <bruno@clisp.org>
21610
21611         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
21612         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
21613         through wcrtomb.
21614
21615 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
21616
21617         ftoastr: fix comment
21618         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
21619         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
21620
21621 2010-12-19  Bruno Haible  <bruno@clisp.org>
21622
21623         isnan: Ensure it is a macro.
21624         * lib/math.in.h (isnan): Define as a macro if not already a macro.
21625         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
21626         Solaris.
21627
21628 2010-12-19  Bruno Haible  <bruno@clisp.org>
21629
21630         ldexpl test: Fix link error on OSF/1 5.1.
21631         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
21632
21633 2010-12-19  Bruno Haible  <bruno@clisp.org>
21634
21635         wctype: Make it work in C++ mode on OSF/1 5.1.
21636         * lib/wctype.in.h (iswblank): Declare but not define here.
21637         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
21638         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
21639         * modules/wctype (Files): Add lib/iswblank.c.
21640
21641 2010-12-19  Bruno Haible  <bruno@clisp.org>
21642
21643         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
21644         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
21645         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
21646
21647 2010-12-19  Bruno Haible  <bruno@clisp.org>
21648
21649         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
21650         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
21651         _POSIX_PII_SOCKET.
21652         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
21653         * doc/posix-functions/recvfrom.texi: Likewise.
21654         * doc/posix-functions/send.texi: Likewise.
21655         * doc/posix-functions/sendto.texi: Likewise.
21656
21657 2010-12-19  Bruno Haible  <bruno@clisp.org>
21658
21659         tcgetsid: Add missing declaration on OSF/1 5.1.
21660         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
21661         HAVE_TCGETSID.
21662         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
21663         Don't set HAVE_TCGETSID.
21664         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
21665         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
21666         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
21667         HAVE_TCGETSID.
21668         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
21669
21670 2010-12-19  Bruno Haible  <bruno@clisp.org>
21671
21672         stdio: Fix problem with popen() declaration on OSF/1 5.1.
21673         * lib/stdio.in.h: During the include_next statement, let recursive
21674         includes of this file include only the system header file.
21675
21676 2010-12-19  Bruno Haible  <bruno@clisp.org>
21677
21678         iconv_open: Fix regression from 2010-12-04.
21679         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
21680         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
21681
21682 2010-12-19  Bruno Haible  <bruno@clisp.org>
21683
21684         stdbool test: Avoid a gcc warning.
21685         * tests/test-stdbool.c (main): Fail if e1 is false.
21686         Reported by Jim Meyering.
21687
21688 2010-12-19  Jim Meyering  <meyering@redhat.com>
21689
21690         setenv: restore to working order
21691         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
21692         mistakenly removed.
21693         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
21694         HAVE_SETENV.
21695         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
21696         HAVE_SETENV.
21697
21698 2010-12-19  Bruno Haible  <bruno@clisp.org>
21699
21700         Document some different function declarations on OSF/1 5.1.
21701         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
21702         * doc/posix-functions/inet_ntop.texi: Likewise.
21703         * doc/posix-functions/gethostname.texi: Likewise.
21704         * lib/unistd.in.h (gethostname): Update comment.
21705
21706 2010-12-19  Bruno Haible  <bruno@clisp.org>
21707
21708         doc: Mention vasprintf-posix module.
21709         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
21710         the 'vasprintf-posix' module.
21711         * doc/glibc-functions/vasprintf.texi: Likewise.
21712
21713 2010-12-19  Bruno Haible  <bruno@clisp.org>
21714
21715         unsetenv: Add missing declaration on OSF/1 5.1.
21716         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
21717         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
21718         Don't set HAVE_UNSETENV. In the test program, set _BSD.
21719         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
21720         not HAVE_UNSETENV.
21721         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
21722         HAVE_UNSETENV.
21723         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
21724
21725 2010-12-19  Bruno Haible  <bruno@clisp.org>
21726
21727         setenv: Add missing declaration on OSF/1 5.1.
21728         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
21729         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
21730         declared. Don't set HAVE_SETENV.
21731         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
21732         not HAVE_SETENV.
21733         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
21734         HAVE_SETENV.
21735         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
21736
21737 2010-12-19  Bruno Haible  <bruno@clisp.org>
21738
21739         nl_langinfo tests: Avoid gcc warning.
21740         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
21741
21742 2010-12-19  Bruno Haible  <bruno@clisp.org>
21743
21744         mknod: Avoid error in C++ mode on OSF/1 with GCC.
21745         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
21746         _GL_CXXALIAS_SYS.
21747
21748 2010-12-19  Bruno Haible  <bruno@clisp.org>
21749
21750         stdbool: Relax test.
21751         * tests/test-stdbool.c (e): Don't require that casts from a variable's
21752         address to 'bool' work in static initializer, for compilers other than
21753         GCC.
21754
21755 2010-12-19  Bruno Haible  <bruno@clisp.org>
21756
21757         ftello: Add missing declaration on OSF/1 5.1.
21758         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
21759         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
21760         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
21761         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
21762         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
21763
21764 2010-12-19  Bruno Haible  <bruno@clisp.org>
21765
21766         fseeko: Add missing declaration on OSF/1 5.1.
21767         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
21768         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
21769         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
21770         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
21771         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
21772
21773 2010-12-19  Bruno Haible  <bruno@clisp.org>
21774
21775         fchdir: Add missing declaration on OSF/1 5.1.
21776         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
21777         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
21778         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
21779         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
21780         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
21781
21782 2010-12-19  Bruno Haible  <bruno@clisp.org>
21783
21784         relocatable-prog-wrapper: Separate from relocatable-prog.
21785         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
21786         uninstall-relocwrapper rule here.
21787         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
21788         Reported by Ian Beckwith <ianb@erislabs.net>.
21789
21790 2010-12-19  Bruno Haible  <bruno@clisp.org>
21791
21792         unistr/u8-mbsnlen: Add missing dependency.
21793         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
21794         Reported by Ian Beckwith <ianb@erislabs.net>.
21795
21796 2010-12-19  Bruno Haible  <bruno@clisp.org>
21797
21798         iconv: Make it possible again to use this module without 'iconv-h'.
21799         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
21800         if it is not defined.
21801         Reported by Ian Beckwith <ianb@erislabs.net>.
21802
21803 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
21804
21805         acl: port to Solaris 8 when copying from tmpfs to ufs
21806         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
21807         error number.  Problem observed on Solaris 8 with latest
21808         coreutils, with "mv A B", where A is on a tmpfs file system and B
21809         is on a ufs file system.  This caused coreutils' mv/part-symlink
21810         test to fail.
21811
21812         tests: set fail=0 at start
21813         * tests/init.sh (setup_): Move fail=0 initialization here ...
21814         (mktempd_): ... from here, so that tests can rely on fail being
21815         set to 0 initially.  This fixes a problem in coreutils; see:
21816         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
21817
21818 2010-12-18  Bruno Haible  <bruno@clisp.org>
21819
21820         memmem-simple: Stylistic changes.
21821         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
21822         Fix preprocessor directive indentation.
21823
21824 2010-12-15  Pádraig Brady <P@draigBrady.com>
21825
21826         memmem, memmem-simple: reorganize and expand empty needle check
21827         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
21828         functional checks to memmem-simple so that one has a fully functional
21829         memmem by using just this module.
21830         Restrict the performance only check to the memmem module.
21831         Also expand the empty needle check to ensure the correct
21832         pointer is returned, not just a non NULL pointer.
21833         * doc/glibc-functions/memmem.texi: Rearrange the portability
21834         documentation to correlate with the rearranged checks.
21835         Clarify exactly how the memmem and memmem-simple modules
21836         relate to each other.
21837
21838 2010-12-15  Pádraig Brady <P@draigBrady.com>
21839             Bruno Haible  <bruno@clisp.org>
21840
21841         Improve cross-compilation guesses for uClibc.
21842         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
21843         that uClibc does not have the glibc bug.
21844         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
21845         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
21846
21847 2010-12-14  Eric Blake  <eblake@redhat.com>
21848
21849         configmake: provide fallbacks for oldest supported autotools
21850         * m4/configmake.m4: New file.
21851         * modules/configmake (Files): Ship it.
21852         (configure.ac): Use it to guarantee fallbacks.
21853
21854 2010-12-13  Pádraig Brady <P@draigBrady.com>
21855
21856         read-file: Improve handling of large files
21857         * lib/read-file.c (fread_file): Minimize realloc()s
21858         for regular files, and better manage sizes around SIZE_MAX.
21859
21860 2010-12-13  Eric Blake  <eblake@redhat.com>
21861
21862         cloexec, fcntl: relax license
21863         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
21864         consent from all contributors.
21865         * modules/fcntl (License): Likewise.
21866
21867 2010-12-10  Bruno Haible  <bruno@clisp.org>
21868
21869         Tests for module 'pipe-posix'.
21870         * modules/pipe-posix-tests: New file.
21871         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
21872
21873 2010-12-10  Bruno Haible  <bruno@clisp.org>
21874
21875         pipe-posix: Make it work in C++ mode.
21876         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
21877         (pipe): Use common idiom, not a macro definition.
21878         * lib/pipe.c: New file.
21879         * m4/pipe.m4: New file.
21880         * modules/pipe-posix (Description): Enhance.
21881         (Files): Add lib/pipe.c, m4/pipe.m4.
21882         (configure.ac): Invoke gl_FUNC_PIPE.
21883         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
21884         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
21885         * tests/test-unistd-c++.cc: Check the signature of pipe.
21886
21887 2010-12-10  Bruno Haible  <bruno@clisp.org>
21888
21889         Rename module 'pipe' to 'spawn-pipe'.
21890         * modules/spawn-pipe: New file, renamed from modules/pipe.
21891         (Files, configure.ac, Makefile.am): Update.
21892         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
21893         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
21894         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
21895         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
21896         "spawn-pipe.h" instead of "pipe.h".
21897         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
21898         to gl_SPAWN_PIPE.
21899         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
21900         (Files, Makefile.am): Update.
21901         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
21902         Update.
21903         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
21904         Include "spawn-pipe.h" instead of "pipe.h".
21905         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
21906         * lib/javacomp.c: Likewise.
21907         * lib/javaversion.c: Likewise.
21908         * lib/pipe-filter-gi.c: Likewise.
21909         * lib/pipe-filter-ii.c: Likewise.
21910         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
21911         * modules/javacomp (Depends-on): Likewise.
21912         * modules/javaversion (Depends-on): Likewise.
21913         * modules/pipe-filter-gi (Depends-on): Likewise.
21914         * modules/pipe-filter-ii (Depends-on): Likewise.
21915         * MODULES.html.sh (Executing programs): Update.
21916         * NEWS: Mention the change.
21917
21918 2010-12-10  Eric Blake  <eblake@redhat.com>
21919
21920         pipe-posix: new module
21921         * modules/pipe-posix: New file.
21922         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
21923         (gl_UNISTD_H): Check for declaration.
21924         * modules/unistd (Makefile.am): Substitute it.
21925         * lib/unistd.in.h (pipe): Provide it for mingw.
21926         * doc/posix-functions/pipe.texi (pipe): Update documentation.
21927         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
21928
21929 2010-12-07  Bruno Haible  <bruno@clisp.org>
21930
21931         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
21932         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
21933         u8_strcmp_gnu.
21934         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
21935
21936 2010-12-06  Bruno Haible  <bruno@clisp.org>
21937
21938         Update internal documentation.
21939         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
21940
21941 2010-12-04  Bruno Haible  <bruno@clisp.org>
21942
21943         Put more information about failed tests into the test return codes.
21944         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
21945         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
21946         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
21947         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
21948         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
21949         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
21950         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
21951         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
21952         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
21953         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
21954         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
21955         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
21956         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
21957         * m4/stdint.m4 (gl_STDINT_H): Likewise.
21958         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
21959         returns a bit mask.
21960         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
21961         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
21962         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
21963         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
21964         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
21965         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
21966         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
21967         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
21968         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
21969         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
21970         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
21971         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
21972         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
21973         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
21974         * m4/link.m4 (gl_FUNC_LINK): Likewise.
21975         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
21976         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
21977         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
21978         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
21979         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
21980         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
21981         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
21982         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
21983         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
21984         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
21985         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
21986         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
21987         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
21988         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
21989         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
21990         gl_PRINTF_PRECISION): Likewise.
21991         * m4/regex.m4 (gl_REGEX): Likewise.
21992         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
21993         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
21994         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
21995         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
21996         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
21997         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
21998         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
21999         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
22000         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
22001         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
22002         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
22003         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
22004         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
22005         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
22006         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
22007         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
22008         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
22009         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
22010         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
22011         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
22012         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
22013         enumerated value.
22014         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
22015
22016 2010-12-04  Bruno Haible  <bruno@clisp.org>
22017
22018         Update for Solaris 11 2010-11.
22019         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
22020         Express, released in November 2010.
22021
22022 2010-12-04  Bruno Haible  <bruno@clisp.org>
22023
22024         nproc: Relax license.
22025         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
22026         and Paul Eggert.
22027         Requested by Ludovic Courtès <ludo@gnu.org>.
22028
22029 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
22030
22031         utimecmp: fine-grained src to nearby coarse-grained dest
22032
22033         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
22034         and the source is on a file system with higher-resolution time
22035         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
22036         not work, and the time stamps are close together, the algorithm to
22037         determine the exact resolution from the read-back mtime was buggy:
22038         it had a "!=" where it should have had an "==".  This bug has been
22039         in the code ever since it was introduced to gnulib.
22040         Problem reported by Dan Jacobson in
22041         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
22042
22043 2010-11-30  Bruno Haible  <bruno@clisp.org>
22044
22045         strerror_r-posix: Fix autoconf test.
22046         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
22047
22048 2010-11-28  Bruno Haible  <bruno@clisp.org>
22049             Paul Eggert  <eggert@cs.ucla.edu>
22050
22051         Tests for module 'getdomainname'.
22052         * modules/getdomainname-tests: New file.
22053         * tests/test-getdomainname.c: New file, based on
22054         tests/test-gethostname.c.
22055
22056 2010-11-28  Bruno Haible  <bruno@clisp.org>
22057             Paul Eggert  <eggert@cs.ucla.edu>
22058
22059         getdomainname: Use the system function when possible.
22060         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
22061         (getdomainname): Replace if needed. Provide the declaration if it is
22062         missing. Don't use _GL_CXXALIAS_SYS_CAST.
22063         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
22064         (getdomainname): When the system has getdomainname, call the system
22065         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
22066         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
22067         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
22068         found in libnsl. Look for the declaration also in <netdb.h>. Replace
22069         the function if its second argument is of type 'int' or if it is found
22070         in libnsl.
22071         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
22072         <sys/systeminfo.h> and sysinfo().
22073         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
22074         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
22075         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
22076         HAVE_GETDOMAINNAME.
22077         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
22078         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
22079         * doc/glibc-functions/getdomainname.texi: Document the problems with
22080         the getdomainname declaration.
22081
22082 2010-11-28  Bruno Haible  <bruno@clisp.org>
22083
22084         sys_socket: Ensure ss_family field on AIX.
22085         * lib/sys_socket.in.h (ss_family): New macro definition.
22086         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
22087         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
22088         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
22089         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
22090         * modules/sys_socket (Makefile.am): Substitute
22091         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
22092         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
22093
22094 2010-11-27  Bruno Haible  <bruno@clisp.org>
22095
22096         readline: Improve configure output.
22097         * m4/readline.m4 (gl_FUNC_READLINE): Make the
22098         "checking for readline..." result understandable.
22099
22100 2010-11-27  Bruno Haible  <bruno@clisp.org>
22101
22102         *printf-posix: Detect a bug on Solaris 10/x86.
22103         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
22104         for floating-point output.
22105         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
22106         directive.
22107         * tests/test-snprintf-posix.h (test_function): Likewise.
22108         * tests/test-sprintf-posix.h (test_function): Likewise.
22109         * tests/test-vasprintf-posix.c (test_function): Likewise.
22110         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
22111         * doc/posix-functions/printf.texi: Likewise.
22112         * doc/posix-functions/snprintf.texi: Likewise.
22113         * doc/posix-functions/sprintf.texi: Likewise.
22114         * doc/posix-functions/vfprintf.texi: Likewise.
22115         * doc/posix-functions/vprintf.texi: Likewise.
22116         * doc/posix-functions/vsnprintf.texi: Likewise.
22117         * doc/posix-functions/vsprintf.texi: Likewise.
22118         * doc/glibc-functions/obstack_printf.texi: Likewise.
22119         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
22120
22121 2010-11-27  Bruno Haible  <bruno@clisp.org>
22122
22123         Fix link error when module libunistring-optional is in use.
22124         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
22125         * modules/striconveha-tests (Makefile.am): Likewise.
22126
22127 2010-11-27  Bruno Haible  <bruno@clisp.org>
22128
22129         regex: Mention link dependencies.
22130         * modules/regex (Link): New section.
22131         * modules/rpmatch (Link): Likewise.
22132         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
22133
22134 2010-11-27  Bruno Haible  <bruno@clisp.org>
22135
22136         ftoastr: Fix compilation error on Solaris.
22137         * lib/ftoastr.c: Include <config.h>.
22138
22139 2010-11-27  Bruno Haible  <bruno@clisp.org>
22140
22141         getloadavg: Update documentation.
22142         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
22143
22144 2010-11-27  Bruno Haible  <bruno@clisp.org>
22145
22146         sys_socket: Fix test whether the functions are declared.
22147         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
22148         not <sys/select.h>.
22149
22150 2010-11-27  Bruno Haible  <bruno@clisp.org>
22151
22152         getpass: Make sure to get system declaration on some platforms.
22153         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
22154         gl_USE_SYSTEM_EXTENSIONS.
22155         * modules/getpass (Depends-on): Add extensions.
22156
22157 2010-11-26  Bruno Haible  <bruno@clisp.org>
22158
22159         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
22160         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
22161         'iconv' module is present.
22162         (ICONV_CONST): New macro.
22163         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
22164         ICONV_CONST.
22165         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
22166         set ICONV_CONST.
22167         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
22168         here.
22169         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
22170         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
22171         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
22172         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
22173         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
22174         present.
22175
22176 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
22177
22178         ftoastr: comment fix
22179         * lib/ftoastr.c: "little" -> "little or no" in comment
22180
22181 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
22182
22183         stdint: port to GCC 4.3 + OSX + Octave
22184         On this platform, stdint.h is buggy and defines int64_t to long
22185         long int.  The replacement defined it to long int, causing
22186         problems with C++ style name mangling.  Instead, trust the system
22187         definition if INT64_MAX is defined, and likewise for the unsigned
22188         variant.   Problem reported by Jarno Rajahalme in
22189         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
22190         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
22191         and don't mess with int64_t and INT64_MAX in this case.
22192         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
22193
22194 2010-11-24  Bruno Haible  <bruno@clisp.org>
22195
22196         doc: Corrections regarding MacOS X 10.4 and 10.5.
22197         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
22198         MacOS X.
22199         Reported by Simon Josefsson.
22200
22201 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
22202
22203         Uninstall ".bin" files installed by relocwrapper.
22204         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
22205         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
22206         unless it is already there.
22207
22208 2010-11-21  Bruno Haible  <bruno@clisp.org>
22209
22210         Update for NetBSD 5.0.
22211         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
22212         NetBSD; the test fails on NetBSD 5.0.
22213         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
22214         about NetBSD.
22215
22216 2010-11-21  Bruno Haible  <bruno@clisp.org>
22217
22218         Update for HP-UX 11.23 and HP-UX 11.31.
22219         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
22220         HP-UX.
22221
22222 2010-11-21  Bruno Haible  <bruno@clisp.org>
22223
22224         Update for MacOS X 10.5.
22225         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
22226         MacOS X; the test fails on MacOS X 10.5.8.
22227         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
22228         about MacOS X.
22229
22230 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
22231
22232         bootstrap: add bootstrap_sync option.
22233         See discussion at
22234         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
22235         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
22236         * build-aux/bootstrap: Accept --bootstrap-sync to update
22237         bootstrap if it is not identical to the local gnulib's
22238         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
22239         enable this by default.  Accept --no-bootstrap-sync to disable
22240         it.
22241
22242 2010-11-20  Bruno Haible  <bruno@clisp.org>
22243
22244         Ensure that <features.h> is included before __GLIBC__ is tested.
22245         * lib/printf-parse.h: Include <features.h>.
22246         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
22247         Reported by Mike Frysinger <vapier@gentoo.org>.
22248
22249         Ensure that <features.h> is included before __GLIBC__ is tested.
22250         * lib/wchar.in.h: Include <features.h>.
22251         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
22252         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
22253         Reported by Mike Frysinger <vapier@gentoo.org>.
22254
22255         Ensure that <features.h> is included before __GLIBC__ is tested.
22256         * lib/arpa_inet.in.h: Include <features.h>.
22257         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
22258         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
22259         Reported by Mike Frysinger <vapier@gentoo.org>.
22260
22261         Ensure that <features.h> is included before __GLIBC__ is tested.
22262         * build-aux/link-warning.h: Include <features.h>.
22263         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
22264         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
22265         Reported by Mike Frysinger <vapier@gentoo.org>.
22266
22267         Ensure that <features.h> is included before __GLIBC__ is tested.
22268         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
22269         Reported by Mike Frysinger <vapier@gentoo.org>.
22270
22271 2010-11-20  Bruno Haible  <bruno@clisp.org>
22272
22273         memmem: Fix autoconf test.
22274         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
22275
22276 2010-11-20  Bruno Haible  <bruno@clisp.org>
22277
22278         Port to uClibc.
22279         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
22280         * lib/fcntl.in.h: Likewise.
22281         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
22282         * lib/mbrtowc.c (mbrtowc): Likewise.
22283         * lib/relocatable.c (find_shared_library_fullname): Likewise.
22284         * lib/strerror_r.c: Likewise.
22285         * lib/unistr/u8-strnlen.c: Likewise.
22286         * lib/vasnprintf.c (decimal_point_char): Likewise.
22287         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
22288         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
22289         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
22290         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
22291         * tests/test-sigaction.c (handler, main): Likewise.
22292         * lib/freading.h: Treat uClibc like a non-glibc platform.
22293         * lib/freading.c: Likewise.
22294         * lib/gettext.h: Likewise.
22295         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
22296         Likewise.
22297         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
22298         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
22299         * lib/propername.c (proper_name_utf8): Likewise.
22300         * lib/spawn.in.h: Likewise.
22301         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
22302         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
22303         mem_cd_iconveh_internal): Likewise.
22304         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
22305         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
22306         strstr, strcasestr): Likewise.
22307         * lib/unicodeio.c (unicode_to_mb): Likewise.
22308         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
22309         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
22310         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
22311         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
22312         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
22313         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
22314         * lib/unistr/u8-stpncpy.c: Likewise.
22315         * lib/vasnprintf.c (VASNPRINTF): Likewise.
22316         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
22317         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
22318         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
22319         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
22320         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
22321         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
22322         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
22323         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
22324         Likewise.
22325         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
22326         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
22327         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
22328         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
22329         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
22330         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
22331         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
22332         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
22333         * tests/test-getopt.h (OPTIND_MIN): Likewise.
22334         * tests/test-striconveha.c (main): Likewise.
22335         * tests/test-vasnprintf-posix.c (test_function): Likewise.
22336         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
22337         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
22338         * doc/posix-functions/getline.texi: Likewise.
22339         Reported by Mike Frysinger <vapier@gentoo.org>.
22340
22341 2010-11-20  Bruno Haible  <bruno@clisp.org>
22342
22343         nproc: Fix condition.
22344         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
22345         HAVE_PTHREAD_AFFINITY_NP.
22346
22347 2010-11-20  Bruno Haible  <bruno@clisp.org>
22348
22349         Fix a comment.
22350         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
22351
22352 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
22353
22354         ftoastr: don't assume snprintf
22355         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
22356         Implement a subset of snprintf here, by using sprintf safely.
22357         * modules/ftoastr (Depends-on): Remove snprintf.
22358
22359 2010-11-19  Jim Meyering  <meyering@redhat.com>
22360
22361         test-rename.h: fix compilation failure
22362         * tests/test-rename.h (test_rename): Add omitted "}".
22363
22364 2010-11-17  Jim Meyering  <meyering@redhat.com>
22365
22366         maint.mk: add a URL discussing the no-@acronym policy
22367         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
22368
22369 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
22370
22371         ftoastr: depend on snprintf, improve comments
22372         * lib/ftoastr.c: Also mention Loitsch's draft.
22373         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
22374         needed in the current implementation, but it might simplify
22375         speeding up the code later.
22376         * modules/ftoastr: Depend on snprintf; this improves portability.
22377         Suggested by Bruno Haible in the same email.
22378
22379         ftoastr: port to hosts lacking strtof and strtold
22380         Problem reported by Bruno Haible in
22381         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
22382         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
22383         environment and strtold (and presumably strtof) are not available.
22384         * modules/ftoastr (Files): Add m4/c-strtod.m4.
22385         (configure.ac): Require gl_C99_STRTOLD.
22386
22387 2010-11-18  Bruno Haible  <bruno@clisp.org>
22388
22389         c-strtold: Avoid link error on AIX 7.
22390         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
22391         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
22392         (gl_C_STRTOLD): Test whether strtold_l exists.
22393         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
22394
22395 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
22396
22397         intprops: new macro INT_BITS_STRLEN_BOUND
22398         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
22399         ftoastr.h.  This exposes an internal of intprops.h that was formerly
22400         not exposed.  Also, it uses a slightly tighter bound than before;
22401         though this makes no practical difference, we might as well be as
22402         tight as we easily can.
22403
22404         ftoastr: new module, for lossless conversion of floats to short strings
22405         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
22406         * modules/ftoastr: New files.
22407
22408 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
22409
22410         bootstrap: port to Solaris sed
22411         * build-aux/bootstrap (get_version): Port to Solaris sed.
22412         See Ralf Wildenhues's note in
22413         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
22414
22415 2010-11-14  Jim Meyering  <meyering@redhat.com>
22416
22417         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
22418         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
22419         and move definition closer to sole use.
22420
22421 2010-11-13  Jim Meyering  <meyering@redhat.com>
22422
22423         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
22424         Now we require at least autoconf-2.59, which means the work-around
22425         is no longer needed.
22426         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
22427         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
22428         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
22429         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
22430         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
22431
22432 2010-11-13  Bruno Haible  <bruno@clisp.org>
22433
22434         rename, renameat: Avoid test failures at NFS mounted locations.
22435         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
22436         functions.
22437         (test_rename): Use assert_nonexistent.
22438         * tests/test-rename.c: Include <dirent.h>.
22439         * tests/test-renameat.c: Likewise.
22440         Reported by Gary V. Vaughan <gary@gnu.org>.
22441
22442         rename, renameat: Document Linux bug with NFS
22443         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
22444         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
22445         * doc/posix-functions/renameat.texi: Likewise.
22446         Suggested by Eric Blake.
22447
22448 2010-11-13  Bruno Haible  <bruno@clisp.org>
22449
22450         rename test: Add comments.
22451         * tests/test-rename.h (test_rename): Add structure and comments.
22452
22453 2010-11-13  Eric Blake  <eblake@redhat.com>
22454
22455         maintainer-makefile: cover a few more files
22456         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
22457         scripts generated within C files, for libvirt.
22458
22459 2010-11-13  Bruno Haible  <bruno@clisp.org>
22460
22461         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
22462         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
22463         character, return the number of bytes that belong together, not always
22464         1.
22465         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
22466         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
22467         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
22468         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
22469         number of bytes of an invalid character.
22470         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
22471         (main): Invoke it.
22472         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
22473         results.
22474         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
22475         malformed byte sequences.
22476         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
22477         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
22478         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
22479         Reported by Ben Pfaff and Paolo Bonzini.
22480
22481 2010-11-13  Bruno Haible  <bruno@clisp.org>
22482
22483         openat: Work around glibc bug with fchownat() and empty file names.
22484         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
22485         (gl_FUNC_FCHOWNAT): Invoke it.
22486         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
22487         * doc/posix-functions/fchownat.texi: Document the glibc bug.
22488         Reported by Gary V. Vaughan <gary@gnu.org>.
22489
22490 2010-11-13  Bruno Haible  <bruno@clisp.org>
22491
22492         openat: Ensure autoconf macro ordering.
22493         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
22494         gl_USE_SYSTEM_EXTENSIONS.
22495         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
22496
22497 2010-11-13  Bruno Haible  <bruno@clisp.org>
22498
22499         Update comments.
22500         * lib/unistr/u8-check.c: Update file name in comments.
22501         * lib/unistr/u8-mblen.c: Likewise.
22502         * lib/unistr/u8-prev.c: Likewise.
22503         * lib/unistr/u8-strmblen.c: Likewise.
22504         * lib/unistr/u8-strmbtouc.c: Likewise.
22505
22506 2010-11-13  Jim Meyering  <meyering@redhat.com>
22507
22508         tests: avoid test failure on Solaris 10 due to lack of PATH export
22509         * tests/test-update-copyright.sh: Don't forget to export PATH.
22510
22511         init.sh: ensure that IFS is defined, just in case...
22512         * tests/init.sh (setup_): Ensure that IFS is defined,
22513         so that saving and restoring it works as expected.  This
22514         appears to be useful at least for an old version of dash
22515         from a long time ago (RH 6).  See here for details:
22516         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
22517
22518         maint.mk: tighten "test a == b" check
22519         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
22520         test to files that contain something like #!/bin/sh.
22521         Without this, coreutils would get two false positives in
22522         the comments of C source files.
22523
22524 2010-11-12  Eric Blake  <eblake@redhat.com>
22525
22526         bootstrap: fix typo in previous attempt
22527         * build-aux/bootstrap (buildreq): Correct the grouping.
22528         Reported by Paul Eggert.
22529
22530         maintainer-makefile: prohibit test x == x
22531         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
22532         Based on a report by Matthias Bolte.
22533
22534         bootstrap: allow FreeBSD gzip
22535         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
22536         which has no '.' and goes to stderr.
22537         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
22538         Reported by Matthias Bolte.
22539
22540         maintainer-makefile: check for i18n setup
22541         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
22542         will likely work.
22543
22544 2010-11-12  Bruno Haible  <bruno@clisp.org>
22545
22546         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
22547         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
22548         * lib/nanosleep.c (nanosleep): Likewise.
22549
22550 2010-11-11  Bruno Haible  <bruno@clisp.org>
22551
22552         fcntl-h: Fix for use of C++ on glibc systems.
22553         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
22554         also on glibc systems in C++ mode.
22555         Reported by Gary V. Vaughan <gary@gnu.org>.
22556
22557 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
22558
22559         mknod: avoid false failure with dash
22560         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
22561
22562 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
22563
22564         unlink: Fix "is it should" typo in diagnostic.
22565         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
22566         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
22567
22568 2010-11-11  Bruno Haible  <bruno@clisp.org>
22569
22570         Tests for module 'strerror_r-posix'.
22571         * modules/strerror_r-posix-tests: New file.
22572         * tests/test-strerror_r.c: New file.
22573         * tests/test-string-c++.cc: Check the signature of strerror_r.
22574
22575         New module 'strerror_r-posix'.
22576         * lib/string.in.h (strerror_r): New declaration.
22577         * lib/strerror_r.c: New file.
22578         * m4/strerror_r.m4: New file.
22579         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
22580         of strerror_r.
22581         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
22582         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
22583         * modules/strerror_r-posix: New file.
22584         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
22585         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
22586         * doc/posix-functions/strerror_r.texi: Mention the new module and the
22587         portability problems.
22588
22589 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
22590
22591         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
22592         line is also considered for output. Quoted function name in shell
22593         command, so temporary files for functions like MyClass::operator()
22594         are removed correctly without errors.
22595
22596 2010-11-09  Bruno Haible  <bruno@clisp.org>
22597
22598         * doc/posix-functions/strerror.texi: List more failing platforms.
22599
22600         * doc/posix-functions/strerror.texi: Add a comment.
22601
22602 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
22603
22604         fdopendir: fix bug on MacOS X when low on file descriptors
22605
22606         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
22607         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
22608         All callers changed.
22609         (fdopendir): Invoke save_cwd at the top level, not after using
22610         multiple dup() calls to use up file descriptors.  Then retry
22611         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
22612         less than the maximum number of open file descriptors, because
22613         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
22614         on Mac OS X 10.6.4 for tar 1.24
22615         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
22616         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
22617         and for tar 1.25
22618         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
22619
22620 2010-11-07  Bruno Haible  <bruno@clisp.org>
22621
22622         vasnprintf: Support I flag on glibc systems.
22623         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
22624         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
22625         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
22626         snprintf function.
22627         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
22628         glibc systems.
22629         * tests/test-vasnprintf-posix3.c: New file.
22630         * modules/vasnprintf-posix-tests (Files): Add it.
22631         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
22632
22633 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
22634
22635         [html] Fix copy/paste bug: Use unique name for compiler warnings.
22636         * MODULES.html.sh: For compiler warnings, use name
22637         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
22638
22639 2010-11-05  Eric Blake  <eblake@redhat.com>
22640
22641         ceil, floor: avoid spurious failure with icc
22642         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
22643         [denormals-as-zero] when optimizing without -mieee-fp option.
22644         * tests/test-floorf2.c (floorf_reference): Likewise.
22645         * tests/test-ceilf1.c (dummy): New function.
22646         (main): Use it to outsmart icc's optimization.
22647         * tests/test-floorf1.c (dummy, main): Likewise.
22648
22649         tests: require working signbit
22650         * modules/ceilf-tests (Depends-on): Add signbit.
22651         * modules/ceill-tests (Depends-on): Likewise.
22652         * modules/floorf-tests (Depends-on): Likewise.
22653         * modules/floorl-tests (Depends-on): Likewise.
22654         * modules/round-tests (Depends-on): Likewise.
22655         * modules/roundf-tests (Depends-on): Likewise.
22656         * modules/roundl-tests (Depends-on): Likewise.
22657         * modules/trunc-tests (Depends-on): Likewise.
22658         * modules/truncf-tests (Depends-on): Likewise.
22659         * modules/truncl-tests (Depends-on): Likewise.
22660
22661         strtod: work around icc bug
22662         * lib/strtod.c (minus_zero): Define to working value.
22663         (strtod): Use it to avoid icc bug.
22664
22665         copysign: enhance tests
22666         * modules/copysign-tests (Files): Add minus-zero.h.
22667         * tests/test-copysign.c (main): Also test zeros.
22668
22669 2010-11-04  Eric Blake  <eblake@redhat.com>
22670
22671         ceil, floor, round, trunc: enhance tests of -0
22672         * tests/test-ceilf1.c (main): Ensure correct sign of result.
22673         * tests/test-ceill.c (main): Likewise.
22674         * tests/test-floorf1.c (main): Likewise.
22675         * tests/test-floorl.c (main): Likewise.
22676         * tests/test-round1.c (main): Likewise.
22677         * tests/test-roundf1.c (main): Likewise.
22678         * tests/test-roundl.c (main): Likewise.
22679         * tests/test-trunc1.c (main): Likewise.
22680         * tests/test-truncf1.c (main): Likewise.
22681         * tests/test-truncl.c (main): Likewise.
22682
22683 2010-11-04  Eric Blake  <eblake@redhat.com>
22684
22685         frexp, tests: work around ICC bug with -zero
22686         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
22687         works with more compilers.
22688         * tests/minus-zero.h: New file.
22689         * modules/ceilf-tests (Files): Include it.
22690         * modules/ceill-tests (Files): Likewise.
22691         * modules/floorf-tests (Files): Likewise.
22692         * modules/floorl-tests (Files): Likewise.
22693         * modules/frexp-nolibm-tests (Files): Likewise.
22694         * modules/frexp-tests (Files): Likewise.
22695         * modules/frexpl-nolibm-tests (Files): Likewise.
22696         * modules/frexpl-tests (Files): Likewise.
22697         * modules/isnan-tests (Files): Likewise.
22698         * modules/isnand-nolibm-tests (Files): Likewise.
22699         * modules/isnand-tests (Files): Likewise.
22700         * modules/isnanf-nolibm-tests (Files): Likewise.
22701         * modules/isnanf-tests (Files): Likewise.
22702         * modules/isnanl-nolibm-tests (Files): Likewise.
22703         * modules/isnanl-tests (Files): Likewise.
22704         * modules/round-tests (Files): Likewise.
22705         * modules/roundf-tests (Files): Likewise.
22706         * modules/roundl-tests (Files): Likewise.
22707         * modules/ldexpl-tests (Files): Likewise.
22708         * modules/signbit-tests (Files): Likewise.
22709         * modules/snprintf-posix-tests (Files): Likewise.
22710         * modules/sprintf-posix-tests (Files): Likewise.
22711         * modules/strtod-tests (Files): Likewise.
22712         * modules/trunc-tests (Files): Likewise.
22713         * modules/truncf-tests (Files): Likewise.
22714         * modules/truncl-tests (Files): Likewise.
22715         * modules/vsnprintf-posix-tests (Files): Likewise.
22716         * modules/vsprintf-posix-tests (Files): Likewise.
22717         * modules/vasnprintf-posix-tests (Files): Likewise.
22718         * modules/vasprintf-posix-tests (Files): Likewise.
22719         * tests/test-ceilf1.c (main): Use it.
22720         * tests/test-ceill.c (main): Likewise.
22721         * tests/test-floorf1.c (main): Likewise.
22722         * tests/test-floorl.c (main): Likewise.
22723         * tests/test-frexp.c (main): Likewise.
22724         * tests/test-frexpl.c (main): Likewise.
22725         * tests/test-isnan.c (main): Likewise.
22726         * tests/test-isnand.h (main): Likewise.
22727         * tests/test-isnanf.h (main): Likewise.
22728         * tests/test-isnanl.h (main): Likewise.
22729         * tests/test-ldexpl.c (main): Likewise.
22730         * tests/test-round.c (main): Likewise.
22731         * tests/test-roundf.c (main): Likewise.
22732         * tests/test-roundl.c (main): Likewise.
22733         * tests/test-signbit.c (test_signbitf, test_signbitd)
22734         (test_signbitl): Likewise.
22735         * tests/test-snprintf-posix.h (test_function): Likewise.
22736         * tests/test-sprintf-posix.h (test_function): Likewise.
22737         * tests/test-strtod.c (main): Likewise.
22738         * tests/test-trunc1.c (main): Likewise.
22739         * tests/test-truncf1.c (main): Likewise.
22740         * tests/test-truncl.c (main): Likewise.
22741
22742         isnanl: work around icc bug
22743         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
22744
22745 2010-11-03  Eric Blake  <eblake@redhat.com>
22746
22747         tests: fix compiler warnings
22748         * tests/test-getopt.h (test_getopt): Fix condition.
22749         * tests/test-getopt_long.h (test_getopt_long): Likewise.
22750         * tests/test-pipe2.c (main): Likewise.
22751         * tests/test-quotearg-simple.c (main): Avoid icc warning.
22752
22753         utimens: fix broken m4 test
22754         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
22755
22756 2010-10-28  Bruno Haible  <bruno@clisp.org>
22757
22758         posix_spawn*, getdtablesize: Relax license.
22759         * modules/posix_spawn (License): Change to LGPLv2+.
22760         * modules/posix_spawnp (License): Likewise.
22761         * modules/posix_spawn-internal (License): Likewise.
22762         * modules/posix_spawnattr_init (License): Likewise.
22763         * modules/posix_spawnattr_getflags (License): Likewise.
22764         * modules/posix_spawnattr_setflags (License): Likewise.
22765         * modules/posix_spawnattr_getpgroup (License): Likewise.
22766         * modules/posix_spawnattr_setpgroup (License): Likewise.
22767         * modules/posix_spawnattr_getschedparam (License): Likewise.
22768         * modules/posix_spawnattr_setschedparam (License): Likewise.
22769         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
22770         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
22771         * modules/posix_spawnattr_getsigdefault (License): Likewise.
22772         * modules/posix_spawnattr_setsigdefault (License): Likewise.
22773         * modules/posix_spawnattr_getsigmask (License): Likewise.
22774         * modules/posix_spawnattr_setsigmask (License): Likewise.
22775         * modules/posix_spawnattr_destroy (License): Likewise.
22776         * modules/posix_spawn_file_actions_init (License): Likewise.
22777         * modules/posix_spawn_file_actions_addclose (License): Likewise.
22778         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
22779         * modules/posix_spawn_file_actions_addopen (License): Likewise.
22780         * modules/posix_spawn_file_actions_destroy (License): Likewise.
22781         * modules/getdtablesize (License): Likewise.
22782         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
22783
22784 2010-10-26  Bruno Haible  <bruno@clisp.org>
22785
22786         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
22787         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
22788         Cygwin and mingw.
22789         Suggested by Eric Blake.
22790
22791 2010-10-26  Bruno Haible  <bruno@clisp.org>
22792
22793         stdio: Work around compilation error due to renameat() on Solaris 10.
22794         * lib/stdio.in.h: Include <unistd.h> on Solaris.
22795         * lib/renameat.c: Don't include <unistd.h> here.
22796         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
22797         Reported by Paul Eggert and Eric Blake.
22798
22799 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
22800
22801         renameat: port to Solaris 10, which declares renameat in unistd.h
22802
22803         * lib/renameat.c: Include unistd.h before stdio.h, because
22804         Solaris 10 declares renameat in unistd.h.  Problem encountered
22805         when building GNU tar 1.24 on Solaris 10.
22806
22807 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
22808
22809         fdopendir: fix C89 compilation
22810         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
22811         compilers.
22812
22813 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
22814
22815         inttostr: simplify by removing unnecessary redundancy
22816         * lib/anytostr.c: Don't include verify.h.
22817         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
22818         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
22819         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
22820         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
22821         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
22822         Likewise.
22823         * modules/inttostr (Depends-on): Remove 'verify'.
22824
22825 2010-10-23  Bruno Haible  <bruno@clisp.org>
22826
22827         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
22828         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
22829         Reported by Eric Blake.
22830
22831 2010-10-23  Bruno Haible  <bruno@clisp.org>
22832
22833         Tests: Fix LOCALE_JA on MirBSD 10.
22834         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
22835         to an UTF-8 locale.
22836         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
22837         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
22838         Reported by Eric Blake.
22839
22840 2010-10-21  Bruno Haible  <bruno@clisp.org>
22841
22842         nl_langinfo test: Avoid test failure on NetBSD 5.
22843         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
22844         Reported by Eric Blake.
22845
22846 2010-10-21  Eric Blake  <eblake@redhat.com>
22847
22848         c-stack: work around libsigsegv 2.8 bug
22849         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
22850         overflow on at least PowerPC64.
22851
22852 2010-10-17  Bruno Haible  <bruno@clisp.org>
22853
22854         userspec: Drop redundant file.
22855         * modules/userspec (Files): Remove lib/inttostr.h.
22856
22857 2010-10-17  Bruno Haible  <bruno@clisp.org>
22858
22859         nl_langinfo tests: Silence some warnings.
22860         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
22861         Reported by Jim Meyering.
22862
22863 2010-10-17  Bruno Haible  <bruno@clisp.org>
22864
22865         Make use of GCC's attribute __alloc_size__.
22866         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
22867         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
22868         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
22869         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
22870         __alloc_size__.
22871         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
22872         Suggested by Jim Meyering.
22873
22874 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
22875
22876         bootstrap: anchor .gitignore entries.
22877         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
22878         with...
22879         (insert_vc_ignore): ... this new function, which prepends `/' to
22880         all .gitignore entries before passing them to
22881         insert_sorted_if_absent.
22882
22883 2010-10-16  Bruno Haible  <bruno@clisp.org>
22884
22885         nextafter: Fix configure check.
22886         * modules/nextafter (configure.ac): Correct expected prototype.
22887
22888 2010-10-16  Bruno Haible  <bruno@clisp.org>
22889
22890         termios: Update documentation.
22891         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
22892
22893 2010-10-16  Bruno Haible  <bruno@clisp.org>
22894
22895         tests: Make them compile with TinyCC.
22896         * tests/test-strstr.c (main): Remove parentheses around array
22897         initializer.
22898
22899 2010-10-15  Eric Blake  <eblake@redhat.com>
22900
22901         ignore-value: make header idempotent
22902         * lib/ignore-value.h: Add double-inclusion guards.
22903         Reported by Stefan Berger.
22904
22905 2010-10-15  Jim Meyering  <meyering@redhat.com>
22906
22907         GNUmakefile: handle "stable" target, not "major"
22908         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
22909         lists in maint.mk and announce-gen.  Without this, "make stable"
22910         would fail to ensure that $(VERSION) is up to date.
22911
22912 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
22913
22914         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
22915         & co.
22916
22917 2010-10-14  Bruno Haible  <bruno@clisp.org>
22918
22919         vasnprintf: Don't set errno to 0.
22920         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
22921         block that sets it to 0.
22922         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
22923
22924 2010-10-14  Bruno Haible  <bruno@clisp.org>
22925
22926         socketlib: Fix.
22927         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
22928         gl_PREREQ_SYS_H_WINSOCK2.
22929         Reported by Ian Beckwith <ianb@erislabs.net>.
22930
22931 2010-10-13  Jim Meyering  <meyering@redhat.com>
22932
22933         test-select-stdin.c: avoid warn_unused_result warnings
22934         * tests/test-select-stdin.c: Include "macros.h".
22935         ASSERT that read and fflush succeed.
22936
22937 2010-10-13  Jim Meyering  <meyering@redhat.com>
22938
22939         git-version-gen: do require git-VC'd files in cwd
22940         * build-aux/git-version-gen: Reject a git version string
22941         if there are no commits associated with the current directory.
22942         This avoids an unlikely false-positive (unrelated dir whose parent
22943         repository also contains a tag matching v*), as pointed out
22944         by Giuseppe Scrivano in
22945         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
22946
22947 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
22948
22949         argv-iter: omit nonconforming declaration
22950         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
22951         enum arg_iter_err declaration, which doesn't conform to C99.
22952         Solaris 10 cc warns about this.
22953
22954 2010-10-13  Eric Blake  <eblake@redhat.com>
22955
22956         termios: fix compilation on mingw
22957         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
22958         (gl_TERMIOS_H): Adjust it on mingw.
22959         * modules/termios (Makefile.am): Substitute new key.
22960         * lib/termios.in.h (includes): Make include_next conditional.
22961         * doc/posix-headers/termios.texi (termios.h): Update
22962         documentation.
22963         Reported by Daniel P. Berrange.
22964
22965 2010-10-13  Jim Meyering  <meyering@redhat.com>
22966
22967         git-version-gen: don't require that .git/ be in the current dir
22968         * build-aux/git-version-gen: Adjust this script so that it works
22969         when run from any working directory beneath the top-level .git/-
22970         containing directory.  Inspired by a patch from Giuseppe Scrivano,
22971         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
22972
22973         test-select: avoid warn_unused_result warnings
22974         * tests/test-select.c: Include "macros.h".
22975         ASSERT that each call to read, write, and pipe succeeds.
22976         While not technically required, also check each "close".
22977         * modules/select-tests (Files): Add tests/macros.h.
22978
22979         test-symlinkat: remove declaration of unused local
22980         * tests/test-symlinkat.c (main): Remove unused local, "buf".
22981
22982         test-inttostr: avoid shadowing warnings
22983         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
22984         and use malloc rather than the stack for the same reason as
22985         mentioned in the comment justifying the other allocation.
22986
22987 2010-10-11  Bruno Haible  <bruno@clisp.org>
22988
22989         stdlib: Allow multiple gnulib generated replacements to coexist.
22990         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
22991         Reported by Sam Steingold <sds@gnu.org>.
22992
22993 2010-10-11  Jim Meyering  <meyering@redhat.com>
22994
22995         fix a documentation typo
22996         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
22997
22998 2010-10-11  Eric Blake  <eblake@redhat.com>
22999
23000         futimens: work around Solaris 11 bug
23001         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
23002         * tests/test-futimens.h (test_futimens): Enhance, rather than
23003         weaken test.
23004         * doc/posix-functions/futimens.texi (futimens): Document the bug.
23005
23006 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
23007
23008         Indentation.
23009         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
23010         higher-level operators more to the left.
23011
23012 2010-10-11  Jim Meyering  <meyering@redhat.com>
23013
23014         test-futimens: avoid unwarranted test failure on Solaris 5.11
23015         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
23016         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
23017         because it tries to dereference the NULL name argument.
23018
23019 2010-10-11  Bruno Haible  <bruno@clisp.org>
23020
23021         Indentation.
23022         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
23023         indentation.
23024
23025 2010-10-11  Jim Meyering  <meyering@redhat.com>
23026
23027         spawn.in.h: make indentation consistent with parentheses
23028         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
23029         Make indentation consistent with parentheses.
23030
23031 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
23032
23033         Fix mismatched parens in previous commit
23034         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
23035         parens.
23036
23037 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
23038
23039         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
23040
23041         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
23042         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
23043         * lib/malloca.c: Include "verify.h".
23044         (verify1): Remove, replacing with a verify call.
23045         * lib/relocwrapper.c (verify1): Likewise.
23046         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
23047         Likewise.
23048         * modules/malloca (Depends-on): Add 'verify'.
23049         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
23050         * modules/vasnprintf (Depends-on): Add 'verify'.
23051         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
23052         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
23053         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
23054         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
23055         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
23056         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
23057         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
23058
23059         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
23060
23061         Formerly the style was sometimes 2*X - 1, because the C standard
23062         was wrongly thought to disallow ?: in integral constant expressions.
23063         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
23064         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
23065         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
23066         * lib/stdint.in.h (_verify_intmax_size): Likewise.
23067         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
23068         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
23069         verify that time_t cannot be floating.
23070
23071 2010-10-08  Eric Blake  <eblake@redhat.com>
23072
23073         time: enforce recent POSIX ruling that time_t is integral
23074         * lib/time.in.h (__time_t_must_be_integral): Detect any
23075         problematic systems, allowing the rest of gnulib to assume POSIX.
23076
23077 2010-10-08  Jim Meyering  <meyering@redhat.com>
23078
23079         fdopendir: fix a bug on systems lacking openat and /proc support
23080         OpenBSD 4.7 is one such system.  The most noticeable effect was
23081         failure of any application making nontrivial use of fts: rm, du,
23082         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
23083           ./rm: traversal failed: `a': Bad file descriptor
23084         Debugging that, you see that even though FD 6 was closed just
23085         prior to the opendir call in fd_clone_opendir, its resulting
23086         dir->dd_fd was 8, rather than the expected value of 6:
23087
23088         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
23089         93                close (fd);
23090         (gdb) n
23091         94                dir = fd_clone_opendir (dupfd);
23092         (gdb) n
23093         95                saved_errno = errno;
23094         (gdb) p dir->dd_fd
23095         $11 = 8
23096
23097         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
23098         The problem is that on OpenBSD, fd_clone_opendir has to resort
23099         to using the old-style save/restore CWD mechanism, due to its
23100         lack of openat/proc support, and *that* would steal the FD (6)
23101         that opendir was supposed to use.
23102
23103         The fix is to squirrel away the desired FD so that save_cwd uses a
23104         different one, and then free the dest FD right before calling opendir.
23105         That guarantees opendir will use the required file descriptor.
23106
23107         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
23108
23109 2010-10-08  Bruno Haible  <bruno@clisp.org>
23110
23111         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
23112         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
23113
23114 2010-10-08  Bruno Haible  <bruno@clisp.org>
23115
23116         nanosleep: Make replacement POSIX compliant.
23117         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
23118         is out of range.
23119         Reported by Jim Meyering.
23120
23121 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
23122
23123         bootstrap: add hook for altering gnulib.mk, for Bison
23124         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
23125         the Bison bootstrapping process can rewrite file names and variables
23126         in this file before later parts of 'bootstrap' use the file.
23127         Bison wants to include lib/gnulib.mk from the top-level makefile,
23128         so it needs the file names in this file to be relative to the top
23129         level, not relative to lib; plus it needs variable names to be
23130         rewritten.
23131         (slurp): Use the new function.
23132
23133         bootstrap: reformat for readability
23134         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
23135
23136 2010-10-08  Eric Blake  <eblake@redhat.com>
23137
23138         docs: update cygwin progress
23139         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
23140         1.7.7.
23141         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
23142         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
23143         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
23144         * doc/posix-functions/carg.texi (carg): Likewise.
23145         * doc/posix-functions/cargf.texi (cargf): Likewise.
23146         * doc/posix-functions/casin.texi (casin): Likewise.
23147         * doc/posix-functions/casinf.texi (casinf): Likewise.
23148         * doc/posix-functions/casinh.texi (casinh): Likewise.
23149         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
23150         * doc/posix-functions/catan.texi (catan): Likewise.
23151         * doc/posix-functions/catanf.texi (catanf): Likewise.
23152         * doc/posix-functions/catanh.texi (catanh): Likewise.
23153         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
23154         * doc/posix-functions/ccos.texi (ccos): Likewise.
23155         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
23156         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
23157         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
23158         * doc/posix-functions/cexp.texi (cexp): Likewise.
23159         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
23160         * doc/posix-functions/cimag.texi (cimag): Likewise.
23161         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
23162         * doc/posix-functions/clog.texi (clog): Likewise.
23163         * doc/posix-functions/clogf.texi (clogf): Likewise.
23164         * doc/posix-functions/conj.texi (conj): Likewise.
23165         * doc/posix-functions/conjf.texi (conjf): Likewise.
23166         * doc/posix-functions/cpow.texi (cpow): Likewise.
23167         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
23168         * doc/posix-functions/cproj.texi (cproj): Likewise.
23169         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
23170         * doc/posix-functions/creal.texi (creal): Likewise.
23171         * doc/posix-functions/crealf.texi (crealf): Likewise.
23172         * doc/posix-functions/csin.texi (csin): Likewise.
23173         * doc/posix-functions/csinf.texi (csinf): Likewise.
23174         * doc/posix-functions/csinh.texi (csinh): Likewise.
23175         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
23176         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
23177         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
23178         * doc/posix-functions/ctan.texi (ctan): Likewise.
23179         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
23180         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
23181         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
23182         * doc/posix-headers/complex.texi (complex.h): Likewise.
23183
23184 2010-10-07  Jim Meyering  <meyering@redhat.com>
23185
23186         parse-datetime: avoid compilation failure on OpenBSD 4.7
23187         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
23188         This works around a compilation failure on OpenBSD 4.7:
23189         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
23190
23191 2010-10-07  Eric Blake  <eblake@redhat.com>
23192
23193         docs: update cygwin progress
23194         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
23195         1.7.6.
23196         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
23197         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
23198         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
23199         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
23200         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
23201         Likewise.
23202         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
23203         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
23204         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
23205         Likewise.
23206         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
23207         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
23208         Likewise.
23209         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
23210         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
23211         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
23212         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
23213         Likewise.
23214         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
23215         Likewise.
23216         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
23217
23218         docs: update parse-datetime history
23219         * doc/parse-datetime.texi (Authors of parse_datetime): Better
23220         documentation of this function's history and alternatives.
23221
23222         cygwin: use more robust version check
23223         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
23224         exclude an eventual cygwin 1.9.1.
23225         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
23226         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
23227         (gl_FUNC_STRCASESTR): Likewise.
23228         Reported by Bruno Haible.
23229
23230 2010-10-06  Bruno Haible  <bruno@clisp.org>
23231
23232         string, sys_select: Avoid #including large headers unless necessary.
23233         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
23234         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
23235         OSF/1, BeOS, Haiku.
23236         Reported by Jim Meyering.
23237
23238 2010-10-05  Eric Blake  <eblake@redhat.com>
23239
23240         memmem, strstr, strcasestr: fix bug with long periodic needle
23241         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
23242         periodic needle having false positive.
23243         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
23244         and cygwin 1.7.7.
23245         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
23246         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
23247         (gl_FUNC_STRCASESTR): Likewise.
23248         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
23249         * tests/test-memmem.c (main): Expose the bug.
23250         * tests/test-strcasestr.c (main): Likewise.
23251         * tests/test-strstr.c (main): Likewise.
23252         * tests/test-c-strcasestr.c (main): Likewise.
23253         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
23254         * doc/posix-functions/strstr.texi (strstr): Likewise.
23255         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
23256         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
23257
23258 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
23259
23260         parse-datetime: do some more renaming
23261         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
23262         parse_datetime, not get_date.  Mention the renaming.
23263         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
23264         in comments.
23265         * m4/bison.m4: Likewise.
23266
23267 2010-10-05  Eric Blake  <eblake@redhat.com>
23268
23269         parse-datetime: better name than get_date
23270         * NEWS: Reword the deprecation notice.
23271         * modules/get_date: Rename to modules/parse-datetime.
23272         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
23273         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
23274         * lib/get_date.y: Rename to lib/parse-datetime.y.
23275         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
23276         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
23277         * doc/getdate.texi: Provide fallback wrapper.
23278         * lib/getdate.h: Move guts, and wrap...
23279         * lib/parse-datetime.h: ...new file.
23280         * lib/parse-datetime.y (get_date): Rename...
23281         (parse_datetime): ...to this.
23282         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
23283         (gl_PARSE_DATETIME): ...to this.
23284         * doc/posix-functions/getdate.texi (get_date): Provide fallback
23285         documentation.
23286         * modules/getdate (Files): Provide fallback docs and header.
23287         (Notice, Depends-on): Update references.
23288         * tests/test-parse-datetime.c: Likewise.
23289         * DEPENDENCIES: Likewise.
23290         * MODULES.html.sh (Date and time <time.h>): Likewise.
23291         * doc/parse-datetime.texi (Date input formats)
23292         (Authors of parse_datetime): Likewise.
23293         * modules/parse-datetime (Files, configure.ac, Makefile.am)
23294         (Include): Likewise.
23295         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
23296         * gnulib-tool: Likewise.
23297         * m4/bison.m4 (gl_BISON): Likewise.
23298         Suggested by Bruno Haible.
23299
23300 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
23301
23302         more ports to Solaris tr, which needs [] around ranges
23303         * gnulib-tool: Solaris tr needs [] around ranges.
23304         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
23305         * tests/test-pipe-filter-gi1.c (main): Likewise.
23306         * tests/test-pipe-filter-ii1.c (main): Likewise.
23307
23308 2010-10-05  Eric Blake  <eblake@redhat.com>
23309
23310         bootstrap: fix Solaris regression
23311         * build-aux/bootstrap (check_versions): Solaris tr still needs []
23312         around ranges.
23313         Reported by Pádraig Brady.
23314
23315         bootstrap: work with pkg-config
23316         * build-aux/bootstrap (check_versions): Also transliterate - in
23317         prerequisite name.
23318         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
23319         prerequisites that were already found, to avoid confusion.
23320         Reported by Justin Clift.
23321
23322         faccessat: remove unused wrappers
23323         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
23324         presence of these wrappers dragged in -lgen on Solaris.
23325         Reported by Clemens Brogi; fix suggested by Paul Eggert.
23326
23327 2010-10-05  Jim Meyering  <meyering@redhat.com>
23328
23329         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
23330         * Makefile (sc_pragma_columns): New syntax-check rule.
23331
23332 2010-10-04  Bruno Haible  <bruno@clisp.org>
23333
23334         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
23335         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
23336         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
23337         Reported by Bruce Korb and Eric Blake.
23338
23339 2010-10-04  Bruno Haible  <bruno@clisp.org>
23340
23341         threadlib: Make option --with-libpth-prefix work.
23342         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
23343         use $LIBPTH, not just -lpth.
23344
23345 2010-10-04  Bruno Haible  <bruno@clisp.org>
23346
23347         Avoid line length limitation from HP NonStop system header files.
23348         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
23349         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
23350         * lib/ctype.in.h: Likewise.
23351         * lib/dirent.in.h: Likewise.
23352         * lib/errno.in.h: Likewise.
23353         * lib/fcntl.in.h: Likewise.
23354         * lib/float.in.h: Likewise.
23355         * lib/getopt.in.h: Likewise.
23356         * lib/iconv.in.h: Likewise.
23357         * lib/inttypes.in.h: Likewise.
23358         * lib/langinfo.in.h: Likewise.
23359         * lib/locale.in.h: Likewise.
23360         * lib/math.in.h: Likewise.
23361         * lib/netdb.in.h: Likewise.
23362         * lib/netinet_in.in.h: Likewise.
23363         * lib/poll.in.h: Likewise.
23364         * lib/pthread.in.h: Likewise.
23365         * lib/pty.in.h: Likewise.
23366         * lib/sched.in.h: Likewise.
23367         * lib/se-selinux.in.h: Likewise.
23368         * lib/search.in.h: Likewise.
23369         * lib/signal.in.h: Likewise.
23370         * lib/spawn.in.h: Likewise.
23371         * lib/stdarg.in.h: Likewise.
23372         * lib/stddef.in.h: Likewise.
23373         * lib/stdint.in.h: Likewise.
23374         * lib/stdio.in.h: Likewise.
23375         * lib/stdlib.in.h: Likewise.
23376         * lib/string.in.h: Likewise.
23377         * lib/strings.in.h: Likewise.
23378         * lib/sys_file.in.h: Likewise.
23379         * lib/sys_ioctl.in.h: Likewise.
23380         * lib/sys_select.in.h: Likewise.
23381         * lib/sys_socket.in.h: Likewise.
23382         * lib/sys_stat.in.h: Likewise.
23383         * lib/sys_time.in.h: Likewise.
23384         * lib/sys_times.in.h: Likewise.
23385         * lib/sys_utsname.in.h: Likewise.
23386         * lib/sys_wait.in.h: Likewise.
23387         * lib/sysexits.in.h: Likewise.
23388         * lib/termios.in.h: Likewise.
23389         * lib/time.in.h: Likewise.
23390         * lib/unistd.in.h: Likewise.
23391         * lib/wchar.in.h: Likewise.
23392         * lib/wctype.in.h: Likewise.
23393         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
23394         * modules/ctype (Makefile.am): Likewise.
23395         * modules/dirent (Makefile.am): Likewise.
23396         * modules/errno (Makefile.am): Likewise.
23397         * modules/fcntl-h (Makefile.am): Likewise.
23398         * modules/float (Makefile.am): Likewise.
23399         * modules/getopt-posix (Makefile.am): Likewise.
23400         * modules/iconv-h (Makefile.am): Likewise.
23401         * modules/inttypes (Makefile.am): Likewise.
23402         * modules/langinfo (Makefile.am): Likewise.
23403         * modules/locale (Makefile.am): Likewise.
23404         * modules/math (Makefile.am): Likewise.
23405         * modules/netdb (Makefile.am): Likewise.
23406         * modules/netinet_in (Makefile.am): Likewise.
23407         * modules/poll-h (Makefile.am): Likewise.
23408         * modules/pthread (Makefile.am): Likewise.
23409         * modules/pty (Makefile.am): Likewise.
23410         * modules/sched (Makefile.am): Likewise.
23411         * modules/search (Makefile.am): Likewise.
23412         * modules/selinux-h (Makefile.am): Likewise.
23413         * modules/signal (Makefile.am): Likewise.
23414         * modules/spawn (Makefile.am): Likewise.
23415         * modules/stdarg (Makefile.am): Likewise.
23416         * modules/stddef (Makefile.am): Likewise.
23417         * modules/stdint (Makefile.am): Likewise.
23418         * modules/stdio (Makefile.am): Likewise.
23419         * modules/stdlib (Makefile.am): Likewise.
23420         * modules/string (Makefile.am): Likewise.
23421         * modules/strings (Makefile.am): Likewise.
23422         * modules/sys_file (Makefile.am): Likewise.
23423         * modules/sys_ioctl (Makefile.am): Likewise.
23424         * modules/sys_select (Makefile.am): Likewise.
23425         * modules/sys_socket (Makefile.am): Likewise.
23426         * modules/sys_stat (Makefile.am): Likewise.
23427         * modules/sys_time (Makefile.am): Likewise.
23428         * modules/sys_times (Makefile.am): Likewise.
23429         * modules/sys_utsname (Makefile.am): Likewise.
23430         * modules/sys_wait (Makefile.am): Likewise.
23431         * modules/sysexits (Makefile.am): Likewise.
23432         * modules/termios (Makefile.am): Likewise.
23433         * modules/time (Makefile.am): Likewise.
23434         * modules/unistd (Makefile.am): Likewise.
23435         * modules/wchar (Makefile.am): Likewise.
23436         * modules/wctype (Makefile.am): Likewise.
23437
23438 2010-10-04  Bruno Haible  <bruno@clisp.org>
23439
23440         read-file tests: Avoid a test failure on NonStop Kernel.
23441         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
23442         a regular file.
23443         Reported by Joachim Schmitz <schmitz@hp.com>.
23444
23445 2010-10-03  Bruno Haible  <bruno@clisp.org>
23446
23447         gnulib-tool: Fixes for --create-testdir with --libtool.
23448         * gnulib-tool (func_get_automake_snippet): Don't augment
23449         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
23450         an executable.
23451         (func_create_testdir): Handle module 'alloca' like func_import.
23452         Reported by Bruce Korb <bruce.korb@gmail.com>.
23453
23454 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
23455
23456         Avoid some lines longer than 80 characters.
23457         * lib/stdint.in.h: Break long comment lines.
23458         * lib/math.in.h: Likewise.
23459         (_GL_NUM_UINT_WORDS): New macro, for readability.
23460         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
23461         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
23462         * lib/stdlib.in.h: Likewise.
23463         * lib/spawn.in.h: Likewise.
23464         * lib/sys_socket.in.h: Update an URL.
23465         * lib/sys_stat.in.h: Break long line.
23466
23467 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
23468
23469         Improve pmccabe2html.
23470         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
23471         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
23472         when the sources change. Remove the line in the HTML about "Used
23473         ranges" (which implied that there might be other unused ranges),
23474         rename "Resume" to "Summary" (easier to understand for more users).
23475         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
23476         styles, and some unnecessary blank lines.
23477
23478 2010-10-03  Bruno Haible  <bruno@clisp.org>
23479             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
23480
23481         acl: Add support for ACLs on NonStop Kernel.
23482         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
23483         Check whether the function aclsort() exists.
23484         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
23485         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
23486         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
23487         (acl_nontrivial [HAVE_ACLSORT]: New function.
23488         (file_has_acl): Implement for NonStop Kernel.
23489         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
23490         (qset_acl): Implement for NonStop Kernel.
23491         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
23492         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
23493         (main): Implement for NonStop Kernel.
23494         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
23495         Kernel. Handle this flavor.
23496         * tests/test-set-mode-acl.sh: Likewise.
23497         * tests/test-copy-acl.sh: Likewise.
23498         * tests/test-copy-file.sh: Likewise.
23499
23500 2010-10-03  Bruno Haible  <bruno@clisp.org>
23501
23502         Info about ACLs on NonStop Kernel.
23503         * doc/acl-resources.txt: Add info about NonStop Kernel.
23504         References by Joachim Schmitz <schmitz@hp.com>.
23505
23506 2010-10-02  Bruno Haible  <bruno@clisp.org>
23507
23508         Define missing EDQUOT on NonStop Kernel.
23509         * lib/errno.in.h (EDQUOT): Assign a value if missing.
23510         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
23511         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
23512         missing.
23513         * doc/posix-headers/errno.texi: Mention the NSK bug.
23514         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
23515         Reported by Joachim Schmitz <schmitz@hp.com>.
23516
23517 2010-10-02  Bruno Haible  <bruno@clisp.org>
23518
23519         Update doc for POSIX:2008.
23520         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
23521         Update URL of POSIX specification.
23522
23523 2010-10-02  Bruno Haible  <bruno@clisp.org>
23524
23525         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
23526         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
23527         from gnulib, not from Automake.
23528
23529 2010-10-02  Bruno Haible  <bruno@clisp.org>
23530
23531         New module 'system-posix'.
23532         * modules/system-posix: New file.
23533         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
23534         module is present.
23535         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
23536         GNULIB_SYSTEM_POSIX.
23537         * modules/stdlib (Depends-on): Remove sys_wait.
23538         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
23539         * doc/posix-functions/system.texi: Mention the new module.
23540         * doc/posix-headers/stdlib.texi: Likewise.
23541         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
23542         define test_sys_wait_macros to a no-op.
23543         Reported by Sam Steingold <sds@gnu.org>.
23544
23545 2010-09-30  Bruno Haible  <bruno@clisp.org>
23546
23547         More renaming from 'getdate' to 'get_date'.
23548         * doc/get_date.texi: Renamed from doc/getdate.texi.
23549         * modules/get_date (Files): Update.
23550         * MODULES.html.sh (Date and time <time.h>): Update.
23551         * DEPENDENCIES: Update.
23552         * gnulib-tool: Update comment.
23553         * m4/bison.m4 (gl_BISON): Likewise.
23554         * m4/get_date.m4 (gl_GET_DATE): Likewise.
23555
23556 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
23557
23558         bootstrap: support ACLOCAL_FLAGS during aclocal
23559         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
23560         can add additional -I dir for third-party .m4 files.
23561
23562 2010-09-30  Eric Blake  <eblake@redhat.com>
23563
23564         bootstrap: use glibtoolize on MacOS
23565         * build-aux/bootstrap (check_versions): Convert libtool into
23566         libtoolize.
23567         (tool search): Move libtool check earlier, and look for
23568         glibtoolize for MacOS.
23569         (gnulib_tool_options): Auto-add --libtool when appropriate.
23570         Reported by Justin Clift.
23571
23572         poll: fix typo that broke test on MacOS
23573         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
23574         Reported by Justin Clift.
23575
23576         getdate: rename to get_date
23577         Note: getdate.h is not renamed, to minimize client impact.
23578         * modules/getdate: Mark obsolete.  Move old contents...
23579         * modules/get_date: ...to new module name.
23580         * modules/getdate-tests: Move...
23581         * modules/get_date-tests: ...here.
23582         * m4/getdate.m4: Move...
23583         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
23584         * lib/getdate.y: Move...
23585         * lib/get_date.y: ...here.
23586         * tests/test-getdate.c: Move...
23587         * tests/test-get_date.c: ...here.
23588         * doc/posix-functions/getdate.texi (getdate): Update name.
23589         * NEWS: Mention the change.
23590
23591 2010-09-29  Bruno Haible  <bruno@clisp.org>
23592
23593         Separate the module 'waitpid' from the module 'sys_wait'.
23594         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
23595         present.
23596         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
23597         gl_MODULE_INDICATOR_FOR_TESTS.
23598         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
23599         * modules/sys_wait (Depends-on): Remove waitpid.
23600         (Makefile.am): Substitute GNULIB_WAITPID.
23601         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
23602         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
23603         signature only if the 'waitpid' module is present.
23604         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
23605         * NEWS: Mention the change.
23606         * modules/grantpt (Depends-on): Add waitpid.
23607         * modules/wait-process (Depends-on): Likewise.
23608
23609 2010-09-29  Bruno Haible  <bruno@clisp.org>
23610
23611         More tests for module 'sys_wait'.
23612         * modules/sys_wait-c++-tests: New file.
23613         * tests/test-sys_wait-c++.cc: New file.
23614         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
23615         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
23616
23617 2010-09-29  Bruno Haible  <bruno@clisp.org>
23618
23619         New module 'waitpid'.
23620         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
23621         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
23622         Don't include <process.h>.
23623         (waitpid): Declare only, using modern idiom.
23624         * m4/waitpid.m4: New file.
23625         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
23626         * modules/waitpid: New file.
23627         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
23628         (Makefile.am): Update.
23629         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
23630
23631 2010-09-28  Bruno Haible  <bruno@clisp.org>
23632
23633         poll: Assume ANSI C.
23634         * lib/poll.c (poll): Use an ANSI C declaration.
23635
23636 2010-09-28  Bruno Haible  <bruno@clisp.org>
23637
23638         poll-h: Create poll.h on all platforms.
23639         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
23640         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
23641         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
23642         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
23643         (gl_REPLACE_POLL_H): Don't set POLL_H.
23644         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
23645         * modules/poll-h (Depends-on): Add include_next.
23646         (Makefile.am): Create poll.h unconditionally. Substitute also
23647         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
23648
23649 2010-09-28  Bruno Haible  <bruno@clisp.org>
23650
23651         Tests for module 'poll-h'.
23652         * modules/poll-h-c++-tests: New file.
23653         * tests/test-poll-h-c++.cc: New file.
23654
23655         Tests for module 'poll-h'.
23656         * modules/poll-h-tests: New file.
23657         * tests/test-poll-h.c: New file.
23658
23659 2010-09-28  Bruno Haible  <bruno@clisp.org>
23660
23661         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
23662         * modules/poll-h (Depends-on): Add 'extensions'.
23663
23664 2010-09-28  Bruno Haible  <bruno@clisp.org>
23665
23666         New module 'poll-h'.
23667         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
23668         (poll): Use modern idiom.
23669         * modules/poll-h: New file.
23670         * modules/poll (Files): Remove lib/poll.in.h.
23671         (Depends-on): Add poll-h.
23672         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
23673         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
23674         * m4/poll_h.m4: New file.
23675         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
23676         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
23677         and invoke gl_REPLACE_POLL_H.
23678         * lib/poll.c: Use common idiom.
23679         * tests/test-poll.c: Likewise.
23680         * doc/posix-headers/poll.texi: Mention the poll-h module.
23681         Suggested by Eric Blake.
23682
23683 2010-09-26  Bruno Haible  <bruno@clisp.org>
23684
23685         sys_wait: Implement WSTOPSIG.
23686         * lib/sys_wait.in.h (WSTOPSIG): New macro.
23687         Reported by Simon Josefsson.
23688
23689 2010-09-26  Simon Josefsson  <simon@josefsson.org>
23690
23691         stdlib, sys_wait: Avoid compilation error on mingw.
23692         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
23693
23694 2010-09-26  Bruno Haible  <bruno@clisp.org>
23695
23696         stdlib tests: Avoid code duplication.
23697         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
23698         * modules/sys_wait-tests (Files): Likewise.
23699         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
23700         * tests/test-stdlib.c: Include test-sys_wait.h.
23701         (main): Invoke test_sys_wait_macros.
23702         * tests/test-sys_wait.c: Include test-sys_wait.h.
23703         (main): Invoke test_sys_wait_macros.
23704
23705 2010-09-25  Simon Josefsson  <simon@josefsson.org>
23706
23707         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
23708         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
23709         sure Windows sockets are working before calling getaddrinfo.
23710         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
23711         * doc/gnulib.texi (Windows sockets): Fix typo.
23712
23713 2010-09-25  Bruno Haible  <bruno@clisp.org>
23714
23715         Tests for module 'regex-quote'.
23716         * modules/regex-quote-tests: New file.
23717         * tests/test-regex-quote.c: New file.
23718
23719         New module 'regex-quote'.
23720         * lib/regex-quote.h: New file.
23721         * lib/regex-quote.c: New file.
23722         * modules/regex-quote: New file.
23723         Suggested by Reuben Thomas <rrt@sc3d.org>.
23724
23725 2010-09-24  Bruno Haible  <bruno@clisp.org>
23726
23727         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
23728         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
23729
23730 2010-09-23  Bruno Haible  <bruno@clisp.org>
23731
23732         setenv: Relax license.
23733         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
23734         Blake.
23735         Requested by Eric Blake.
23736
23737 2010-09-22  Bruno Haible  <bruno@clisp.org>
23738
23739         termios: Relax license.
23740         * modules/termios (License): Change to LGPLv2+.
23741         Requested by Eric Blake.
23742
23743 2010-09-22  Bruno Haible  <bruno@clisp.org>
23744
23745         threadlib: Allow the package to change the default to 'no'.
23746         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
23747         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
23748         Reported by Paul Eggert.
23749
23750 2010-09-22  Pádraig Brady  <P@draigbrady.com>
23751             Bruno Haible  <bruno@clisp.org>
23752
23753         Fix endless loop in mbmemcasecoll.
23754         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
23755         byte.
23756         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
23757
23758 2010-09-22  Bruno Haible  <bruno@clisp.org>
23759
23760         Tests for module 'memcoll'.
23761         * modules/memcoll-tests: New file.
23762         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
23763
23764         memcoll, xmemcoll: Clarify size vs. length.
23765         * modules/memcoll.c (memcoll0): Clarify specification.
23766         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
23767         passed to collate_error.
23768
23769 2010-09-22  Bruno Haible  <bruno@clisp.org>
23770
23771         Tests for module 'memcasecmp'.
23772         * modules/memcasecmp-tests: New file.
23773         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
23774
23775 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
23776
23777         * lib/pthread.in.h: Add split double-inclusion guard, and include
23778         system <pthread.h> if there is one.  Use @@-style as in other
23779         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
23780         pthread.h doesn't.
23781         (pthread_mutexattr_destroy, pthread_mutexattr_init):
23782         (pthread_mutexattr_settype, pthread_mutex_trylock):
23783         New static inline functions, if there's no system <pthread.h>.
23784         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
23785         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
23786         Approximate with mutexes if the system lacks spinlocks, as in
23787         MacOS.
23788         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
23789         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
23790         @@-style.  Check for spinlocks separately.
23791         (gl_PTHREAD_DEFAULTS): New macro.
23792         * modules/pthread: Redo to use a more typical style for in.h files.
23793
23794 2010-09-21  Eric Blake  <eblake@redhat.com>
23795
23796         net_if: enhance tests
23797         * tests/test-net_if.c (main): Move signature checks earlier.
23798         Print failures to stderr.
23799         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
23800         Document the bug that we do not yet fix.
23801
23802 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
23803
23804         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
23805         about gnulib, not GSS.
23806
23807 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
23808
23809         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
23810         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
23811         for Emacs.
23812         * build-aux/pmccabe2html: Make Makefile.am example code more
23813         cut-and-paste friendly.
23814
23815 2010-09-21  Simon Josefsson  <simon@josefsson.org>
23816
23817         * tests/test-net_if.c: New file.
23818         * modules/net_if-tests: New file.
23819
23820 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
23821
23822         pthread: add pthread_spin_destroy
23823         * lib/pthread.in.h (pthread_spin_destroy): New function.
23824
23825 2010-09-19  Bruno Haible  <bruno@clisp.org>
23826
23827         gnulib-tool: Fix --help output.
23828         * gnulib-tool (func_usage): Fix help message.
23829         Reported by Reuben Thomas <rrt@sc3d.org>.
23830
23831 2010-09-18  Jim Meyering  <meyering@redhat.com>
23832
23833         maint.mk: avoid unexpanded \n in two diagnostics
23834         * top/maint.mk (sc_prohibit_always_true_header_tests):
23835         Don't use a literal \n in a halt=... assignment.  It would not be
23836         expanded, and the two \n bytes would appear in the diagnostic output
23837         rather than the desired newline.  Use halt=$$(printf ... instead.
23838         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
23839
23840 2010-09-18  Bruno Haible  <bruno@clisp.org>
23841
23842         netinet_in: Doc tweak.
23843         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
23844         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
23845
23846 2010-09-18  Jim Meyering  <meyering@redhat.com>
23847
23848         init.sh: correct an outdated comment
23849         * tests/init.sh (create_exe_shims_):  s/function/alias/
23850
23851         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
23852         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
23853         a file named "*.exe" is removed between the glob expansion and the
23854         processing of that oddly named file.
23855
23856 2010-09-17  Eric Blake  <eblake@redhat.com>
23857
23858         mirbsd: add some more support
23859         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
23860         in BSD family.
23861         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
23862         devices as OpenBSD.
23863         * m4/host-os.m4 (mirbsd): Add MirBSD.
23864
23865         tests: fix unportable assumption on sys/wait.h
23866         * tests/test-sys_wait.c (main): Relax test.
23867         * tests/test-stdlib.c (main): Likewise.
23868
23869         init.sh: accomodate directory with no .exes
23870         * tests/init.sh: Accomodate directory containing only scripts.
23871
23872         tests: avoid compiler warning
23873         * tests/test-stdlib.c (main): Use the variable.
23874
23875         fdutimens, fdutimensat: update signature, again
23876         * lib/utimens.h (gl_futimens): Delete, and move signature...
23877         (fdutimens): ...here.
23878         (fdutimensat): Rearrange signature.
23879         (lutimensat): Rename variable for clarity.
23880         * lib/fdutimensat.c (fdutimensat): Update signature.
23881         * lib/utimens.c (fdutimens): Likewise.
23882         (gl_futimens): Delete.
23883         (utimens, lutimens): Update callers.
23884         * lib/futimens.c (futimens): Likewise.
23885         * tests/test-fdutimensat.c: Likewise.
23886         * tests/test-utimens.c: Likewise.
23887         * tests/test-futimens.h: Update comment.
23888         * NEWS: Mention this.
23889         Suggested by Paul Eggert.
23890
23891 2010-09-17  Bruno Haible  <bruno@clisp.org>
23892
23893         Take over the maintenance of some older macros from Autoconf.
23894         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
23895         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
23896         GNU Autoconf.
23897         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
23898         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
23899
23900 2010-09-17  Eric Blake  <eblake@redhat.com>
23901
23902         fdutimensat: drop atflag validation
23903         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
23904         with valid fd, to close a race scenario where futimens is
23905         unsupported and FILE was replaced by a symlink.
23906         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
23907         accordingly.
23908         Suggested by Paul Eggert.
23909
23910 2010-09-16  Bruno Haible  <bruno@clisp.org>
23911
23912         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
23913         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
23914
23915 2010-09-16  Bruno Haible  <bruno@clisp.org>
23916
23917         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
23918         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
23919         login_tty exists.
23920         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
23921
23922 2010-09-16  Bruno Haible  <bruno@clisp.org>
23923
23924         login_tty: Make the replacement code work on BSD systems.
23925         * lib/login_tty.c: Include <sys/ioctl.h>.
23926         (login_tty): Use ioctl TIOCSCTTY when available.
23927         * modules/login_tty (Depends-on): Add sys_ioctl.
23928         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
23929
23930 2010-09-16  Bruno Haible  <bruno@clisp.org>
23931
23932         login_tty: Stricter unit test.
23933         * modules/login_tty-tests (Depends-on): Add tcgetsid.
23934         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
23935         and tcgetsid() after login_tty.
23936         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
23937
23938 2010-09-16  Bruno Haible  <bruno@clisp.org>
23939
23940         New module 'tcgetsid'.
23941         * lib/tcgetsid.c: New file.
23942         * m4/tcgetsid.m4: New file.
23943         * modules/tcgetsid: New file.
23944         * modules/termios (Depends-on): Add c++defs, warn-on-use.
23945         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
23946         GNULIB_TCGETSID, HAVE_TCGETSID.
23947         * lib/termios.in.h: Include <sys/types.h>.
23948         (tcgetsid): New declaration.
23949         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
23950         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
23951         * doc/posix-functions/tcgetsid.texi: Mention the new module.
23952         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
23953
23954 2010-09-16  Bruno Haible  <bruno@clisp.org>
23955
23956         Tests for module 'termios'.
23957         * modules/termios-c++-tests: New file.
23958         * modules/termios-tests: New file.
23959         * tests/test-termios-c++.cc: New file.
23960         * tests/test-termios.c: New file.
23961
23962         New module 'termios'.
23963         * modules/termios: New file.
23964         * lib/termios.in.h: New file.
23965         * m4/termios_h.m4: New file.
23966         * doc/posix-headers/termios.texi: Mention the new module.
23967
23968 2010-09-16  Eric Blake  <eblake@redhat.com>
23969
23970         fdutimensat: add an atflag parameter
23971         * lib/fdutimensat.c (fdutimensat): Add new parameter.
23972         * lib/utimens.h (fdutimensat): Update prototype.
23973         * tests/test-fdutimensat.c: Adjust test to match.
23974         * NEWS: Document the change.
23975         Suggested by Paul Eggert.
23976
23977 2010-09-16  Bruno Haible  <bruno@clisp.org>
23978
23979         Fix typos in comments.
23980         * lib/striconveh.h: Fix typo in comment.
23981         * lib/login_tty.c (login_tty): Likewise.
23982
23983 2010-09-15  Bruno Haible  <bruno@clisp.org>
23984
23985         stdlib: clarify MirBSD WEXITSTATUS bug
23986         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
23987         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
23988
23989 2010-09-15  Eric Blake  <eblake@redhat.com>
23990
23991         stdlib: work around MirBSD WEXITSTATUS bug
23992         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
23993         * modules/stdlib (Depends-on): Add sys_wait.
23994         * tests/test-sys_wait.c (main): Enhance test.
23995         * tests/test-stdlib.c (main): Likewise.
23996         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
23997
23998         docs: mention MacOS issue with WEXITSTATUS(constant)
23999         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
24000         issue.
24001         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
24002
24003         strnlen: add tests
24004         * modules/strnlen-tests: New file.
24005         * tests/test-strnlen.c: Likewise.
24006
24007 2010-09-14  Bruno Haible  <bruno@clisp.org>
24008
24009         unistr/base: Avoid link errors when module 'libunistring' is also used.
24010         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
24011         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
24012         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
24013         Declare also when HAVE_LIBUNISTRING is set.
24014         Reported by Pádraig Brady <P@draigbrady.com>.
24015
24016 2010-09-14  Eric Blake  <eblake@redhat.com>
24017
24018         test-rawmemchr: make more robust
24019         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
24020         (Depends-on, configure.ac): Add needed prerequisites to use it.
24021         * modules/memchr-tests (Files, Depends-on, configure.ac):
24022         Likewise, to avoid implicit reliance on memchr module prereqs.
24023         * tests/test-memchr.c (main): Ensure proper masking.
24024         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
24025         reads.
24026
24027         memchr: detect glibc Alpha bug
24028         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
24029         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
24030         Alpha.
24031         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
24032         * tests/test-memchr.c (main): Enhance test.
24033         Reported by Nelson H. F. Beebe.
24034
24035 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
24036
24037         fts, getcwd, glob: audit for dirfd returning -1
24038         * lib/fts.c (opendir): Remove #define; no longer used.
24039         (opendirat): New arg PDIR_FD.  All callers changed.
24040         (fts_build, _opendir2): Use new opendirat to avoid the need for
24041         dirfd, or for checking whether dirfd returns a negative value.
24042         Don't use opendir; always use openat followed by fdopendir.
24043         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
24044         it.
24045         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
24046         returns -1 here.
24047         * modules/fts (Depends-on): Remove dirfd.
24048         * modules/getcwd (Depends-on): Likewise.
24049
24050 2010-09-13  Eric Blake  <eblake@redhat.com>
24051
24052         float: fix broken MirBSD header
24053         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
24054         * doc/posix-headers/float.texi (float.h): Document it.
24055
24056 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
24057
24058         fts: use O_NOFOLLOW to avoid race condition when opening a directory
24059         * lib/fts.c (opendirat): New arg extra_flags.
24060         (__opendir2): Use it to avoid following symlinks when opening
24061         a directory, if symlinks are not supposed to be followed.  See
24062         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
24063
24064         fdopendir: preserve argument fd before returning
24065         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
24066         (fdopendir_with_dup, fd_clone_opendir): New static functions.
24067         (fdopendir): Use them, arranging for FD to be open to the same
24068         directory that it was when it started.  (It might be temporarily
24069         closed while fdopendir is running, so this not thread- or
24070         signal-safe.)  Be careful to do the right thing even when file
24071         descriptors are scarce and dup fails with errno == EMFILE.  See
24072         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
24073
24074 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
24075
24076         regex: Pass the system regex if its only problem is 32-bit regoff_t.
24077         * NEWS: Document change.
24078         * m4/regex.m4: Disable test for regoff_t size.
24079
24080 2010-09-13  Jim Meyering  <meyering@redhat.com>
24081
24082         fts: don't operate on an invalid file descriptor after failed dup
24083         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
24084         negative file descriptor.
24085
24086 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
24087
24088         savedir: add streamsavedir, deprecate fdsavedir
24089         * NEWS: Mention deprecation of fdsavedir.
24090         * lib/savedir.c (streamsavedir): New extern function, whose name
24091         ends in "savedir" to be consistent with the others.  This differs
24092         from savedirstream in that it doesn't close its argument.  The
24093         next version of GNU tar will use this instead of fdsavedir, to
24094         avoid some race conditions and conserve file descriptors.
24095         (savedirstream): Reimplement as a wrapper around streamsavedir.
24096         (fdsavedir): Add a comment deprecating this function.  As far as
24097         I know, only GNU tar used it, and GNU tar doesn't need it any more.
24098         * lib/savedir.h (streamsavedir): New decl.
24099         (fdsavedir): Add a comment deprecating this.
24100
24101 2010-09-10  Bruno Haible  <bruno@clisp.org>
24102
24103         langinfo: Fix last commit.
24104         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
24105         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
24106         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24107
24108 2010-09-10  Bruno Haible  <bruno@clisp.org>
24109
24110         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
24111         * lib/progreloc.c (O_EXEC): Define fallback.
24112
24113 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
24114
24115         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
24116         * NEWS: Document recent changes to fcntl-h.
24117         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
24118         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
24119         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
24120         Similarly for O_SEARCH; this last was already true, but not documented.
24121         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
24122         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
24123         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
24124         Likewise.
24125         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
24126         is zero, not whether it is defined.
24127         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
24128         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
24129         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
24130
24131 2010-09-10  Bruno Haible  <bruno@clisp.org>
24132
24133         langinfo, nl_langinfo: Fix for IRIX 5.3.
24134         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
24135         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
24136         HAVE_LANGINFO_YESEXPR.
24137         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
24138         HAVE_LANGINFO_YESEXPR.
24139         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
24140         HAVE_LANGINFO_T_FMT_AMPM is 0.
24141         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
24142         HAVE_LANGINFO_YESEXPR is 0.
24143         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
24144         NOEXPR.
24145         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
24146         * doc/posix-functions/nl_langinfo.texi: Likewise.
24147         Reported by Eric Blake.
24148
24149 2010-09-10  Bruno Haible  <bruno@clisp.org>
24150
24151         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
24152         * doc/glibc-functions/login_tty.texi: Mention the include file problem
24153         on FreeBSD 8.0 and OpenBSD 4.6.
24154         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
24155         * m4/pty_h.m4 (gl_PTY_H): Likewise.
24156         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
24157         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
24158         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
24159         ac_includes_default.
24160         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
24161
24162 2010-09-09  Eric Blake  <eblake@redhat.com>
24163
24164         strsignal: work around NetBSD bug
24165         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
24166         * lib/string.in.h (includes): Likewise.
24167         * doc/posix-functions/strsignal.texi (strsignal): Document the
24168         bug.
24169         Reported by Nelson H. F. Beebe.
24170
24171         gnulib-tool: work with NetBSD /bin/sh
24172         * gnulib-tool (func_cache_var, func_cache_lookup_module)
24173         (func_get_description, func_get_comment, func_get_status)
24174         (func_get_notice, func_get_applicability, func_get_filelist)
24175         (func_get_dependencies, func_get_autoconf_early_snippet)
24176         (func_get_autoconf_snippet, func_get_automake_snippet)
24177         (func_get_include_directive, func_get_link_directive)
24178         (func_get_license, func_get_maintainer, func_import): Avoid
24179         shell syntax errors from parsing syntax extensions.
24180
24181 2010-09-09  Bruno Haible  <bruno@clisp.org>
24182
24183         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
24184         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
24185         a reliable way to determine whether the 'alias' command works.
24186
24187 2010-09-08  Jim Meyering  <meyering@redhat.com>
24188
24189         init.sh: penalize a set-x-impaired shell; don't disqualify it
24190         * tests/init.sh: Too many shells corrupt application stderr when
24191         you set -x, so we can't afford to disqualify them, since at least
24192         on Irix-6.5, that would disqualify all bourne shells.
24193         Instead, use a two-pass approach.
24194         On the first pass, try to find a shell that meets the stricter
24195         condition that set -x does not corrupt stderr.
24196         If no shell meets the stricter condition, retest each candidate
24197         shell, but without that extra condition.  Finally, when
24198         VERBOSE=yes is requested and set -x might cause trouble, simply
24199         issue a warning and refrain from enabling debug output.
24200
24201 2010-09-08  Eric Blake  <eblake@redhat.com>
24202
24203         unsetenv: fix OpenBSD bug
24204         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
24205         * doc/posix-functions/unsetenv.texi (unsetenv): Update
24206         documentation.
24207         Reported by Jim Meyering.
24208
24209         strtod: work around IRIX 6.5 bug
24210         * lib/strtod.c (strtod): Reparse number on shorter string if
24211         exponent parse was invalid.
24212         * tests/test-strtod.c (main): Add check for "0x1p 2".
24213         Reported by Tom G. Christensen.
24214
24215         getopt: optimize previous patch
24216         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
24217         empty variable.  Speed up awk script.
24218         Reported by Paolo Bonzini.
24219
24220 2010-09-08  Jim Meyering  <meyering@redhat.com>
24221
24222         test.sh: disqualify shells for which set -x corrupts stderr
24223         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
24224         and OpenBSD 4.7.  They make it so with "set -x", environment settings
24225         appear in stderr output.  For example, this command:
24226             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
24227         prints "P=1" on those two systems:
24228
24229 2010-09-08  Bruno Haible  <bruno@clisp.org>
24230
24231         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
24232         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
24233         commands, because some shells ignore redirections when there is an
24234         error in the command lookup.
24235         Reported by Eric Blake.
24236
24237 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
24238
24239         * lib/regex.h: Fix a mention of `regex_compile' (should be
24240         `re_compile_pattern').
24241         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
24242         (re_set_registers): Correct name of parameter in comment.
24243
24244         * doc/regex.texi: Add documentation for missing syntax flags.
24245         Remove commented-out documentation of defunct syntax option
24246         RE_NO_EMPTY_ALTS.
24247         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
24248         Add documentation of re_set_registers.
24249         Document trick to re-use a pattern buffer by setting fastmap manually.
24250         Update documentation of struct re_pattern_buffer per public members.
24251         Uncomment documentation of equivalence class operators and
24252         collating symbol operators, since they are now implemented,
24253         Explain leftmost-longest matching in relation to alternatives.
24254         Tidy documentation of substring matching.
24255         Remove POSIX documentation, which is done better in
24256         glibc, and refer the reader there. Keep BSD API documentation, as
24257         that is not readily available elsewhere.
24258
24259 2010-09-07  Eric Blake  <eblake@redhat.com>
24260
24261         getopt: handle POSIXLY_CORRECT set but not exported
24262         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
24263         export state of POSIXLY_CORRECT, due to bash set -o posix.
24264         Reported by Dustin J. Mitchell.
24265
24266 2010-09-05  Bruno Haible  <bruno@clisp.org>
24267
24268         gnulib-tool: Highlight the changed options.
24269         * gnulib-tool (func_usage): Display the --import, --add-import,
24270         --remove-import explanations in bold font.
24271
24272 2010-09-06  Karl Berry  <karl@gnu.org>
24273
24274         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
24275
24276 2010-09-05  Bruno Haible  <bruno@clisp.org>
24277
24278         uniwidth/width: Update comment.
24279         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
24280         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
24281
24282 2010-09-05  Bruno Haible  <bruno@clisp.org>
24283
24284         isinf, isnan: Relax license.
24285         * modules/isinf (License): Change from GPL to LGPL, with consent from
24286         Ben Pfaff.
24287         * modules/isnan (License): Likewise.
24288         Requested by Ludovic Courtès.
24289
24290 2010-09-04  Bruno Haible  <bruno@clisp.org>
24291
24292         gnulib-tool: Help migration from --import to --add-import or --update.
24293         * gnulib-tool: Emit a verbose error message when --import is used
24294         without any module name.
24295
24296 2010-09-04  Bruno Haible  <bruno@clisp.org>
24297
24298         Update doc about gnulib-tool.
24299         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
24300         'gnulib-tool --update' in more detail.
24301         Reported by Eric Blake.
24302
24303 2010-09-04  Bruno Haible  <bruno@clisp.org>
24304
24305         gnulib-tool: Change --import. New options --add/remove-import.
24306         * gnulib-tool: New options --add-import, --remove-import.
24307         (func_usage): Document them.
24308         (have_associative): Define always.
24309         (func_import): In import mode, don't merge the specified settings with
24310         the cached settings. Implement remove-import mode.
24311         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
24312         Explain when to use them versus --import.
24313         (Simple update): Use --add-import instead of --import.
24314         * NEWS: Mention the change.
24315
24316 2010-09-04  Bruno Haible  <bruno@clisp.org>
24317
24318         * doc/gnulib-tool.texi (Initial import): Update paragraph about
24319         separate gnulib.mk.
24320
24321 2010-09-04  Bruno Haible  <bruno@clisp.org>
24322
24323         gnulib-tool: Don't talk about CVS any more.
24324         * gnulib-tool (func_usage, func_import): Write "version control"
24325         instead of CVS.
24326
24327 2010-09-04  Jim Meyering  <meyering@redhat.com>
24328
24329         maint.mk: avoid obscure sc_copyright_check failure in coreutils
24330         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
24331         false positives (whose names may be ill-chosen) when searching
24332         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
24333         would cause a false-positive.
24334
24335         avoid coreutils "make distcheck" failure
24336         Coreutils tests with an absolute build directory name that contains
24337         a space.  Not quoting this directory name caused a failure.
24338         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
24339         * tests/test-vc-list-files-cvs.sh: Likewise.
24340
24341 2010-09-04  Bruno Haible  <bruno@clisp.org>
24342
24343         gnulib-tool: Avoid error when run in a package without Makefile.am.
24344         * gnulib-tool: When collecting the m4dirs in a package that does not
24345         have a Makefile.am, eliminate those directories that contain no
24346         gnulib-cache.m4. Fix expression that counts these directories.
24347
24348 2010-09-04  Bruno Haible  <bruno@clisp.org>
24349
24350         update-copyright test: Improve output when perl is missing or too old.
24351         * tests/test-update-copyright.sh: Move test of Perl version down after
24352         the test whether Perl exists. Provide an explanation relating Perl's
24353         error message to Automake's SKIP: message.
24354
24355 2010-09-04  Bruno Haible  <bruno@clisp.org>
24356
24357         Don't augment PATH in TESTS_ENVIRONMENT.
24358         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
24359         set abs_aux_dir instead of augmenting PATH.
24360         * modules/vc-list-files-tests (Makefile.am): Likewise.
24361         * tests/test-update-copyright.sh: Augment PATH here.
24362         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
24363         path_prepend_.
24364         * tests/test-vc-list-files-git.sh: Likewise.
24365
24366 2010-09-04  Jim Meyering  <meyering@redhat.com>
24367
24368         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
24369         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
24370
24371 2010-09-04  Bruno Haible  <bruno@clisp.org>
24372
24373         strdup: Fix compilation error in C++ mode.
24374         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
24375         the macro.
24376
24377 2010-09-04  Bruno Haible  <bruno@clisp.org>
24378
24379         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
24380         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
24381         macro into a function.
24382         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
24383
24384 2010-09-04  Bruno Haible  <bruno@clisp.org>
24385
24386         Set PATH_SEPARATOR the same way autoconf does.
24387         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
24388         the value of PATH_SEPARATOR the same way autoconf-generated configure
24389         scripts do.
24390         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
24391         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
24392
24393 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
24394
24395         Set PATH_SEPARATOR the same way autoconf does.
24396         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
24397         the same way autoconf-generated configure scripts do.
24398         * posix-modules: Likewise.
24399
24400 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
24401
24402         hash: fix safe_hasher const typo
24403         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
24404         const; otherwise, there is a type error later.
24405
24406 2010-09-02  Jim Meyering  <meyering@redhat.com>
24407
24408         test-update-copyright.sh: require perl 5.8.0
24409         * tests/test-update-copyright.sh: Require 5.8.0,
24410         which Tom G. Christensen has confirmed is adequate,
24411         while 5.6.1 is not.
24412
24413 2010-09-02  Eric Blake  <eblake@redhat.com>
24414
24415         tests: init.sh improvements for re-exec'ing with zsh
24416         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
24417         -vx through shell re-exec.
24418         Reported by Tom G. Christensen.
24419
24420         wctype: fix typo in previous commit
24421         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
24422         Reported by Ludovic Courtès.
24423
24424 2010-09-02  Jim Meyering  <meyering@redhat.com>
24425
24426         test-update-copyright.sh: skip test if Perl is too old
24427         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
24428         Reported by Tom G. Christensen.
24429
24430 2010-09-02  Bruno Haible  <bruno@clisp.org>
24431
24432         wctype: Avoid compilation error on IRIX 6.5.30.
24433         * lib/wctype.in.h (iswblank): Declare with a replacement if
24434         REPLACE_ISWBLANK is set.
24435         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
24436         declared. Set REPLACE_ISWBLANK.
24437         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
24438         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
24439         * doc/posix-headers/wctype.texi: Likewise.
24440         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24441
24442 2010-09-01  Bruno Haible  <bruno@clisp.org>
24443
24444         New module 'socketlib'.
24445         * modules/socketlib: New file.
24446         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
24447         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
24448         * modules/sockets (Depends-on): Add socketlib.
24449         Suggested by Sam Steingold <sds@gnu.org>.
24450
24451 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
24452
24453         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
24454
24455         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
24456         when one needs search access to a directory but not read access.
24457         On systems where it is available, it works in some cases where
24458         O_RDONLY does not, namely on directories that are searchable but
24459         not readable, and which need only to be searchable.  If O_SEARCH
24460         is not available, fall back to the traditional method of using
24461         O_RDONLY.
24462
24463         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
24464         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
24465         when opening a directory that needs only to be searchable.
24466         * lib/chdir-safer.c (chdir_no_follow): Likewise.
24467         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
24468         * lib/openat-proc.c (openat_proc_name): Likewise.
24469         * lib/openat.c (openat_needs_fchdir): Likewise.
24470         * lib/save-cwd.c (save_cwd): Likewise.
24471         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
24472
24473 2010-08-28  Bruno Haible  <bruno@clisp.org>
24474
24475         New module 'host-cpu-c-abi'.
24476         * modules/host-cpu-c-abi: New file.
24477         * m4/host-cpu-c-abi.m4: New file, based on part of
24478         clisp/src/m4/general.m4.
24479         Requested by Sam Steingold <sds@gnu.org>.
24480
24481 2010-08-31  Eric Blake  <eblake@redhat.com>
24482         and Jim Meyering  <meyering@redhat.com>
24483
24484         hash: factor, and guard against misbehaving hasher function
24485         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
24486         of table->hasher's return value.  Also protect against a hash value
24487         so large that adding it to table->bucket results in a NULL pointer.
24488         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
24489         Use it in place of open-coded check-and-abort.
24490
24491 2010-08-30  Bruno Haible  <bruno@clisp.org>
24492
24493         hash: silence spurious clang warning
24494         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
24495         Reported by Eric Blake.
24496
24497 2010-08-30  Eric Blake  <eblake@redhat.com>
24498
24499         strstr, memmem, strcasestr: avoid leaked shell message
24500         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
24501         FreeBSD.
24502         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
24503         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
24504
24505         tests: silence clang warning
24506         * tests/test-malloca.c (do_allocation): Avoid dead store.
24507
24508 2010-08-29  Bruno Haible  <bruno@clisp.org>
24509
24510         gettext: Fix recent mistake.
24511         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
24512
24513 2010-08-29  Bruno Haible  <bruno@clisp.org>
24514
24515         selinux-h: Offer a --without-selinux option.
24516         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
24517         --without-selinux was specified, skip all tests and define
24518         HAVE_SELINUX_SELINUX_H to 0.
24519         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
24520         set LIB_SELINUX to empty.
24521         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
24522         gl_LIBSELINUX. If --without-selinux was specified, replace
24523         selinux/context.h.
24524         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
24525
24526 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
24527             Bruno Haible  <bruno@clisp.org>
24528
24529         Make the module 'realloc-gnu' work again on AIX and OSF/1.
24530         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
24531         of HAVE_REALLOC.
24532         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
24533         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
24534         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
24535         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
24536
24537 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
24538             Bruno Haible  <bruno@clisp.org>
24539
24540         Make the module 'calloc-gnu' work again on AIX and OSF/1.
24541         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
24542         HAVE_CALLOC.
24543         * lib/xmalloc.c: Update accordingly.
24544         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
24545         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
24546         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
24547
24548 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
24549             Bruno Haible  <bruno@clisp.org>
24550
24551         Make the module 'malloc-gnu' work again on AIX and OSF/1.
24552         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
24553         HAVE_MALLOC.
24554         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
24555         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
24556         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
24557
24558 2010-08-29  Bruno Haible  <bruno@clisp.org>
24559
24560         Update modules list.
24561         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
24562         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
24563         (String handling <string.h>): Add astrxfrm.
24564         (File system functions): Add readlinkat.
24565
24566 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24567
24568         Tests for module 'realloc-gnu'.
24569         * modules/realloc-gnu-tests: New file.
24570         * tests/test-realloc-gnu.c: New file.
24571
24572         Tests for module 'calloc-gnu'.
24573         * modules/calloc-gnu-tests: New file.
24574         * tests/test-calloc-gnu.c: New file.
24575
24576         Tests for module 'malloc-gnu'.
24577         * modules/malloc-gnu-tests: New file.
24578         * tests/test-malloc-gnu.c: New file.
24579
24580 2010-08-28  Bruno Haible  <bruno@clisp.org>
24581
24582         Rename module 'realloc' -> 'realloc-gnu'.
24583         * modules/realloc-gnu: New file, copied from modules/realloc.
24584         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
24585         obsolete.
24586         * modules/mgetgroups (Depends-on): Update.
24587         * doc/posix-functions/realloc.texi: Update.
24588         * NEWS: Mention the change.
24589
24590         Rename module 'calloc' -> 'calloc-gnu'.
24591         * modules/calloc-gnu: New file, copied from modules/calloc.
24592         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
24593         obsolete.
24594         * doc/posix-functions/calloc.texi: Update.
24595         * NEWS: Mention the change.
24596
24597         Rename module 'malloc' -> 'malloc-gnu'.
24598         * modules/malloc-gnu: New file, copied from modules/malloc.
24599         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
24600         obsolete.
24601         * modules/argp (Depends-on): Update.
24602         * modules/regex (Depends-on): Update.
24603         * doc/posix-functions/malloc.texi: Update.
24604         * NEWS: Mention the change.
24605
24606 2010-08-28  Eric Blake  <eblake@redhat.com>
24607
24608         pread, pwrite: add missing dependency
24609         * modules/pread (Depends-on): Add extensions.
24610         * modules/pwrite (Depends-on): Likewise.
24611
24612 2010-08-28  Bruno Haible  <bruno@clisp.org>
24613
24614         unistr/u*-strchr: Fix tests dependencies.
24615         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
24616         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
24617         Reported by Ian Beckwith <ianb@erislabs.net>.
24618
24619 2010-08-28  Bruno Haible  <bruno@clisp.org>
24620
24621         read-file: Don't occupy too much unused memory.
24622         * lib/read-file.c (fread_file): Shrink the buffer at the end.
24623
24624 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
24625             Eric Blake  <eblake@redhat.com>
24626             Bruno Haible  <bruno@clisp.org>
24627
24628         read-file: Avoid memory reallocations with regular files.
24629         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
24630         (fread_file): With regular files, use the remaining length as the
24631         initial buffer size.  Check against overflow.
24632         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
24633         sys_stat.
24634
24635 2010-08-28  Bruno Haible  <bruno@clisp.org>
24636
24637         ftello: Relax license.
24638         * modules/ftello (License): Relax to LGPLv2+.
24639         Reported by Eric Blake.
24640
24641 2010-08-28  Bruno Haible  <bruno@clisp.org>
24642
24643         Avoid relocwrapper link errors due to gnulib replacement functions.
24644         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
24645         function.
24646         Reported by Ben Pfaff <blp@cs.stanford.edu>.
24647
24648 2010-08-28  Bruno Haible  <bruno@clisp.org>
24649
24650         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
24651         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
24652         defined.
24653         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
24654         Suggested by Eric Blake.
24655
24656 2010-08-28  Bruno Haible  <bruno@clisp.org>
24657
24658         sys_socket, netdb: Ensure socklen_t gets defined.
24659         * modules/sys_socket (Depends-on): Add socklen.
24660         * modules/netdb (Depends-on): Likewise.
24661         * modules/getaddrinfo (Depends-on): Remove socklen.
24662         * modules/getsockopt (Depends-on): Likewise.
24663         * modules/setsockopt (Depends-on): Likewise.
24664         * tests/test-sys_socket.c: Check that socklen_t is defined.
24665         * tests/test-netdb.c: Likewise.
24666         * m4/socklen.m4: Update comments.
24667         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
24668
24669 2010-08-27  Eric Blake  <eblake@redhat.com>
24670
24671         login_tty: add missing dependency
24672         * modules/login_tty (Depends-on): Add pty.
24673
24674 2010-08-26  Eric Blake  <eblake@redhat.com>
24675
24676         lib-symbol-versions: fix m4 quoting
24677         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
24678         format for AC_LINK_IFELSE.
24679
24680         glob: fix compile test
24681         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
24682
24683         btowc: fix missing file
24684         * modules/btowc (Files): Also ship locale-fr.m4.
24685
24686         lseek: fix link test
24687         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
24688         AC_LINK_IFELSE.
24689
24690         include_next: silence autoconf 2.68 warning
24691         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
24692         AC_COMPILE_IFELSE as special.
24693         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
24694         autoconf < 2.68.
24695
24696         acl: fix compilation test
24697         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
24698         AC_COMPILE_IFELSE.
24699
24700 2010-08-26  Bruno Haible  <bruno@clisp.org>
24701
24702         Modernize AC_TRY_RUN invocations.
24703         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
24704         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
24705         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
24706         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
24707         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
24708         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
24709         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
24710         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
24711         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
24712         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
24713         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
24714         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
24715         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
24716         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
24717         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
24718         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
24719         gl_MBRLEN_NUL_RETVAL): Likewise.
24720         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
24721         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
24722         Likewise.
24723         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
24724         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
24725         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
24726         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
24727         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
24728         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
24729         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
24730         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
24731         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
24732         Likewise.
24733         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
24734         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
24735         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
24736         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
24737         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
24738         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
24739         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
24740         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
24741         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
24742         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
24743
24744 2010-08-26  Bruno Haible  <bruno@clisp.org>
24745
24746         Modernize AC_TRY_LINK invocations.
24747         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
24748         AC_TRY_LINK.
24749         * m4/argp.m4 (gl_ARGP): Likewise.
24750         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
24751         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
24752         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
24753         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
24754         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
24755         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
24756         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
24757         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
24758         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
24759         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
24760         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
24761         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
24762         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
24763         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
24764         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
24765         * m4/hostent.m4 (gl_HOSTENT): Likewise.
24766         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
24767         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
24768         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
24769         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
24770         Likewise.
24771         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
24772         Likewise.
24773         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
24774         Likewise.
24775         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
24776         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
24777         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
24778         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
24779         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
24780         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
24781         * m4/servent.m4 (gl_SERVENT): Likewise.
24782         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
24783         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
24784         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
24785         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
24786         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
24787         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
24788         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
24789         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
24790         * modules/tsearch-tests (configure.ac): Likewise.
24791
24792 2010-08-26  Bruno Haible  <bruno@clisp.org>
24793
24794         Modernize AC_TRY_COMPILE invocations.
24795         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
24796         AC_TRY_COMPILE.
24797         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
24798         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
24799         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
24800         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
24801         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
24802         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
24803         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
24804         * m4/lock.m4 (gl_LOCK): Likewise.
24805         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
24806         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
24807         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
24808         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
24809         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
24810         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
24811         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
24812         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
24813         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
24814         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
24815         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
24816         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
24817         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
24818         extraneous semicolon.
24819
24820 2010-08-26  Jim Meyering  <meyering@redhat.com>
24821
24822         stat-time: relax license LGPL
24823         * modules/stat-time (License): Change from GPL to LGPL,
24824         with consent from all contributors, for use in libguile.
24825         Requested by Ludovic Courtès.
24826
24827 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
24828
24829         poll: return immediately on POLLHUP.
24830         * lib/poll.c (poll): Always set timeout before wait_timeout is
24831         computed.
24832
24833 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24834
24835         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
24836         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
24837         rmdir ("dir/.//"), unlinkat.
24838
24839 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
24840
24841         stdbool: avoid spurious failure with modern xlc
24842         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
24843
24844 2010-08-24  Bruno Haible  <bruno@clisp.org>
24845
24846         getloadavg: simplify code
24847         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
24848         gl_have_func. Update comments.
24849
24850 2010-08-24  Eric Blake  <eblake@redhat.com>
24851
24852         getloadavg: don't define SVR4 on cygwin
24853         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
24854         only define SVR4 when -lkvm is required.
24855         Reported by Yaakov Selkowitz.
24856
24857 2010-08-24  Bruno Haible  <bruno@clisp.org>
24858
24859         priv-set: fix comment
24860         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
24861
24862 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
24863
24864         priv-set: fix comments
24865         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
24866         to match code, as suggested by David Bartley in:
24867         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
24868
24869 2010-08-23  Eric Blake  <eblake@redhat.com>
24870
24871         stdbool: avoid rejecting clang
24872         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
24873         * tests/test-stdbool.c: Enable more tests if using the system
24874         <stdbool.h> instead of the gnulib replacement.
24875         (main): Move xlc bug test to a runtime test for all compilers.
24876         Reported by Anders Kaseorg.
24877
24878         argz: fix shell quoting issue
24879         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
24880         Reported by Charles Wilson.
24881
24882 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
24883             Erik Faye-Lund <kusmabite@gmail.com>
24884
24885         poll, select: handle ERROR_BROKEN_PIPE.
24886         * lib/poll.c (win32_compute_revents): Return POLLHUP when
24887         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
24888         * lib/select.c (win32_compute_revents): Do not mark a pipe
24889         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
24890
24891 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
24892
24893         fts: allow compilation with C++
24894         * lib/fts_.h: Specify extern "C" linkage with C++.
24895
24896 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24897
24898         Fix gnulib-tool sed script de-commentation for AIX sed.
24899         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
24900         sed.
24901
24902 2010-08-17  Eric Blake  <eblake@redhat.com>
24903
24904         test-stddef: test for (some) offsetof bugs
24905         * tests/test-stddef.c: Enhance test to ensure correct type of
24906         offsetof.
24907         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
24908         that we are not fixing at this time.
24909
24910 2010-08-15  Bruno Haible  <bruno@clisp.org>
24911
24912         stpncpy: Allow stpncpy to be defined as a macro.
24913         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
24914         if it's already correctly declared.
24915         * lib/string.in.h (stpncpy): Undefine before redefining.
24916         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
24917
24918 2010-08-14  Bruno Haible  <bruno@clisp.org>
24919
24920         Rename module 'memxfrm' to 'amemxfrm'.
24921         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
24922         (amemxfrm): Renamed from memxfrm.
24923         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
24924         (amemxfrm): Renamed from memxfrm.
24925         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
24926         * NEWS: Mention the change.
24927         * MODULES.html.sh (String handling <string.h>): Update.
24928         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
24929         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
24930         * lib/unicase/u16-casexfrm.c: Likewise.
24931         * lib/unicase/u32-casexfrm.c: Likewise.
24932         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
24933         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
24934         * lib/uninorm/u16-normxfrm.c: Likewise.
24935         * lib/uninorm/u32-normxfrm.c: Likewise.
24936         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
24937         memxfrm.
24938         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
24939         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
24940         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
24941         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
24942         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
24943         Suggested by Paul Eggert.
24944
24945 2010-08-14  Bruno Haible  <bruno@clisp.org>
24946
24947         Tests for module 'astrxfrm'.
24948         * modules/astrxfrm-tests: New file.
24949         * tests/test-astrxfrm.c: New file.
24950
24951         New module 'astrxfrm'.
24952         * lib/astrxfrm.h: New file.
24953         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
24954         * modules/astrxfrm: New file.
24955
24956 2010-08-14  Reuben Thomas <rrt@sc3d.org>
24957
24958         regex: Tweak doc.
24959         * doc/regex.texi (Overview): Don't mention regex.c.
24960         (GNU Regular Expression Compiling): Likewise.
24961         (Match-end-of-line Operator): Mention 'not_eol'.
24962
24963 2010-08-14  Brian Gough  <bjg@gnu.org>
24964             Bruno Haible  <bruno@clisp.org>
24965
24966         git-merge-changelog: add doc relating to use with bzr and hg.
24967         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
24968
24969 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
24970
24971         pthread: fix pthread.h creation for srcdir != builddir
24972         * modules/pthread (Makefile.am): Fix the rule to work also in a
24973         non-srcdir build.
24974
24975 2010-08-13  Karl Berry  <karl@gnu.org>
24976
24977         * doc/regex.texi (Predefined Syntaxes): @smallexample.
24978         * doc/posix-*/*: force line break before @url of POSIX
24979         specifications.
24980         Suggested by Werner Lemberg.
24981
24982 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
24983
24984         strtod: fix const diagnostic
24985         * lib/strtod.c (strtod): Don't assign const char * to char *,
24986         as this elicits a warning from GCC when warnings are enabled.
24987
24988 2010-08-10  Pádraig Brady <P@draigbrady.com>
24989         and Eric Blake  <eblake@redhat.com>
24990
24991         copy-acl: ignore ENOTSUP on HP-UX
24992         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
24993         so that it is available for HP-UX.
24994         * lib/copy-acl.c (qcopy_acl): Use it.
24995         Reported by Patrick M. Callahan.
24996
24997 2010-08-10  Eric Blake  <eblake@redhat.com>
24998
24999         open, chown: relax license
25000         * modules/open (License): Change to LGPLv2+, with consent by all
25001         authors, for use in augeas.
25002         * modules/chown (License): Likewise.
25003         * modules/lchown (Likewise): Likewise.
25004         Requested by Adam Stokes.
25005
25006 2010-08-09  Karl Berry  <karl@gnu.org>
25007
25008         * build-aux/ar-lib: new file, import from Automake.
25009         * config/srclist.txt: autocheck for updates.
25010
25011 2010-08-09  Eric Blake  <eblake@redhat.com>
25012
25013         readlinkat: adjust client modules
25014         * modules/areadlinkat (Depends-on): Use readlinkat, not
25015         symlinkat.
25016         * modules/areadlinkat-with-size (Depends-on): Likewise.
25017
25018         mknod: be more vocal about danger of running tests as root
25019         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
25020         root, since that is just asking for problems.
25021         Suggested by Bruno Haible, based on a report by Rainer Tammer.
25022
25023         readlinkat: split into its own module
25024         * modules/symlinkat: Split readlinkat...
25025         * modules/readlinkat: ...into separate module.
25026         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
25027         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
25028         * lib/symlinkat.c (readlinkat): Move...
25029         * lib/readlinkat.c: ...into new file.
25030         * modules/symlinkat-tests: Split readlinkat test...
25031         * modules/readlinkat-tests: ...into separate module.
25032         * tests/test-symlinkat.c: Split...
25033         * tests/test-readlinkat.c: ...into new file.
25034         * NEWS: Document the split.
25035         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
25036         * lib/unistd.in.h (readlinkat): Likewise.
25037         Suggested by Bruno Haible.
25038
25039 2010-08-08  Bruno Haible  <bruno@clisp.org>
25040
25041         memxfrm: Speed up.
25042         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
25043         that usually only one call to strxfrm is necessary for each string
25044         part.
25045         Reported by Paul Eggert <eggert@cs.ucla.edu>.
25046
25047 2010-08-07  Karl Berry  <karl@gnu.org>
25048
25049         * doc/posix-headers/limits.texi,
25050         * doc/posix-functions/malloc.texi,
25051         * doc/posix-functions/strsignal.texi: missing @item.
25052         * doc/ld-version-script.texi: spurious leading i.
25053         * doc/regex.texi (Interval Operators): no commas inside @var.
25054
25055 2010-08-01  Bruno Haible  <bruno@clisp.org>
25056
25057         Integrate the regex documentation.
25058         * doc/gnulib.texi: Define 'cn' index.
25059         (Regular expressions): New a chapter that includes regex.texi and
25060         regexprops-generic.texi.
25061         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
25062         syntax.
25063
25064         Whitespace cleanup.
25065         * doc/regex.texi: Remove trailing spaces.
25066
25067         Add regex documentation.
25068         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
25069         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
25070         Written by Kathy A. Hargreaves and Karl Berry.
25071
25072 2010-08-01  Bruno Haible  <bruno@clisp.org>
25073
25074         link: Update documentation.
25075         * doc/posix-functions/link.texi: Update regarding Solaris.
25076
25077 2010-07-31  Bruno Haible  <bruno@clisp.org>
25078
25079         Update modules list.
25080         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
25081         (String handling <string.h>): Add memcmp2, memxfrm.
25082         (Container data structures): Add xlist, xsublist, xoset.
25083         (Core language properties): Add alignof, unused-parameter.
25084         (Process control, Numeric conversion functions <stdlib.h>): Renamed
25085         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
25086         (Unibyte characters <ctype.h>): New section.
25087         (String handling <string.h>): New section.
25088         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
25089         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
25090         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
25091         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
25092         tan, tanh, tanl, y0, y1, yn.
25093         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
25094         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
25095         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
25096         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
25097         unlockpt, vdprintf, vdprintf-posix.
25098         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
25099         (File system functions): Add concat-filename, sys_file, sys_ioctl,
25100         xconcat-filename.
25101         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
25102         getdtablesize, pipe2, pipe2-safer.
25103         (Security): New section.
25104         (Networking functions): Add accept4.
25105         (Signal handling): Add sigpipe.
25106         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
25107         mbmemcasecoll.
25108         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
25109         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
25110         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
25111         pipe-filter-ii.
25112         (Misc): Add argp-version-etc, login_tty, parse-duration.
25113
25114 2010-07-31  Bruno Haible  <bruno@clisp.org>
25115
25116         Improve doc in MODULES.html.
25117         * modules/linkat (Description): Add the word "function".
25118         * modules/mkfifo (Description): Likewise.
25119         * modules/mknod (Description): Likewise.
25120         * modules/remove (Description): Likewise.
25121         * modules/renameat (Description): Likewise.
25122         * modules/stat (Description): Likewise.
25123         * modules/symlink (Description): Likewise.
25124         * modules/unlink (Description): Likewise.
25125
25126 2010-07-31  Bruno Haible  <bruno@clisp.org>
25127
25128         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
25129         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
25130         option --enable/disable-c++ instead of --enable/disable-cxx.
25131         * NEWS: Mention the change.
25132
25133 2010-07-31  Bruno Haible  <bruno@clisp.org>
25134
25135         readlink, areadlink: Relax test a bit.
25136         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
25137         alternative to ENOTDIR.
25138         * tests/test-areadlink.h (test_areadlink): Likewise.
25139         Reported by Rainer Tammer.
25140
25141 2010-07-31  Bruno Haible  <bruno@clisp.org>
25142
25143         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
25144         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
25145         character, perform the search using U_STRCHR.
25146         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
25147         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
25148         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
25149         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
25150         Suggested by Paolo Bonzini.
25151
25152 2010-07-31  Bruno Haible  <bruno@clisp.org>
25153
25154         unistr/u*-strstr: Fix dependencies.
25155         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
25156         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
25157         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
25158
25159 2010-07-31  Bruno Haible  <bruno@clisp.org>
25160
25161         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
25162         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
25163         the beginning of the loop.
25164         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
25165         cases in 'switch' statement.
25166
25167         unistr/u8-strchr: Fix several bugs.
25168         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
25169         the string. When not found, return NULL, not a pointer near the end.
25170
25171         More tests for unistr/u8-strchr.
25172         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
25173         that the function does not read past the first occurrence of the byte
25174         being searched.
25175         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
25176         * tests/unistr/test-u16-strchr.c (main): New function.
25177         * tests/unistr/test-u32-strchr.c (main): New function.
25178
25179 2010-07-31  Bruno Haible  <bruno@clisp.org>
25180
25181         posix-modules: Ignore backup files of documentation files.
25182         * posix-modules: grep only through files named *.texi.
25183
25184 2010-07-31  Bruno Haible  <bruno@clisp.org>
25185
25186         symlinkat: Fix documentation.
25187         * doc/posix-functions/readlinkat.texi: Fix module name.
25188
25189 2010-07-31  Bruno Haible  <bruno@clisp.org>
25190
25191         fchownat: Replace also when chown has the trailing slash bug.
25192         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
25193         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
25194         introduced on 2010-04-10.
25195         Reported by Rainer Tammer.
25196
25197 2010-07-31  Bruno Haible  <bruno@clisp.org>
25198
25199         linkat: Work around AIX 7.1 bug.
25200         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
25201         whether linkat handles trailing slash correctly. If not, replace linkat
25202         and define LINKAT_TRAILING_SLASH_BUG.
25203         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
25204         check whether (fd1,file1) points to a directory if file1 or file2 ends
25205         in a slash. Code taken from lib/link.c.
25206         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
25207         Reported by Rainer Tammer.
25208
25209 2010-07-31  Bruno Haible  <bruno@clisp.org>
25210
25211         Correctly determine whether pow is available in libc on AIX 7 with xlc.
25212         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
25213         This disables an xlc optimization that was causing wrong test results.
25214         Reported by Rainer Tammer.
25215
25216 2010-07-31  Bruno Haible  <bruno@clisp.org>
25217
25218         iconv: Work around AIX 6.1..7.1 bug.
25219         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
25220         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
25221         cross-compiling, guess no on all versions of AIX.
25222         Reported by Rainer Tammer.
25223
25224 2010-07-31  Bruno Haible  <bruno@clisp.org>
25225
25226         readlink: Relax test a bit.
25227         * tests/test-readlink.h (test_readlink): Allow different errno value
25228         when readlink is called with a file name that ends in / and refers to
25229         a file.
25230         Suggested by Eric Blake.
25231         Reported by Rainer Tammer.
25232
25233 2010-07-31  Bruno Haible  <bruno@clisp.org>
25234
25235         copysign: Does not require -lm on glibc systems.
25236         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
25237         gl_COMMON_DOUBLE_MATHFUNC.
25238         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
25239
25240 2010-07-31  Bruno Haible  <bruno@clisp.org>
25241
25242         duplocale: Work around AIX 7.1 bug.
25243         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
25244         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
25245         * lib/duplocale.c (rpl_duplocale): Update comment.
25246         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
25247         Reported by Rainer Tammer.
25248
25249 2010-07-30  Bruno Haible  <bruno@clisp.org>
25250
25251         dirfd: Avoid link error on AIX 7.1.
25252         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
25253         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
25254         exist, set REPLACE_DIRFD.
25255         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
25256         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
25257         * doc/posix-functions/dirfd.texi: Update.
25258         Reported by Rainer Tammer.
25259
25260 2010-07-30  Eric Blake  <eblake@redhat.com>
25261
25262         strtod: next round of AIX fixes
25263         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
25264         exponent.
25265         * tests/test-strtod.c (main): Enhance tests.
25266         * doc/posix-functions/strtod.texi (strtod): Document next bug.
25267         Reported by Rainer Tammer.
25268
25269         futimens: fix configure check
25270         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
25271         Reported by Bruno Haible.
25272
25273 2010-07-30  Bruno Haible  <bruno@clisp.org>
25274
25275         getline: Update regarding AIX.
25276         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
25277         Reported by Rainer Tammer.
25278
25279 2010-07-30  Bruno Haible  <bruno@clisp.org>
25280
25281         wcwidth: Drop replacement on AIX 7.
25282         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
25283         AIX 7.
25284         Reported by Rainer Tammer.
25285
25286 2010-07-30  Bruno Haible  <bruno@clisp.org>
25287
25288         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
25289         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
25290         a 'char *'.
25291         Reported by Rainer Tammer.
25292
25293 2010-07-30  Bruno Haible  <bruno@clisp.org>
25294
25295         unlink: Update regarding AIX.
25296         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
25297         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
25298         Reported by Rainer Tammer.
25299
25300 2010-07-30  Bruno Haible  <bruno@clisp.org>
25301
25302         symlink: Update regarding AIX.
25303         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
25304         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
25305         Reported by Rainer Tammer.
25306
25307 2010-07-30  Bruno Haible  <bruno@clisp.org>
25308
25309         strndup: Update regarding AIX.
25310         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
25311         AIX 7.
25312         Reported by Rainer Tammer.
25313
25314 2010-07-30  Bruno Haible  <bruno@clisp.org>
25315
25316         stat: Update regarding AIX.
25317         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
25318         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
25319         Reported by Rainer Tammer.
25320
25321 2010-07-30  Bruno Haible  <bruno@clisp.org>
25322
25323         truncl: Fix autoconf test.
25324         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
25325         whether truncl works.
25326         Reported by Rainer Tammer.
25327
25328 2010-07-30  Bruno Haible  <bruno@clisp.org>
25329
25330         round: Update regarding AIX.
25331         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
25332         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
25333         Reported by Rainer Tammer.
25334
25335 2010-07-30  Bruno Haible  <bruno@clisp.org>
25336
25337         rename: Update regarding AIX.
25338         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
25339         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
25340         Reported by Rainer Tammer.
25341
25342 2010-07-30  Bruno Haible  <bruno@clisp.org>
25343
25344         printf.m4: Update regarding AIX.
25345         * m4/printf.m4: Update comments regarding AIX.
25346         Reported by Rainer Tammer.
25347
25348 2010-07-30  Bruno Haible  <bruno@clisp.org>
25349
25350         iconv: Update regarding AIX.
25351         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
25352         AIX 7.
25353         Reported by Rainer Tammer.
25354
25355 2010-07-30  Bruno Haible  <bruno@clisp.org>
25356
25357         getopt: Update regarding AIX.
25358         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
25359         no on AIX.
25360         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
25361         Reported by Rainer Tammer.
25362
25363 2010-07-30  Bruno Haible  <bruno@clisp.org>
25364
25365         ldexpl; Update regarding AIX.
25366         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
25367         on AIX 7.
25368         Reported by Rainer Tammer.
25369
25370 2010-07-30  Bruno Haible  <bruno@clisp.org>
25371
25372         frexpl: Update regarding AIX.
25373         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
25374         on AIX 7.
25375         Reported by Rainer Tammer.
25376
25377 2010-07-30  Bruno Haible  <bruno@clisp.org>
25378
25379         open, fopen: Update regarding AIX.
25380         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
25381         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
25382         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
25383         * doc/posix-functions/fopen.texi: Likewise.
25384         Reported by Rainer Tammer.
25385
25386 2010-07-30  Bruno Haible  <bruno@clisp.org>
25387
25388         chown: Update doc regarding AIX.
25389         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
25390         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
25391         Reported by Rainer Tammer.
25392
25393 2010-07-30  Eric Blake  <eblake@redhat.com>
25394
25395         strtod: fix bug in replacement function on AIX
25396         * lib/strtod.c (strtod): Special case broken "0x" parse in
25397         underlying strtod.
25398         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
25399         * doc/posix-functions/strtod.texi (strtod): Likewise.
25400         Reported by Rainer Tammer.
25401
25402 2010-07-30  Bruno Haible  <bruno@clisp.org>
25403
25404         mbrlen: Fix cross-compilation guess for AIX.
25405         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
25406         guess. Leftover from 2008-12-22.
25407
25408 2010-07-30  Bruno Haible  <bruno@clisp.org>
25409
25410         mbrtowc: Fix cross-compilation guess for AIX.
25411         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
25412         guess. Leftover from 2008-12-21.
25413
25414 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
25415
25416         init.sh: work around trap limitation of some shells
25417         * tests/init.sh (setup_): Move exit trap outside of shell function.
25418
25419 2010-07-29  Eric Blake  <eblake@redhat.com>
25420
25421         strtod: aid debugging
25422         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
25423         understanding why strtod is rejected.
25424
25425 2010-07-28  Bruno Haible  <bruno@clisp.org>
25426
25427         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
25428         * lib/unistr/u8-chr.c: Include <string.h>.
25429         * tests/unistr/test-u8-chr.c: Likewise.
25430         * tests/unistr/test-u16-chr.c: Likewise.
25431         * tests/unistr/test-u32-chr.c: Likewise.
25432         * tests/unistr/test-u8-strchr.c: Likewise.
25433         * tests/unistr/test-u16-strchr.c: Likewise.
25434         * tests/unistr/test-u32-strchr.c: Likewise.
25435         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
25436         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
25437         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
25438         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
25439
25440 2010-07-28  Bruno Haible  <bruno@clisp.org>
25441
25442         Use spaces for indentation, not tabs.
25443         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
25444
25445 2010-07-27  Bruno Haible  <bruno@clisp.org>
25446
25447         mbspcasecmp: Fix function specification.
25448         * lib/string.in.h (mbspcasecmp): Fix specification comment.
25449         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
25450         Reported by Eric Blake <eblake@redhat.com>.
25451
25452 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
25453
25454         timespec: use cast and not conditional, as truncation isn't possible
25455         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
25456         instead of a conditional.  Comment about the situation in more detail.
25457         This undoes most of the 2009-10-29 patch.
25458
25459 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
25460
25461         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
25462         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
25463         * lib/unistr/u8-strchr.c: Likewise.
25464         * modules/unistr/u8-chr: Depend on memchr.
25465
25466         unistr/u*-strchr: add tests
25467         * modules/unistr/u8-strchr-tests: New file.
25468         * modules/unistr/u16-strchr-tests: New file.
25469         * modules/unistr/u32-strchr-tests: New file.
25470         * tests/unistr/test-strchr.h: New file.
25471         * tests/unistr/test-u8-strchr.c: New file.
25472         * tests/unistr/test-u16-strchr.c: New file.
25473         * tests/unistr/test-u32-strchr.c: New file.
25474
25475         unistr/u*-chr: test multibyte sequences more
25476         * tests/unistr/test-chr.h: Do complete testing of the characters in the
25477         test vector.
25478         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
25479         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
25480         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
25481
25482         unistr/u*-chr: test multibyte sequences
25483         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
25484
25485         unistr/u*-chr: prepare for multibyte tests
25486         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
25487         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
25488         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
25489         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
25490         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
25491         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
25492
25493 2010-07-18  Bruno Haible  <bruno@clisp.org>
25494
25495         unistr/u8-strchr: Optimize non-ASCII argument case.
25496         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
25497         because the first byte often matches anyway.
25498         Reported by Pádraig Brady <P@draigbrady.com>.
25499
25500 2010-07-15  Karl Berry  <karl@gnu.org>
25501
25502         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
25503
25504 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
25505
25506         getcwd: on Solaris, work better if ancestors are inaccessible
25507         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
25508         buffer and size, try again with a large buffer.  This works better
25509         on Solaris, since its getcwd succeeds even if the path to the root
25510         is inaccessible, and this is helpful in common cases such as .zfs
25511         hidden directories.  Problem reported by J Chapman Flack in
25512         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
25513         Use system getcwd if it's declared, not merely if it's partly
25514         working; use the partly-working test only to avoid needless effort
25515         if the system getcwd fails.
25516         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
25517         comment that was already obsolete and is now even more obsolete.
25518         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
25519         now might call strdup.
25520
25521 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
25522
25523         pthread: Add enough so that coreutils/src/sort.c compiles.
25524         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
25525         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
25526         gnulib. Include <sched.h> and <time.h>, as per POSIX.
25527         Include <sys/types.h>, in case it defines pthread_t.
25528         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
25529         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
25530         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
25531         (pthread_rwlockattr_t, pthread_spinlock_t):
25532         New typedefs, if HAVE_PTHREAD_T is not defined.
25533         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
25534         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
25535         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
25536         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
25537         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
25538         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
25539         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
25540         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
25541         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
25542         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
25543         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
25544         New macros.
25545         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
25546         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
25547         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
25548         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
25549         (pthread_spin_unlock): New dummy functions.
25550         (pthread_create): Return EAGAIN; don't set errno.
25551         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
25552         require AC_C_INLINE.
25553         * modules/pthread (Depends-on): Add sched, time.
25554         (pthread.h): Use AM_V_GEN.
25555
25556 2010-07-13  Bruno Haible  <bruno@clisp.org>
25557
25558         striconveh: Don't malloc memory if the result buffer is sufficient.
25559         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
25560         buffer if its size is sufficient.
25561         Reported by Ludovic Courtès <ludo@gnu.org>.
25562
25563 2010-07-13  Bruno Haible  <bruno@clisp.org>
25564
25565         strtod: Add safety check.
25566         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
25567
25568 2010-07-12  Bruno Haible  <bruno@clisp.org>
25569
25570         Unify tests that set gl_cv_func_ldexpl_no_libm.
25571         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
25572         gl_FUNC_LDEXPL.
25573         (gl_FUNC_LDEXPL): Invoke it.
25574         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
25575
25576 2010-07-12  Bruno Haible  <bruno@clisp.org>
25577
25578         Unify tests that set gl_cv_func_ldexp_no_libm.
25579         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
25580         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
25581         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
25582         (configure.ac): Simply invoke gl_FUNC_LDEXP.
25583         * modules/strtod (Files): Add m4/ldexp.m4.
25584
25585 2010-07-12  Bruno Haible  <bruno@clisp.org>
25586
25587         Unify tests that set gl_cv_func_frexpl_no_libm.
25588         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
25589         gl_FUNC_FREXPL_NO_LIBM.
25590         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
25591         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
25592
25593 2010-07-12  Bruno Haible  <bruno@clisp.org>
25594
25595         Unify tests that set gl_cv_func_frexp_no_libm.
25596         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
25597         gl_FUNC_FREXP_NO_LIBM.
25598         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
25599         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
25600
25601 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
25602
25603         memcoll: clarify sizes versus lengths, document better, and tweak perf
25604         * lib/memcoll.c (strcoll_loop, memcoll0):
25605         Improve quality of descriptive comments.  Name variables
25606         consistently as to whether they are lengths (which do not include
25607         terminating null) versus sizes (which do).
25608         * lib/xmemcoll.c (xmemcoll0): Likewise.
25609         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
25610         returned when s1size == 0; this is easier to compile and saves
25611         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
25612
25613 2010-07-12  Bruno Haible  <bruno@clisp.org>
25614
25615         Tests for module '_Exit'.
25616         * modules/_Exit-tests: New file.
25617         * tests/test-_Exit.sh: New file.
25618         * tests/test-_Exit.c: New file.
25619
25620         New module '_Exit'.
25621         * lib/stdlib.in.h (__attribute__): New macro.
25622         (_Exit): New declaration.
25623         * lib/_Exit.c: New file.
25624         * m4/_Exit.m4: New file.
25625         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
25626         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
25627         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
25628         * modules/_Exit: New file.
25629         * tests/test-stdlib-c++.cc (_Exit): Check signature.
25630         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
25631
25632 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
25633
25634         strtod: make it more-accurate typically, and don't require libm
25635         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
25636         Include limits.h.  Don't include string.h.
25637         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
25638         (locale_isspace): New function, so that no casts are needed to
25639         check whether *s is a space.
25640         (ldexp): Provide an unused dummy if not available.
25641         (scale_radix_exp, parse_number, underlying_strtod): New functions.
25642         (strtod): Use them.  This implementation prefers to use the
25643         underlying strtod if available, falling back on our own code
25644         only to fix known bugs.  This is more likely to produce an
25645         accurate result.  Also, it avoids the use of libm functions.
25646         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
25647         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
25648         was absent, but it caused a test failure with coreutils.
25649         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
25650         with libm.
25651         * modules/strtod (Makefile.am, Link): libm is no longer needed.
25652         * modules/strtod-tests (Makefile.am): Likewise.
25653
25654 2010-07-11  Pádraig Brady  <P@draigBrady.com>
25655             Bruno Haible  <bruno@clisp.org>
25656
25657         unistr/u8-strchr: Optimize ASCII argument case.
25658         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
25659
25660 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
25661
25662         (x)memcoll: minor tweaks
25663         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
25664         is after the type that it qualifies.
25665         (memcoll0): Likewise.
25666         * lib/memcoll.h (memcoll0): Likewise.
25667         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
25668         * lib/xmemcoll.h (xmemcoll0): Likewise.
25669         * lib/memcoll.c (memcoll0): Correct the comment.  This function
25670         differs from memcoll in that the NUL byte is part of the argument.
25671         Omit the abort-checks, as performance is a real issue here.  Plus,
25672         the checks were wrong anyway (an off-by-one error).  Omit local
25673         variable 'diff', as it's a bit clearer that way.
25674         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
25675         no longer needed.
25676
25677 2010-07-08  Chen Guo <chenguo4@yahoo.com>
25678
25679         (x)memcoll: speedup when input is known to be NUL delimited
25680         * lib/memcoll.c: Include stdlib.
25681         (memcoll0): New function.
25682         (strcoll_loop): New function, refactored for use in both memcoll
25683         and memcoll0.
25684         * lib/memcoll.h (memcoll0): Add prototype.
25685         * lib/xmemcoll.c (xmemcoll0): New function.
25686         (collate_error): New function, refactored for use in both xmemcoll
25687         and xmemcoll0.
25688         * lib/xmemcoll.h (xmemcoll0): Add prototype.
25689         * m4/memcoll.m4: add inline invocation.
25690
25691 2010-07-06  Pádraig Brady  <P@draigBrady.com>
25692
25693         * build-aux/bootstrap: Remove any local translations
25694         from the translation project synchronization directory,
25695         so that local only translations are not distributed.
25696
25697 2010-07-04  Bruno Haible  <bruno@clisp.org>
25698
25699         fsusage: Clarify which code applies to which platforms.
25700         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
25701         platform.
25702         * lib/fsusage.c (get_fs_usage): Likewise.
25703
25704 2010-07-04  Bruno Haible  <bruno@clisp.org>
25705
25706         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
25707         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
25708         Reported by Martin Lambers <marlam@marlam.de>.
25709
25710 2010-07-04  Jim Meyering  <meyering@redhat.com>
25711
25712         hash: once again explicitly disallow insertion of NULL
25713         * lib/hash.c (hash_insert0): Reinstate just-removed test:
25714         inserting a NULL pointer cannot work with these functions.
25715         Add a comment with details.
25716         This reverts part of the 2010-07-01 commit, 5bef1a35
25717         "hash: extend module to deal with non-pointer keys".
25718
25719 2010-07-01  Bruno Haible  <bruno@clisp.org>
25720
25721         stdbool: Update doc.
25722         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
25723         Info from Christian Weisgerber <naddy@mips.inka.de>.
25724
25725 2010-07-01  Jim Meyering  <meyering@redhat.com>
25726
25727         hash: extend module to deal with non-pointer keys
25728         * lib/hash.c (hash_insert0): New interface, much like hash_insert
25729         but that allows insertion of non-pointer entries.
25730         Do not disallow an ENTRY value of NULL.
25731         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
25732         * lib/hash.h (hash_insert0): Declare.
25733
25734 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
25735
25736         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
25737         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
25738         not present (i.e. with autoconf 2.59 and when using gettextize, not
25739         gnulib), require AC_GNU_SOURCE instead.
25740
25741 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
25742
25743         idpriv-drop: Fix tests.
25744         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
25745         not to the test-idpriv-droptemp program.
25746
25747 2010-06-29  Bruno Haible  <bruno@clisp.org>
25748
25749         string: Fix syntax error with g++ 2.96.
25750         * lib/string.in.h (__pure__): Remove definition.
25751         (_GL_ATTRIBUTE_PURE): New macro.
25752         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
25753         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
25754         Reported by Christian Weisgerber <naddy@mips.inka.de>.
25755
25756 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
25757
25758         unitypes: Fix bug introduced on 2010-05-18.
25759         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
25760
25761 2010-06-22  Eric Blake  <eblake@redhat.com>
25762
25763         memmem: slight optimization
25764         * lib/str-two-way.h (critical_factorization): Update comments.
25765         Reduce work during factorization phase.
25766         Reported by Carlos Bueno <carlos@bueno.org>.
25767
25768 2010-06-21  Bruno Haible  <bruno@clisp.org>
25769
25770         Fix HAVE_CALLOC_POSIX misnomer.
25771         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
25772         !HAVE_CALLOC_POSIX.
25773         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
25774         HAVE_CALLOC_POSIX.
25775         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
25776         instead of HAVE_CALLOC_POSIX.
25777         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
25778         HAVE_CALLOC_POSIX.
25779
25780         Use modern idiom for calloc() replacement.
25781         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
25782         AC_FUNC_CALLOC.
25783         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
25784         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
25785         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
25786         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
25787         (gl_REPLACE_CALLOC): New macro.
25788
25789 2010-06-21  Bruno Haible  <bruno@clisp.org>
25790
25791         Fix HAVE_REALLOC_POSIX misnomer.
25792         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
25793         !HAVE_REALLOC_POSIX.
25794         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
25795         HAVE_REALLOC_POSIX.
25796         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
25797         instead of HAVE_REALLOC_POSIX.
25798         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
25799         HAVE_REALLOC_POSIX.
25800
25801         Use modern idiom for realloc() replacement.
25802         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
25803         AC_FUNC_REALLOC.
25804         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
25805         Autoconf's AC_FUNC_REALLOC.
25806         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
25807         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
25808         (gl_REPLACE_REALLOC): New macro.
25809         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
25810
25811 2010-06-21  Bruno Haible  <bruno@clisp.org>
25812
25813         Fix HAVE_MALLOC_POSIX misnomer.
25814         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
25815         !HAVE_MALLOC_POSIX.
25816         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
25817         HAVE_MALLOC_POSIX.
25818         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
25819         instead of HAVE_MALLOC_POSIX.
25820         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
25821         HAVE_MALLOC_POSIX.
25822
25823         Use modern idiom for malloc() replacement.
25824         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
25825         AC_FUNC_MALLOC.
25826         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
25827         Autoconf's AC_FUNC_MALLOC.
25828         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
25829         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
25830         (gl_REPLACE_MALLOC): New macro.
25831         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
25832
25833 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
25834
25835         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
25836         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
25837         This macro takes 3 arguments, not 4.
25838
25839 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
25840
25841         ipv6: fix detection under mingw
25842         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
25843         in6_addr.
25844
25845 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
25846
25847         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
25848         that strtod() works when cross-compiling to a glibc version known
25849         to work.
25850
25851 2010-06-15  Bruno Haible  <bruno@clisp.org>
25852
25853         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
25854
25855 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
25856
25857         select: Correct timeout.
25858         * lib/select.c (rpl_select): Compute wait_timeout correctly.
25859
25860 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
25861
25862         git-version-gen: init shell var to avoid env var influence
25863         * build-aux/git-version-gen (v): Init shell var to empty.
25864
25865 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
25866
25867         priv-set: Don't assume that priv.h exists merely because getppriv does.
25868         See Jan Andersen's bug report about AIX 5L in
25869         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
25870         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
25871         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
25872         * lib/priv-set.h: Likewise.
25873         * tests/test-priv-set.c: Likewise.
25874
25875 2010-06-13  Bruno Haible  <bruno@clisp.org>
25876
25877         relocatable: Make it easier to test whether to install wrappers.
25878         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
25879         RELOCATABLE_VIA_WRAPPER.
25880
25881 2010-06-13  Bruno Haible  <bruno@clisp.org>
25882
25883         gnulib-tool: Display specified modules and dependencies differently.
25884         * gnulib-tool (func_show_module_list): New function.
25885         (func_import, func_create_testdir): Invoke it.
25886         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
25887
25888 2010-06-13  Bruno Haible  <bruno@clisp.org>
25889
25890         gnulib-tool: Align code of func_import and func_create_testdir.
25891         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
25892         specified_modules.
25893
25894 2010-06-12  Jim Meyering  <meyering@redhat.com>
25895
25896         test-inttostr: avoid spurious failure on Solaris 9
25897         * tests/test-inttostr.c (main): Skip the test when snprintf fails
25898         to accept "%ju".  Reported by Bruno Haible.
25899
25900 2010-06-11  Jim Meyering  <meyering@redhat.com>
25901
25902         test-sys_socket: mark variables as used more readably
25903         * tests/test-sys_socket.c (main): Mark otherwise unused variables
25904         as "used" explicitly via (void) statement casts.  This is more
25905         readable than using them in an artificial return expression.
25906         Suggestion from Bruno Haible.
25907
25908 2010-06-11  Bruno Haible  <bruno@clisp.org>
25909
25910         Avoid some more warnings from "gcc -Wwrite-strings".
25911         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
25912         to 'const char *'.
25913         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
25914         * tests/test-c-strcasestr.c (main): Likewise.
25915         * tests/test-mbscasestr1.c (main): Likewise.
25916         * tests/test-mbscasestr2.c (main): Likewise.
25917         * tests/test-memmem.c (main): Likewise.
25918         * tests/test-strstr.c (main): Likewise.
25919         * tests/test-strcasestr.c (main): Likewise.
25920
25921 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25922
25923         init.sh: change framework_failure_ to fail with status 99, not 1
25924         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
25925         automake's parallel-tests rule that this is an unexpected failure,
25926         even if the test is listed in XFAIL_TESTS.
25927
25928 2010-06-11  Jim Meyering  <meyering@redhat.com>
25929
25930         test-inttostr: avoid warnings about 4-6KB literal strings
25931         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
25932         Include "macros.h", for its definition of ASSERT.
25933         (CK): s/assert/ASSERT/
25934         * modules/inttostr-tests (Files): Add macros.h.
25935
25936         init.sh: don't use $ME_ or skip_ before they are defined
25937         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
25938         their first uses.  Also hoist their companions: warn_, fail_,
25939         framework_failure_, $stderr_fileno.  Prompted by a patch from
25940         Stefano Lattarini.
25941
25942         test-sys_socket: avoid set-but-not-used warnings from gcc
25943         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
25944         avoid warning about set-but-not-used variables.
25945
25946         test-xvasprintf: avoid 'const' discard warnings
25947         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
25948         "const" when assigning from literal strings.
25949         (test_xasprintf): Add "void" in function argument list to placate
25950         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
25951
25952         tests: avoid compilation warnings in argmatch and exclude tests...
25953         in packages that define ARGMATCH_DIE_DECL, like coreutils.
25954         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
25955         Since it always exits, declare with the "noreturn" attribute.
25956         * tests/test-argmatch.c: Likewise.
25957
25958         tests: avoid 'const' discard warnings in mbsstr tests
25959         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
25960         * tests/test-mbsstr2.c (main): Likewise.
25961
25962         test-verify: avoid warning from gcc's -Wmissing-declarations
25963         * tests/test-verify.c (function): Declare to be static.
25964
25965         test-inttostr.c: include <string.h> for use of strcmp
25966         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
25967
25968         test-linkat: avoid failed assertion on "other" architectures
25969         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
25970         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
25971         sparc: https://bugs.launchpad.net/bugs/591968
25972
25973 2010-06-11  Jim Meyering  <meyering@redhat.com>
25974
25975         printf.m4: avoid autoconf's "Expanded Before Required" warning
25976         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
25977         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
25978         autoconf warning.
25979
25980 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
25981
25982         Replacement header templates are now named with ".in", not "_".
25983         * doc/gnulib-intro.texi: Correct.
25984
25985 2010-06-10  Jim Meyering  <meyering@redhat.com>
25986
25987         inttostr-tests: depend on snprintf, not snprintf-posix
25988         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
25989         snprintf-posix, to avoid this aclocal failure:
25990           missing file gnulib-tests/vasnprintf.c
25991           configure.ac:45: error: expected source file, required through \
25992           AC_LIBSOURCES, not found
25993
25994 2010-06-10  Jim Meyering  <meyering@redhat.com>
25995
25996         inttostr: add a new function, inttostr, and tests
25997         The namesake function was not available.  The existence of the
25998         template file, inttostr.c makes its addition nontrivial.
25999         * lib/anytostr.c: Rename from inttostr.c.
26000         (anytostr): Rename from inttostr.
26001         * lib/inttostr.c: New file.
26002         * modules/inttostr (Files): Add anytostr.c.
26003         (Makefile.am): Set lib_SOURCES instead of ...
26004         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
26005         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
26006         * lib/offtostr.c: Likewise.
26007         * lib/uinttostr.c: Likewise.
26008         * lib/umaxtostr.c: Likewise.
26009         * modules/inttostr-tests: New file.
26010         * tests/test-inttostr.c: New file.  Test these functions.
26011
26012 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
26013             Bruno Haible  <bruno@clisp.org>
26014
26015         Add "Extending Gnulib" chapter to manual.
26016         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
26017         chapter.
26018         (Extending Gnulib): New chapter.
26019         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
26020         chapter.
26021
26022 2010-06-09  Bruno Haible  <bruno@clisp.org>
26023
26024         Avoid relocwrapper link errors due to gnulib replacement functions.
26025         * lib/areadlink.c: Use the system's malloc, realloc functions.
26026         (areadlink): Set errno to ENOMEM explicitly.
26027         * modules/areadlink (Depends-on): Remove malloc-posix.
26028         Reported by Ben Pfaff <blp@cs.stanford.edu>.
26029
26030 2010-06-09  Bruno Haible  <bruno@clisp.org>
26031
26032         Avoid relocwrapper link errors due to gnulib replacement functions.
26033         * lib/canonicalize-lgpl.c: Use the system's malloc function.
26034         * lib/malloca.c: Likewise.
26035         * lib/relocatable.c: Likewise.
26036         * lib/progreloc.c: Use the system's malloc, sprintf functions.
26037         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
26038         * lib/setenv.c: Use the system's malloc, realloc functions.
26039         * lib/strerror.c: Use the system's sprintf function.
26040         Reported by Ben Pfaff <blp@cs.stanford.edu>.
26041
26042 2010-06-04  Bruno Haible  <bruno@clisp.org>
26043
26044         Prefer documented low-level autoconf macro names.
26045         * m4/lib-link.m4: Use m4_translit instead of translit.
26046         * m4/environ.m4: Likewise.
26047         * m4/mathfunc.m4: Likewise.
26048         * m4/onceonly.m4: Likewise.
26049         * m4/stdint.m4: Likewise.
26050         Suggested by Eric Blake.
26051
26052 2010-06-04  Martin Lambers  <marlam@marlam.de>
26053             Bruno Haible  <bruno@clisp.org>
26054
26055         havelib: Allow library names with '+' characters.
26056         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
26057         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
26058
26059 2010-06-09  Bruno Haible  <bruno@clisp.org>
26060
26061         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
26062         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
26063         realloc failed.
26064
26065 2010-06-08  Peter Simons  <simons@cryp.to>
26066
26067         maint.mk: make the news-check rule more configurable
26068         * top/maint.mk (news-check-lines-spec): New variable.
26069         (news-check): Use "sed -n 1,10p" in place of "head".
26070
26071 2010-06-07  Jim Meyering  <meyering@redhat.com>
26072
26073         do-release-commit-and-tag: fix typo in --help
26074         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
26075
26076         regex: avoid new dead-code warning with gcc-4.6.0
26077         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
26078         if-block containing a while-loop.  It's been unused for at least
26079         5 years.
26080
26081 2010-06-05  Bruno Haible  <bruno@clisp.org>
26082
26083         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
26084         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
26085
26086 2010-06-04  Bruno Haible  <bruno@clisp.org>
26087
26088         Update to GNU gettext 0.18.1.
26089         * modules/gettext (configure.ac): Require gettext infrastructure from
26090         version 0.18.1.
26091
26092 2010-06-03  Bruno Haible  <bruno@clisp.org>
26093
26094         Don't use AC_LIBOBJ with file names in subdirectories.
26095         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
26096         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
26097         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
26098         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
26099         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
26100         gl_LIBUNISTRING_LIBSOURCE.
26101         (Makefile.am): Augment lib_SOURCES here, conditionally.
26102         * NEWS: Drop requirement for Automake option 'subdir-objects'.
26103
26104 2010-06-03  Bruno Haible  <bruno@clisp.org>
26105
26106         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
26107         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
26108         expansion does not end with a newline.
26109         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
26110         unnecessary newline.
26111
26112 2010-06-03  Bruno Haible  <bruno@clisp.org>
26113
26114         Reduce dependencies.
26115         * tests/test-quotearg.h: New file, extracted from
26116         tests/test-quotearg.c.
26117         * tests/test-quotearg-simple.c: New file, extracted from
26118         tests/test-quotearg.c.
26119         * tests/test-quotearg.c: Don't include <ctype.h>.
26120         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
26121         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
26122         use_quote_double_quotes, use_quotearg_colon): Moved to
26123         tests/test-quotearg.h.
26124         (results_g, flag_results, custom_quotes, custom_results): Moved
26125         to tests/test-quotearg-simple.c.
26126         (main): Moved the part that does not depend on gettext to
26127         tests/test-quotearg-simple.c. Return 77 if the test cannot be
26128         performed.
26129         * modules/quotearg-simple: New file.
26130         * modules/quotearg-simple-tests: New file.
26131         * modules/quotearg (Depends-on): Add quotearg-simple.
26132         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
26133         (Files): Add tests/test-quotearg.h.
26134         Reported by Paolo Bonzini.
26135
26136 2010-06-03  Bruno Haible  <bruno@clisp.org>
26137
26138         Reduce dependencies.
26139         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
26140
26141 2010-06-03  Bruno Haible  <bruno@clisp.org>
26142
26143         time: Undefine more broken macros.
26144         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
26145         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
26146         Reported by Eric Blake.
26147
26148 2010-06-03  Bruno Haible  <bruno@clisp.org>
26149
26150         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
26151         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
26152         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
26153         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
26154         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
26155         Reported by Ludovic Courtès <ludo@gnu.org>.
26156
26157 2010-06-02  Eric Blake  <eblake@redhat.com>
26158
26159         time: work with mingw + pthreads-win32 library
26160         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
26161         if timespec is defined only in pthread.h.
26162         * modules/time (Makefile.am): Substitute it.
26163         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
26164         <pthread.h>, when needed.
26165         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
26166         from the library.
26167
26168 2010-05-31  Bruno Haible  <bruno@clisp.org>
26169
26170         Avoid expanding two macros in the wrong order.
26171         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
26172         gl_LIBUNISTRING if it is defined.
26173         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
26174         autoconf >= 2.64.
26175         Reported by Ludovic Courtès <ludo@gnu.org>.
26176
26177 2010-05-27  Jim Meyering  <meyering@redhat.com>
26178
26179         maint.mk: also prohibit "#undef" of always-defined symbols
26180         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
26181         Allow more than one space before the symbol name.
26182         (sc_prohibit_always-defined_macros): Use grep's -E, now that
26183         the regexp uses alternation.
26184
26185 2010-05-26  Eric Blake  <eblake@redhat.com>
26186
26187         maint.mk: avoid echo -e
26188         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
26189         Convert all uses of echo -* to printf.
26190         Reported by Matthias Bolte.
26191
26192 2010-05-25  Bruno Haible  <bruno@clisp.org>
26193
26194         Update to GNU gettext 0.18, part 2.
26195         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
26196         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
26197
26198 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26199
26200         Add missing include in test-pwrite.c.
26201         * tests/test-pwrite.c: Include string.h, for strcmp.
26202
26203 2010-05-24  Bruno Haible  <bruno@clisp.org>
26204
26205         * NEWS: Mention requirement for Automake option 'subdir-objects'.
26206
26207 2010-05-24  Bruno Haible  <bruno@clisp.org>
26208
26209         Don't use conversion with transliteration in u{8,16,32}_strcoll.
26210         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
26211         iconveh_error argument.
26212         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
26213         U_STRCONV_TO_LOCALE.
26214         * lib/unistr/u16-strcoll.c: Likewise.
26215         * lib/unistr/u32-strcoll.c: Likewise.
26216         * modules/unistr/u8-strcoll (Depends-on): Add
26217         uniconv/u8-strconv-to-enc, localcharset. Remove
26218         uniconv/u8-strconv-to-locale.
26219         (configure.ac): Bump version number.
26220         * modules/unistr/u16-strcoll (Depends-on): Add
26221         uniconv/u16-strconv-to-enc, localcharset. Remove
26222         uniconv/u16-strconv-to-locale.
26223         (configure.ac): Bump version number.
26224         * modules/unistr/u32-strcoll (Depends-on): Add
26225         uniconv/u32-strconv-to-enc, localcharset. Remove
26226         uniconv/u32-strconv-to-locale.
26227         (configure.ac): Bump version number.
26228
26229 2010-05-24  Bruno Haible  <bruno@clisp.org>
26230
26231         Avoid a test failure on NetBSD 5.0.
26232         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
26233         an iconv() bug.
26234
26235 2010-05-24  Bruno Haible  <bruno@clisp.org>
26236
26237         Adjust #include directive style.
26238         * modules/regex (Includes): Recommend to write <regex.h>.
26239
26240 2010-05-24  Bruno Haible  <bruno@clisp.org>
26241
26242         regex: Don't require alloca.
26243         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
26244         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
26245         only inside if (0).
26246
26247 2010-05-23  Jim Meyering  <meyering@redhat.com>
26248
26249         test-renameat.c: include <sys/stat.h>
26250         * tests/test-renameat.c: Include <sys/stat.h>; required for
26251         definition of S_IS* macros.
26252
26253 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
26254
26255         Update maintainer documentation for 'relocatable-prog' module.
26256         * doc/relocatable-maint.texi: Update.
26257         Comments by Bruno Haible.
26258
26259 2010-05-23  Bruno Haible  <bruno@clisp.org>
26260
26261         git-merge-changelog: Enable --split-merged-entry by default.
26262         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
26263         (usage): Don't mention this option any more.
26264         Reported by Ralf Wildenhues.
26265
26266 2010-05-23  Jim Meyering  <meyering@redhat.com>
26267
26268         test-pwrite: do not leave behind a test file named "out"
26269         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
26270         The trivial-looking use of init.sh is really necessary.
26271         It ensures that the temporary file, "out", is created in
26272         a temporary directory, and removed upon termination.
26273         * tests/test-pwrite.sh: Re-add file.
26274         * modules/pwrite-tests: Reference it.
26275
26276 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26277
26278         Fix output redirection buglet in init.sh.
26279         * tests/init.sh: Fix redirection of stderr.
26280
26281 2010-05-20  Simon Josefsson  <simon@josefsson.org>
26282
26283         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
26284
26285 2010-05-17  Simon Josefsson  <simon@josefsson.org>
26286
26287         * modules/valgrind-tests: New file.
26288         * m4/valgrind-tests.m4: New file.
26289         * doc/valgrind-tests.texi: New file.
26290         * doc/gnulib.texi (Running self-tests under valgrind): New
26291         section.
26292
26293 2010-05-19  Bruno Haible  <bruno@clisp.org>
26294
26295         Clean up dead code in recent commit.
26296         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
26297         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
26298         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
26299         Suggested by Paolo Bonzini.
26300
26301 2010-05-19  Bruno Haible  <bruno@clisp.org>
26302
26303         Avoid valgrind error reports from libunistring.
26304         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
26305         * modules/libunistring (Files): Add it.
26306         * modules/libunistring-optional (Files): Likewise.
26307
26308 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
26309             Bruno Haible  <bruno@clisp.org>
26310
26311         New module 'libunistring-optional'.
26312         * modules/libunistring-optional: New file.
26313         * m4/libunistring-base.m4: New file.
26314         * m4/libunistring-optional.m4: New file.
26315         * lib/unicase.in.h: Renamed from lib/unicase.h.
26316         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
26317         * lib/unictype.in.h: Renamed from lib/unictype.h.
26318         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
26319         * lib/uniname.in.h: Renamed from lib/uniname.h.
26320         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
26321         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
26322         * lib/unistr.in.h: Renamed from lib/unistr.h.
26323         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
26324         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
26325         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
26326         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
26327         gl_LIBUNISTRING. If the library was found, determine the installed
26328         version and set LIBUNISTRING_VERSION.
26329         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
26330         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
26331         handle a configuration option --with-included-libunistring.
26332         * modules/libunistring (Files): Add m4/absolute-header.m4.
26333         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
26334         Add m4/libunistring-base.m4.
26335         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26336         (Makefile.am): Build unicase.h from unicase.in.h.
26337         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
26338         Add m4/libunistring-base.m4.
26339         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26340         (Makefile.am): Build uniconv.h from uniconv.in.h.
26341         * modules/unictype/base (Files): Use unictype.in.h instead of
26342         unictype.h. Add m4/libunistring-base.m4.
26343         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26344         (Makefile.am): Build unictype.h from unictype.in.h.
26345         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
26346         Add m4/libunistring-base.m4.
26347         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26348         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
26349         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
26350         Add m4/libunistring-base.m4.
26351         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26352         (Makefile.am): Build uniname.h from uniname.in.h.
26353         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
26354         Add m4/libunistring-base.m4.
26355         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26356         (Makefile.am): Build uninorm.h from uninorm.in.h.
26357         * modules/unistdio/base (Files): Use unistdio.in.h instead of
26358         unistdio.h. Add m4/libunistring-base.m4.
26359         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26360         (Makefile.am): Build unistdio.h from unistdio.in.h.
26361         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
26362         Add m4/libunistring-base.m4.
26363         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26364         (Makefile.am): Build unistr.h from unistr.in.h.
26365         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
26366         Add m4/libunistring-base.m4.
26367         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26368         (Makefile.am): Build unitypes.h from unitypes.in.h.
26369         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
26370         Add m4/libunistring-base.m4.
26371         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26372         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
26373         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
26374         uniwidth.h. Add m4/libunistring-base.m4.
26375         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26376         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
26377         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
26378         instead of augmenting lib_SOURCES.
26379         * modules/unicase/empty-suffix-context: Likewise.
26380         * modules/unicase/locale-language: Likewise.
26381         * modules/unicase/tolower: Likewise.
26382         * modules/unicase/totitle: Likewise.
26383         * modules/unicase/toupper: Likewise.
26384         * modules/unicase/u8-casecmp: Likewise.
26385         * modules/unicase/u8-casecoll: Likewise.
26386         * modules/unicase/u8-casefold: Likewise.
26387         * modules/unicase/u8-casexfrm: Likewise.
26388         * modules/unicase/u8-ct-casefold: Likewise.
26389         * modules/unicase/u8-ct-tolower: Likewise.
26390         * modules/unicase/u8-ct-totitle: Likewise.
26391         * modules/unicase/u8-ct-toupper: Likewise.
26392         * modules/unicase/u8-is-cased: Likewise.
26393         * modules/unicase/u8-is-casefolded: Likewise.
26394         * modules/unicase/u8-is-lowercase: Likewise.
26395         * modules/unicase/u8-is-titlecase: Likewise.
26396         * modules/unicase/u8-is-uppercase: Likewise.
26397         * modules/unicase/u8-prefix-context: Likewise.
26398         * modules/unicase/u8-suffix-context: Likewise.
26399         * modules/unicase/u8-tolower: Likewise.
26400         * modules/unicase/u8-totitle: Likewise.
26401         * modules/unicase/u8-toupper: Likewise.
26402         * modules/unicase/u16-casecmp: Likewise.
26403         * modules/unicase/u16-casecoll: Likewise.
26404         * modules/unicase/u16-casefold: Likewise.
26405         * modules/unicase/u16-casexfrm: Likewise.
26406         * modules/unicase/u16-ct-casefold: Likewise.
26407         * modules/unicase/u16-ct-tolower: Likewise.
26408         * modules/unicase/u16-ct-totitle: Likewise.
26409         * modules/unicase/u16-ct-toupper: Likewise.
26410         * modules/unicase/u16-is-cased: Likewise.
26411         * modules/unicase/u16-is-casefolded: Likewise.
26412         * modules/unicase/u16-is-lowercase: Likewise.
26413         * modules/unicase/u16-is-titlecase: Likewise.
26414         * modules/unicase/u16-is-uppercase: Likewise.
26415         * modules/unicase/u16-prefix-context: Likewise.
26416         * modules/unicase/u16-suffix-context: Likewise.
26417         * modules/unicase/u16-tolower: Likewise.
26418         * modules/unicase/u16-totitle: Likewise.
26419         * modules/unicase/u16-toupper: Likewise.
26420         * modules/unicase/u32-casecmp: Likewise.
26421         * modules/unicase/u32-casecoll: Likewise.
26422         * modules/unicase/u32-casefold: Likewise.
26423         * modules/unicase/u32-casexfrm: Likewise.
26424         * modules/unicase/u32-ct-casefold: Likewise.
26425         * modules/unicase/u32-ct-tolower: Likewise.
26426         * modules/unicase/u32-ct-totitle: Likewise.
26427         * modules/unicase/u32-ct-toupper: Likewise.
26428         * modules/unicase/u32-is-cased: Likewise.
26429         * modules/unicase/u32-is-casefolded: Likewise.
26430         * modules/unicase/u32-is-lowercase: Likewise.
26431         * modules/unicase/u32-is-titlecase: Likewise.
26432         * modules/unicase/u32-is-uppercase: Likewise.
26433         * modules/unicase/u32-prefix-context: Likewise.
26434         * modules/unicase/u32-suffix-context: Likewise.
26435         * modules/unicase/u32-tolower: Likewise.
26436         * modules/unicase/u32-totitle: Likewise.
26437         * modules/unicase/u32-toupper: Likewise.
26438         * modules/unicase/ulc-casecmp: Likewise.
26439         * modules/unicase/ulc-casecoll: Likewise.
26440         * modules/unicase/ulc-casexfrm: Likewise.
26441         * modules/uniconv/u8-conv-from-enc: Likewise.
26442         * modules/uniconv/u8-conv-to-enc: Likewise.
26443         * modules/uniconv/u8-strconv-from-enc: Likewise.
26444         * modules/uniconv/u8-strconv-from-locale: Likewise.
26445         * modules/uniconv/u8-strconv-to-enc: Likewise.
26446         * modules/uniconv/u8-strconv-to-locale: Likewise.
26447         * modules/uniconv/u16-conv-from-enc: Likewise.
26448         * modules/uniconv/u16-conv-to-enc: Likewise.
26449         * modules/uniconv/u16-strconv-from-enc: Likewise.
26450         * modules/uniconv/u16-strconv-from-locale: Likewise.
26451         * modules/uniconv/u16-strconv-to-enc: Likewise.
26452         * modules/uniconv/u16-strconv-to-locale: Likewise.
26453         * modules/uniconv/u32-conv-from-enc: Likewise.
26454         * modules/uniconv/u32-conv-to-enc: Likewise.
26455         * modules/uniconv/u32-strconv-from-enc: Likewise.
26456         * modules/uniconv/u32-strconv-from-locale: Likewise.
26457         * modules/uniconv/u32-strconv-to-enc: Likewise.
26458         * modules/uniconv/u32-strconv-to-locale: Likewise.
26459         * modules/unictype/bidicategory-byname: Likewise.
26460         * modules/unictype/bidicategory-name: Likewise.
26461         * modules/unictype/bidicategory-of: Likewise.
26462         * modules/unictype/bidicategory-test: Likewise.
26463         * modules/unictype/block-list: Likewise.
26464         * modules/unictype/block-test: Likewise.
26465         * modules/unictype/category-C: Likewise.
26466         * modules/unictype/category-Cc: Likewise.
26467         * modules/unictype/category-Cf: Likewise.
26468         * modules/unictype/category-Cn: Likewise.
26469         * modules/unictype/category-Co: Likewise.
26470         * modules/unictype/category-Cs: Likewise.
26471         * modules/unictype/category-L: Likewise.
26472         * modules/unictype/category-Ll: Likewise.
26473         * modules/unictype/category-Lm: Likewise.
26474         * modules/unictype/category-Lo: Likewise.
26475         * modules/unictype/category-Lt: Likewise.
26476         * modules/unictype/category-Lu: Likewise.
26477         * modules/unictype/category-M: Likewise.
26478         * modules/unictype/category-Mc: Likewise.
26479         * modules/unictype/category-Me: Likewise.
26480         * modules/unictype/category-Mn: Likewise.
26481         * modules/unictype/category-N: Likewise.
26482         * modules/unictype/category-Nd: Likewise.
26483         * modules/unictype/category-Nl: Likewise.
26484         * modules/unictype/category-No: Likewise.
26485         * modules/unictype/category-P: Likewise.
26486         * modules/unictype/category-Pc: Likewise.
26487         * modules/unictype/category-Pd: Likewise.
26488         * modules/unictype/category-Pe: Likewise.
26489         * modules/unictype/category-Pf: Likewise.
26490         * modules/unictype/category-Pi: Likewise.
26491         * modules/unictype/category-Po: Likewise.
26492         * modules/unictype/category-Ps: Likewise.
26493         * modules/unictype/category-S: Likewise.
26494         * modules/unictype/category-Sc: Likewise.
26495         * modules/unictype/category-Sk: Likewise.
26496         * modules/unictype/category-Sm: Likewise.
26497         * modules/unictype/category-So: Likewise.
26498         * modules/unictype/category-Z: Likewise.
26499         * modules/unictype/category-Zl: Likewise.
26500         * modules/unictype/category-Zp: Likewise.
26501         * modules/unictype/category-Zs: Likewise.
26502         * modules/unictype/category-and: Likewise.
26503         * modules/unictype/category-and-not: Likewise.
26504         * modules/unictype/category-byname: Likewise.
26505         * modules/unictype/category-name: Likewise.
26506         * modules/unictype/category-none: Likewise.
26507         * modules/unictype/category-of: Likewise.
26508         * modules/unictype/category-or: Likewise.
26509         * modules/unictype/category-test: Likewise.
26510         * modules/unictype/combining-class: Likewise.
26511         * modules/unictype/ctype-alnum: Likewise.
26512         * modules/unictype/ctype-alpha: Likewise.
26513         * modules/unictype/ctype-blank: Likewise.
26514         * modules/unictype/ctype-cntrl: Likewise.
26515         * modules/unictype/ctype-digit: Likewise.
26516         * modules/unictype/ctype-graph: Likewise.
26517         * modules/unictype/ctype-lower: Likewise.
26518         * modules/unictype/ctype-print: Likewise.
26519         * modules/unictype/ctype-punct: Likewise.
26520         * modules/unictype/ctype-space: Likewise.
26521         * modules/unictype/ctype-upper: Likewise.
26522         * modules/unictype/ctype-xdigit: Likewise.
26523         * modules/unictype/decimal-digit: Likewise.
26524         * modules/unictype/digit: Likewise.
26525         * modules/unictype/mirror: Likewise.
26526         * modules/unictype/numeric: Likewise.
26527         * modules/unictype/property-alphabetic: Likewise.
26528         * modules/unictype/property-ascii-hex-digit: Likewise.
26529         * modules/unictype/property-bidi-arabic-digit: Likewise.
26530         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
26531         * modules/unictype/property-bidi-block-separator: Likewise.
26532         * modules/unictype/property-bidi-boundary-neutral: Likewise.
26533         * modules/unictype/property-bidi-common-separator: Likewise.
26534         * modules/unictype/property-bidi-control: Likewise.
26535         * modules/unictype/property-bidi-embedding-or-override: Likewise.
26536         * modules/unictype/property-bidi-eur-num-separator: Likewise.
26537         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
26538         * modules/unictype/property-bidi-european-digit: Likewise.
26539         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
26540         * modules/unictype/property-bidi-left-to-right: Likewise.
26541         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
26542         * modules/unictype/property-bidi-other-neutral: Likewise.
26543         * modules/unictype/property-bidi-pdf: Likewise.
26544         * modules/unictype/property-bidi-segment-separator: Likewise.
26545         * modules/unictype/property-bidi-whitespace: Likewise.
26546         * modules/unictype/property-byname: Likewise.
26547         * modules/unictype/property-combining: Likewise.
26548         * modules/unictype/property-composite: Likewise.
26549         * modules/unictype/property-currency-symbol: Likewise.
26550         * modules/unictype/property-dash: Likewise.
26551         * modules/unictype/property-decimal-digit: Likewise.
26552         * modules/unictype/property-default-ignorable-code-point: Likewise.
26553         * modules/unictype/property-deprecated: Likewise.
26554         * modules/unictype/property-diacritic: Likewise.
26555         * modules/unictype/property-extender: Likewise.
26556         * modules/unictype/property-format-control: Likewise.
26557         * modules/unictype/property-grapheme-base: Likewise.
26558         * modules/unictype/property-grapheme-extend: Likewise.
26559         * modules/unictype/property-grapheme-link: Likewise.
26560         * modules/unictype/property-hex-digit: Likewise.
26561         * modules/unictype/property-hyphen: Likewise.
26562         * modules/unictype/property-id-continue: Likewise.
26563         * modules/unictype/property-id-start: Likewise.
26564         * modules/unictype/property-ideographic: Likewise.
26565         * modules/unictype/property-ids-binary-operator: Likewise.
26566         * modules/unictype/property-ids-trinary-operator: Likewise.
26567         * modules/unictype/property-ignorable-control: Likewise.
26568         * modules/unictype/property-iso-control: Likewise.
26569         * modules/unictype/property-join-control: Likewise.
26570         * modules/unictype/property-left-of-pair: Likewise.
26571         * modules/unictype/property-line-separator: Likewise.
26572         * modules/unictype/property-logical-order-exception: Likewise.
26573         * modules/unictype/property-lowercase: Likewise.
26574         * modules/unictype/property-math: Likewise.
26575         * modules/unictype/property-non-break: Likewise.
26576         * modules/unictype/property-not-a-character: Likewise.
26577         * modules/unictype/property-numeric: Likewise.
26578         * modules/unictype/property-other-alphabetic: Likewise.
26579         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
26580         * modules/unictype/property-other-grapheme-extend: Likewise.
26581         * modules/unictype/property-other-id-continue: Likewise.
26582         * modules/unictype/property-other-id-start: Likewise.
26583         * modules/unictype/property-other-lowercase: Likewise.
26584         * modules/unictype/property-other-math: Likewise.
26585         * modules/unictype/property-other-uppercase: Likewise.
26586         * modules/unictype/property-paired-punctuation: Likewise.
26587         * modules/unictype/property-paragraph-separator: Likewise.
26588         * modules/unictype/property-pattern-syntax: Likewise.
26589         * modules/unictype/property-pattern-white-space: Likewise.
26590         * modules/unictype/property-private-use: Likewise.
26591         * modules/unictype/property-punctuation: Likewise.
26592         * modules/unictype/property-quotation-mark: Likewise.
26593         * modules/unictype/property-radical: Likewise.
26594         * modules/unictype/property-sentence-terminal: Likewise.
26595         * modules/unictype/property-soft-dotted: Likewise.
26596         * modules/unictype/property-space: Likewise.
26597         * modules/unictype/property-terminal-punctuation: Likewise.
26598         * modules/unictype/property-test: Likewise.
26599         * modules/unictype/property-titlecase: Likewise.
26600         * modules/unictype/property-unassigned-code-value: Likewise.
26601         * modules/unictype/property-unified-ideograph: Likewise.
26602         * modules/unictype/property-uppercase: Likewise.
26603         * modules/unictype/property-variation-selector: Likewise.
26604         * modules/unictype/property-white-space: Likewise.
26605         * modules/unictype/property-xid-continue: Likewise.
26606         * modules/unictype/property-xid-start: Likewise.
26607         * modules/unictype/property-zero-width: Likewise.
26608         * modules/unictype/scripts: Likewise.
26609         * modules/unictype/syntax-c-ident: Likewise.
26610         * modules/unictype/syntax-c-whitespace: Likewise.
26611         * modules/unictype/syntax-java-ident: Likewise.
26612         * modules/unictype/syntax-java-whitespace: Likewise.
26613         * modules/unilbrk/u8-possible-linebreaks: Likewise.
26614         * modules/unilbrk/u8-width-linebreaks: Likewise.
26615         * modules/unilbrk/u16-possible-linebreaks: Likewise.
26616         * modules/unilbrk/u16-width-linebreaks: Likewise.
26617         * modules/unilbrk/u32-possible-linebreaks: Likewise.
26618         * modules/unilbrk/u32-width-linebreaks: Likewise.
26619         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
26620         * modules/unilbrk/ulc-width-linebreaks: Likewise.
26621         * modules/uniname/uniname: Likewise.
26622         * modules/uninorm/canonical-decomposition: Likewise.
26623         * modules/uninorm/composition: Likewise.
26624         * modules/uninorm/decomposing-form: Likewise.
26625         * modules/uninorm/decomposition: Likewise.
26626         * modules/uninorm/filter: Likewise.
26627         * modules/uninorm/nfc: Likewise.
26628         * modules/uninorm/nfd: Likewise.
26629         * modules/uninorm/nfkc: Likewise.
26630         * modules/uninorm/nfkd: Likewise.
26631         * modules/uninorm/u8-normalize: Likewise.
26632         * modules/uninorm/u8-normcmp: Likewise.
26633         * modules/uninorm/u8-normcoll: Likewise.
26634         * modules/uninorm/u8-normxfrm: Likewise.
26635         * modules/uninorm/u16-normalize: Likewise.
26636         * modules/uninorm/u16-normcmp: Likewise.
26637         * modules/uninorm/u16-normcoll: Likewise.
26638         * modules/uninorm/u16-normxfrm: Likewise.
26639         * modules/uninorm/u32-normalize: Likewise.
26640         * modules/uninorm/u32-normcmp: Likewise.
26641         * modules/uninorm/u32-normcoll: Likewise.
26642         * modules/uninorm/u32-normxfrm: Likewise.
26643         * modules/unistdio/u8-asnprintf: Likewise.
26644         * modules/unistdio/u8-asprintf: Likewise.
26645         * modules/unistdio/u8-snprintf: Likewise.
26646         * modules/unistdio/u8-sprintf: Likewise.
26647         * modules/unistdio/u8-u8-asnprintf: Likewise.
26648         * modules/unistdio/u8-u8-asprintf: Likewise.
26649         * modules/unistdio/u8-u8-snprintf: Likewise.
26650         * modules/unistdio/u8-u8-sprintf: Likewise.
26651         * modules/unistdio/u8-u8-vasnprintf: Likewise.
26652         * modules/unistdio/u8-u8-vasprintf: Likewise.
26653         * modules/unistdio/u8-u8-vsnprintf: Likewise.
26654         * modules/unistdio/u8-u8-vsprintf: Likewise.
26655         * modules/unistdio/u8-vasnprintf: Likewise.
26656         * modules/unistdio/u8-vasprintf: Likewise.
26657         * modules/unistdio/u8-vsnprintf: Likewise.
26658         * modules/unistdio/u8-vsprintf: Likewise.
26659         * modules/unistdio/u16-asnprintf: Likewise.
26660         * modules/unistdio/u16-asprintf: Likewise.
26661         * modules/unistdio/u16-snprintf: Likewise.
26662         * modules/unistdio/u16-sprintf: Likewise.
26663         * modules/unistdio/u16-u16-asnprintf: Likewise.
26664         * modules/unistdio/u16-u16-asprintf: Likewise.
26665         * modules/unistdio/u16-u16-snprintf: Likewise.
26666         * modules/unistdio/u16-u16-sprintf: Likewise.
26667         * modules/unistdio/u16-u16-vasnprintf: Likewise.
26668         * modules/unistdio/u16-u16-vasprintf: Likewise.
26669         * modules/unistdio/u16-u16-vsnprintf: Likewise.
26670         * modules/unistdio/u16-u16-vsprintf: Likewise.
26671         * modules/unistdio/u16-vasnprintf: Likewise.
26672         * modules/unistdio/u16-vasprintf: Likewise.
26673         * modules/unistdio/u16-vsnprintf: Likewise.
26674         * modules/unistdio/u16-vsprintf: Likewise.
26675         * modules/unistdio/u32-asnprintf: Likewise.
26676         * modules/unistdio/u32-asprintf: Likewise.
26677         * modules/unistdio/u32-snprintf: Likewise.
26678         * modules/unistdio/u32-sprintf: Likewise.
26679         * modules/unistdio/u32-u32-asnprintf: Likewise.
26680         * modules/unistdio/u32-u32-asprintf: Likewise.
26681         * modules/unistdio/u32-u32-snprintf: Likewise.
26682         * modules/unistdio/u32-u32-sprintf: Likewise.
26683         * modules/unistdio/u32-u32-vasnprintf: Likewise.
26684         * modules/unistdio/u32-u32-vasprintf: Likewise.
26685         * modules/unistdio/u32-u32-vsnprintf: Likewise.
26686         * modules/unistdio/u32-u32-vsprintf: Likewise.
26687         * modules/unistdio/u32-vasnprintf: Likewise.
26688         * modules/unistdio/u32-vasprintf: Likewise.
26689         * modules/unistdio/u32-vsnprintf: Likewise.
26690         * modules/unistdio/u32-vsprintf: Likewise.
26691         * modules/unistdio/ulc-asnprintf: Likewise.
26692         * modules/unistdio/ulc-asprintf: Likewise.
26693         * modules/unistdio/ulc-fprintf: Likewise.
26694         * modules/unistdio/ulc-snprintf: Likewise.
26695         * modules/unistdio/ulc-sprintf: Likewise.
26696         * modules/unistdio/ulc-vasnprintf: Likewise.
26697         * modules/unistdio/ulc-vasprintf: Likewise.
26698         * modules/unistdio/ulc-vfprintf: Likewise.
26699         * modules/unistdio/ulc-vsnprintf: Likewise.
26700         * modules/unistdio/ulc-vsprintf: Likewise.
26701         * modules/unistr/u8-check: Likewise.
26702         * modules/unistr/u8-chr: Likewise.
26703         * modules/unistr/u8-cmp: Likewise.
26704         * modules/unistr/u8-cmp2: Likewise.
26705         * modules/unistr/u8-cpy: Likewise.
26706         * modules/unistr/u8-cpy-alloc: Likewise.
26707         * modules/unistr/u8-endswith: Likewise.
26708         * modules/unistr/u8-mblen: Likewise.
26709         * modules/unistr/u8-mbsnlen: Likewise.
26710         * modules/unistr/u8-mbtouc: Likewise.
26711         * modules/unistr/u8-mbtouc-unsafe: Likewise.
26712         * modules/unistr/u8-mbtoucr: Likewise.
26713         * modules/unistr/u8-move: Likewise.
26714         * modules/unistr/u8-next: Likewise.
26715         * modules/unistr/u8-prev: Likewise.
26716         * modules/unistr/u8-set: Likewise.
26717         * modules/unistr/u8-startswith: Likewise.
26718         * modules/unistr/u8-stpcpy: Likewise.
26719         * modules/unistr/u8-stpncpy: Likewise.
26720         * modules/unistr/u8-strcat: Likewise.
26721         * modules/unistr/u8-strchr: Likewise.
26722         * modules/unistr/u8-strcmp: Likewise.
26723         * modules/unistr/u8-strcoll: Likewise.
26724         * modules/unistr/u8-strcpy: Likewise.
26725         * modules/unistr/u8-strcspn: Likewise.
26726         * modules/unistr/u8-strdup: Likewise.
26727         * modules/unistr/u8-strlen: Likewise.
26728         * modules/unistr/u8-strmblen: Likewise.
26729         * modules/unistr/u8-strmbtouc: Likewise.
26730         * modules/unistr/u8-strncat: Likewise.
26731         * modules/unistr/u8-strncmp: Likewise.
26732         * modules/unistr/u8-strncpy: Likewise.
26733         * modules/unistr/u8-strnlen: Likewise.
26734         * modules/unistr/u8-strpbrk: Likewise.
26735         * modules/unistr/u8-strrchr: Likewise.
26736         * modules/unistr/u8-strspn: Likewise.
26737         * modules/unistr/u8-strstr: Likewise.
26738         * modules/unistr/u8-strtok: Likewise.
26739         * modules/unistr/u8-to-u16: Likewise.
26740         * modules/unistr/u8-to-u32: Likewise.
26741         * modules/unistr/u8-uctomb: Likewise.
26742         * modules/unistr/u16-check: Likewise.
26743         * modules/unistr/u16-chr: Likewise.
26744         * modules/unistr/u16-cmp: Likewise.
26745         * modules/unistr/u16-cmp2: Likewise.
26746         * modules/unistr/u16-cpy: Likewise.
26747         * modules/unistr/u16-cpy-alloc: Likewise.
26748         * modules/unistr/u16-endswith: Likewise.
26749         * modules/unistr/u16-mblen: Likewise.
26750         * modules/unistr/u16-mbsnlen: Likewise.
26751         * modules/unistr/u16-mbtouc: Likewise.
26752         * modules/unistr/u16-mbtouc-unsafe: Likewise.
26753         * modules/unistr/u16-mbtoucr: Likewise.
26754         * modules/unistr/u16-move: Likewise.
26755         * modules/unistr/u16-next: Likewise.
26756         * modules/unistr/u16-prev: Likewise.
26757         * modules/unistr/u16-set: Likewise.
26758         * modules/unistr/u16-startswith: Likewise.
26759         * modules/unistr/u16-stpcpy: Likewise.
26760         * modules/unistr/u16-stpncpy: Likewise.
26761         * modules/unistr/u16-strcat: Likewise.
26762         * modules/unistr/u16-strchr: Likewise.
26763         * modules/unistr/u16-strcmp: Likewise.
26764         * modules/unistr/u16-strcoll: Likewise.
26765         * modules/unistr/u16-strcpy: Likewise.
26766         * modules/unistr/u16-strcspn: Likewise.
26767         * modules/unistr/u16-strdup: Likewise.
26768         * modules/unistr/u16-strlen: Likewise.
26769         * modules/unistr/u16-strmblen: Likewise.
26770         * modules/unistr/u16-strmbtouc: Likewise.
26771         * modules/unistr/u16-strncat: Likewise.
26772         * modules/unistr/u16-strncmp: Likewise.
26773         * modules/unistr/u16-strncpy: Likewise.
26774         * modules/unistr/u16-strnlen: Likewise.
26775         * modules/unistr/u16-strpbrk: Likewise.
26776         * modules/unistr/u16-strrchr: Likewise.
26777         * modules/unistr/u16-strspn: Likewise.
26778         * modules/unistr/u16-strstr: Likewise.
26779         * modules/unistr/u16-strtok: Likewise.
26780         * modules/unistr/u16-to-u32: Likewise.
26781         * modules/unistr/u16-to-u8: Likewise.
26782         * modules/unistr/u16-uctomb: Likewise.
26783         * modules/unistr/u32-check: Likewise.
26784         * modules/unistr/u32-chr: Likewise.
26785         * modules/unistr/u32-cmp: Likewise.
26786         * modules/unistr/u32-cmp2: Likewise.
26787         * modules/unistr/u32-cpy: Likewise.
26788         * modules/unistr/u32-cpy-alloc: Likewise.
26789         * modules/unistr/u32-endswith: Likewise.
26790         * modules/unistr/u32-mblen: Likewise.
26791         * modules/unistr/u32-mbsnlen: Likewise.
26792         * modules/unistr/u32-mbtouc: Likewise.
26793         * modules/unistr/u32-mbtouc-unsafe: Likewise.
26794         * modules/unistr/u32-mbtoucr: Likewise.
26795         * modules/unistr/u32-move: Likewise.
26796         * modules/unistr/u32-next: Likewise.
26797         * modules/unistr/u32-prev: Likewise.
26798         * modules/unistr/u32-set: Likewise.
26799         * modules/unistr/u32-startswith: Likewise.
26800         * modules/unistr/u32-stpcpy: Likewise.
26801         * modules/unistr/u32-stpncpy: Likewise.
26802         * modules/unistr/u32-strcat: Likewise.
26803         * modules/unistr/u32-strchr: Likewise.
26804         * modules/unistr/u32-strcmp: Likewise.
26805         * modules/unistr/u32-strcoll: Likewise.
26806         * modules/unistr/u32-strcpy: Likewise.
26807         * modules/unistr/u32-strcspn: Likewise.
26808         * modules/unistr/u32-strdup: Likewise.
26809         * modules/unistr/u32-strlen: Likewise.
26810         * modules/unistr/u32-strmblen: Likewise.
26811         * modules/unistr/u32-strmbtouc: Likewise.
26812         * modules/unistr/u32-strncat: Likewise.
26813         * modules/unistr/u32-strncmp: Likewise.
26814         * modules/unistr/u32-strncpy: Likewise.
26815         * modules/unistr/u32-strnlen: Likewise.
26816         * modules/unistr/u32-strpbrk: Likewise.
26817         * modules/unistr/u32-strrchr: Likewise.
26818         * modules/unistr/u32-strspn: Likewise.
26819         * modules/unistr/u32-strstr: Likewise.
26820         * modules/unistr/u32-strtok: Likewise.
26821         * modules/unistr/u32-to-u16: Likewise.
26822         * modules/unistr/u32-to-u8: Likewise.
26823         * modules/unistr/u32-uctomb: Likewise.
26824         * modules/uniwbrk/u8-wordbreaks: Likewise.
26825         * modules/uniwbrk/u16-wordbreaks: Likewise.
26826         * modules/uniwbrk/u32-wordbreaks: Likewise.
26827         * modules/uniwbrk/ulc-wordbreaks: Likewise.
26828         * modules/uniwbrk/wordbreak-property: Likewise.
26829         * modules/uniwidth/u8-strwidth: Likewise.
26830         * modules/uniwidth/u8-width: Likewise.
26831         * modules/uniwidth/u16-strwidth: Likewise.
26832         * modules/uniwidth/u16-width: Likewise.
26833         * modules/uniwidth/u32-strwidth: Likewise.
26834         * modules/uniwidth/u32-width: Likewise.
26835         * modules/uniwidth/width: Likewise.
26836         * modules/unicase/cased-tests (Makefile.am): Link all test programs
26837         with $(LIBUNISTRING).
26838         * modules/unicase/ignorable-tests: Likewise.
26839         * modules/unicase/locale-language-tests: Likewise.
26840         * modules/unicase/tolower-tests: Likewise.
26841         * modules/unicase/totitle-tests: Likewise.
26842         * modules/unicase/toupper-tests: Likewise.
26843         * modules/unicase/u8-casecmp-tests: Likewise.
26844         * modules/unicase/u8-casecoll-tests: Likewise.
26845         * modules/unicase/u8-casefold-tests: Likewise.
26846         * modules/unicase/u8-is-cased-tests: Likewise.
26847         * modules/unicase/u8-is-casefolded-tests: Likewise.
26848         * modules/unicase/u8-is-lowercase-tests: Likewise.
26849         * modules/unicase/u8-is-titlecase-tests: Likewise.
26850         * modules/unicase/u8-is-uppercase-tests: Likewise.
26851         * modules/unicase/u8-tolower-tests: Likewise.
26852         * modules/unicase/u8-totitle-tests: Likewise.
26853         * modules/unicase/u8-toupper-tests: Likewise.
26854         * modules/unicase/u16-casecmp-tests: Likewise.
26855         * modules/unicase/u16-casecoll-tests: Likewise.
26856         * modules/unicase/u16-casefold-tests: Likewise.
26857         * modules/unicase/u16-is-cased-tests: Likewise.
26858         * modules/unicase/u16-is-casefolded-tests: Likewise.
26859         * modules/unicase/u16-is-lowercase-tests: Likewise.
26860         * modules/unicase/u16-is-titlecase-tests: Likewise.
26861         * modules/unicase/u16-is-uppercase-tests: Likewise.
26862         * modules/unicase/u16-tolower-tests: Likewise.
26863         * modules/unicase/u16-totitle-tests: Likewise.
26864         * modules/unicase/u16-toupper-tests: Likewise.
26865         * modules/unicase/u32-casecmp-tests: Likewise.
26866         * modules/unicase/u32-casecoll-tests: Likewise.
26867         * modules/unicase/u32-casefold-tests: Likewise.
26868         * modules/unicase/u32-is-cased-tests: Likewise.
26869         * modules/unicase/u32-is-casefolded-tests: Likewise.
26870         * modules/unicase/u32-is-lowercase-tests: Likewise.
26871         * modules/unicase/u32-is-titlecase-tests: Likewise.
26872         * modules/unicase/u32-is-uppercase-tests: Likewise.
26873         * modules/unicase/u32-tolower-tests: Likewise.
26874         * modules/unicase/u32-totitle-tests: Likewise.
26875         * modules/unicase/u32-toupper-tests: Likewise.
26876         * modules/unicase/ulc-casecmp-tests: Likewise.
26877         * modules/unicase/ulc-casecoll-tests: Likewise.
26878         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
26879         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
26880         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
26881         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
26882         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
26883         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
26884         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
26885         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
26886         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
26887         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
26888         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
26889         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
26890         * modules/unictype/bidicategory-byname-tests: Likewise.
26891         * modules/unictype/bidicategory-name-tests: Likewise.
26892         * modules/unictype/bidicategory-of-tests: Likewise.
26893         * modules/unictype/bidicategory-test-tests: Likewise.
26894         * modules/unictype/block-list-tests: Likewise.
26895         * modules/unictype/block-of-tests: Likewise.
26896         * modules/unictype/block-test-tests: Likewise.
26897         * modules/unictype/category-C-tests: Likewise.
26898         * modules/unictype/category-Cc-tests: Likewise.
26899         * modules/unictype/category-Cf-tests: Likewise.
26900         * modules/unictype/category-Cn-tests: Likewise.
26901         * modules/unictype/category-Co-tests: Likewise.
26902         * modules/unictype/category-Cs-tests: Likewise.
26903         * modules/unictype/category-L-tests: Likewise.
26904         * modules/unictype/category-Ll-tests: Likewise.
26905         * modules/unictype/category-Lm-tests: Likewise.
26906         * modules/unictype/category-Lo-tests: Likewise.
26907         * modules/unictype/category-Lt-tests: Likewise.
26908         * modules/unictype/category-Lu-tests: Likewise.
26909         * modules/unictype/category-M-tests: Likewise.
26910         * modules/unictype/category-Mc-tests: Likewise.
26911         * modules/unictype/category-Me-tests: Likewise.
26912         * modules/unictype/category-Mn-tests: Likewise.
26913         * modules/unictype/category-N-tests: Likewise.
26914         * modules/unictype/category-Nd-tests: Likewise.
26915         * modules/unictype/category-Nl-tests: Likewise.
26916         * modules/unictype/category-No-tests: Likewise.
26917         * modules/unictype/category-P-tests: Likewise.
26918         * modules/unictype/category-Pc-tests: Likewise.
26919         * modules/unictype/category-Pd-tests: Likewise.
26920         * modules/unictype/category-Pe-tests: Likewise.
26921         * modules/unictype/category-Pf-tests: Likewise.
26922         * modules/unictype/category-Pi-tests: Likewise.
26923         * modules/unictype/category-Po-tests: Likewise.
26924         * modules/unictype/category-Ps-tests: Likewise.
26925         * modules/unictype/category-S-tests: Likewise.
26926         * modules/unictype/category-Sc-tests: Likewise.
26927         * modules/unictype/category-Sk-tests: Likewise.
26928         * modules/unictype/category-Sm-tests: Likewise.
26929         * modules/unictype/category-So-tests: Likewise.
26930         * modules/unictype/category-Z-tests: Likewise.
26931         * modules/unictype/category-Zl-tests: Likewise.
26932         * modules/unictype/category-Zp-tests: Likewise.
26933         * modules/unictype/category-Zs-tests: Likewise.
26934         * modules/unictype/category-and-not-tests: Likewise.
26935         * modules/unictype/category-and-tests: Likewise.
26936         * modules/unictype/category-byname-tests: Likewise.
26937         * modules/unictype/category-name-tests: Likewise.
26938         * modules/unictype/category-none-tests: Likewise.
26939         * modules/unictype/category-of-tests: Likewise.
26940         * modules/unictype/category-or-tests: Likewise.
26941         * modules/unictype/category-test-withtable-tests: Likewise.
26942         * modules/unictype/combining-class-tests: Likewise.
26943         * modules/unictype/ctype-alnum-tests: Likewise.
26944         * modules/unictype/ctype-alpha-tests: Likewise.
26945         * modules/unictype/ctype-blank-tests: Likewise.
26946         * modules/unictype/ctype-cntrl-tests: Likewise.
26947         * modules/unictype/ctype-digit-tests: Likewise.
26948         * modules/unictype/ctype-graph-tests: Likewise.
26949         * modules/unictype/ctype-lower-tests: Likewise.
26950         * modules/unictype/ctype-print-tests: Likewise.
26951         * modules/unictype/ctype-punct-tests: Likewise.
26952         * modules/unictype/ctype-space-tests: Likewise.
26953         * modules/unictype/ctype-upper-tests: Likewise.
26954         * modules/unictype/ctype-xdigit-tests: Likewise.
26955         * modules/unictype/decimal-digit-tests: Likewise.
26956         * modules/unictype/digit-tests: Likewise.
26957         * modules/unictype/mirror-tests: Likewise.
26958         * modules/unictype/numeric-tests: Likewise.
26959         * modules/unictype/property-alphabetic-tests: Likewise.
26960         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
26961         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
26962         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
26963         * modules/unictype/property-bidi-block-separator-tests: Likewise.
26964         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
26965         * modules/unictype/property-bidi-common-separator-tests: Likewise.
26966         * modules/unictype/property-bidi-control-tests: Likewise.
26967         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
26968         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
26969         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
26970         * modules/unictype/property-bidi-european-digit-tests: Likewise.
26971         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
26972         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
26973         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
26974         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
26975         * modules/unictype/property-bidi-pdf-tests: Likewise.
26976         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
26977         * modules/unictype/property-bidi-whitespace-tests: Likewise.
26978         * modules/unictype/property-byname-tests: Likewise.
26979         * modules/unictype/property-combining-tests: Likewise.
26980         * modules/unictype/property-composite-tests: Likewise.
26981         * modules/unictype/property-currency-symbol-tests: Likewise.
26982         * modules/unictype/property-dash-tests: Likewise.
26983         * modules/unictype/property-decimal-digit-tests: Likewise.
26984         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
26985         * modules/unictype/property-deprecated-tests: Likewise.
26986         * modules/unictype/property-diacritic-tests: Likewise.
26987         * modules/unictype/property-extender-tests: Likewise.
26988         * modules/unictype/property-format-control-tests: Likewise.
26989         * modules/unictype/property-grapheme-base-tests: Likewise.
26990         * modules/unictype/property-grapheme-extend-tests: Likewise.
26991         * modules/unictype/property-grapheme-link-tests: Likewise.
26992         * modules/unictype/property-hex-digit-tests: Likewise.
26993         * modules/unictype/property-hyphen-tests: Likewise.
26994         * modules/unictype/property-id-continue-tests: Likewise.
26995         * modules/unictype/property-id-start-tests: Likewise.
26996         * modules/unictype/property-ideographic-tests: Likewise.
26997         * modules/unictype/property-ids-binary-operator-tests: Likewise.
26998         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
26999         * modules/unictype/property-ignorable-control-tests: Likewise.
27000         * modules/unictype/property-iso-control-tests: Likewise.
27001         * modules/unictype/property-join-control-tests: Likewise.
27002         * modules/unictype/property-left-of-pair-tests: Likewise.
27003         * modules/unictype/property-line-separator-tests: Likewise.
27004         * modules/unictype/property-logical-order-exception-tests: Likewise.
27005         * modules/unictype/property-lowercase-tests: Likewise.
27006         * modules/unictype/property-math-tests: Likewise.
27007         * modules/unictype/property-non-break-tests: Likewise.
27008         * modules/unictype/property-not-a-character-tests: Likewise.
27009         * modules/unictype/property-numeric-tests: Likewise.
27010         * modules/unictype/property-other-alphabetic-tests: Likewise.
27011         * modules/unictype/property-other-default-ignorable-code-point-tests:
27012         Likewise.
27013         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
27014         * modules/unictype/property-other-id-continue-tests: Likewise.
27015         * modules/unictype/property-other-id-start-tests: Likewise.
27016         * modules/unictype/property-other-lowercase-tests: Likewise.
27017         * modules/unictype/property-other-math-tests: Likewise.
27018         * modules/unictype/property-other-uppercase-tests: Likewise.
27019         * modules/unictype/property-paired-punctuation-tests: Likewise.
27020         * modules/unictype/property-paragraph-separator-tests: Likewise.
27021         * modules/unictype/property-pattern-syntax-tests: Likewise.
27022         * modules/unictype/property-pattern-white-space-tests: Likewise.
27023         * modules/unictype/property-private-use-tests: Likewise.
27024         * modules/unictype/property-punctuation-tests: Likewise.
27025         * modules/unictype/property-quotation-mark-tests: Likewise.
27026         * modules/unictype/property-radical-tests: Likewise.
27027         * modules/unictype/property-sentence-terminal-tests: Likewise.
27028         * modules/unictype/property-soft-dotted-tests: Likewise.
27029         * modules/unictype/property-space-tests: Likewise.
27030         * modules/unictype/property-terminal-punctuation-tests: Likewise.
27031         * modules/unictype/property-test-tests: Likewise.
27032         * modules/unictype/property-titlecase-tests: Likewise.
27033         * modules/unictype/property-unassigned-code-value-tests: Likewise.
27034         * modules/unictype/property-unified-ideograph-tests: Likewise.
27035         * modules/unictype/property-uppercase-tests: Likewise.
27036         * modules/unictype/property-variation-selector-tests: Likewise.
27037         * modules/unictype/property-white-space-tests: Likewise.
27038         * modules/unictype/property-xid-continue-tests: Likewise.
27039         * modules/unictype/property-xid-start-tests: Likewise.
27040         * modules/unictype/property-zero-width-tests: Likewise.
27041         * modules/unictype/scripts-tests: Likewise.
27042         * modules/unictype/syntax-c-ident-tests: Likewise.
27043         * modules/unictype/syntax-c-whitespace-tests: Likewise.
27044         * modules/unictype/syntax-java-ident-tests: Likewise.
27045         * modules/unictype/syntax-java-whitespace-tests: Likewise.
27046         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
27047         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
27048         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
27049         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
27050         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
27051         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
27052         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
27053         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
27054         * modules/uniname/uniname-tests: Likewise.
27055         * modules/uninorm/canonical-decomposition-tests: Likewise.
27056         * modules/uninorm/compat-decomposition-tests: Likewise.
27057         * modules/uninorm/composition-tests: Likewise.
27058         * modules/uninorm/decomposing-form-tests: Likewise.
27059         * modules/uninorm/decomposition-tests: Likewise.
27060         * modules/uninorm/filter-tests: Likewise.
27061         * modules/uninorm/nfc-tests: Likewise.
27062         * modules/uninorm/nfd-tests: Likewise.
27063         * modules/uninorm/nfkc-tests: Likewise.
27064         * modules/uninorm/nfkd-tests: Likewise.
27065         * modules/uninorm/u8-normcmp-tests: Likewise.
27066         * modules/uninorm/u8-normcoll-tests: Likewise.
27067         * modules/uninorm/u16-normcmp-tests: Likewise.
27068         * modules/uninorm/u16-normcoll-tests: Likewise.
27069         * modules/uninorm/u32-normcmp-tests: Likewise.
27070         * modules/uninorm/u32-normcoll-tests: Likewise.
27071         * modules/unistdio/u8-asnprintf-tests: Likewise.
27072         * modules/unistdio/u8-vasnprintf-tests: Likewise.
27073         * modules/unistdio/u8-vasprintf-tests: Likewise.
27074         * modules/unistdio/u8-vsnprintf-tests: Likewise.
27075         * modules/unistdio/u8-vsprintf-tests: Likewise.
27076         * modules/unistdio/u16-asnprintf-tests: Likewise.
27077         * modules/unistdio/u16-vasnprintf-tests: Likewise.
27078         * modules/unistdio/u16-vasprintf-tests: Likewise.
27079         * modules/unistdio/u16-vsnprintf-tests: Likewise.
27080         * modules/unistdio/u16-vsprintf-tests: Likewise.
27081         * modules/unistdio/u32-asnprintf-tests: Likewise.
27082         * modules/unistdio/u32-vasnprintf-tests: Likewise.
27083         * modules/unistdio/u32-vasprintf-tests: Likewise.
27084         * modules/unistdio/u32-vsnprintf-tests: Likewise.
27085         * modules/unistdio/u32-vsprintf-tests: Likewise.
27086         * modules/unistdio/ulc-asnprintf-tests: Likewise.
27087         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
27088         * modules/unistdio/ulc-vasprintf-tests: Likewise.
27089         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
27090         * modules/unistdio/ulc-vsprintf-tests: Likewise.
27091         * modules/unistr/u8-check-tests: Likewise.
27092         * modules/unistr/u8-chr-tests: Likewise.
27093         * modules/unistr/u8-cmp-tests: Likewise.
27094         * modules/unistr/u8-cmp2-tests: Likewise.
27095         * modules/unistr/u8-cpy-alloc-tests: Likewise.
27096         * modules/unistr/u8-cpy-tests: Likewise.
27097         * modules/unistr/u8-mblen-tests: Likewise.
27098         * modules/unistr/u8-mbsnlen-tests: Likewise.
27099         * modules/unistr/u8-mbtouc-tests: Likewise.
27100         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
27101         * modules/unistr/u8-mbtoucr-tests: Likewise.
27102         * modules/unistr/u8-move-tests: Likewise.
27103         * modules/unistr/u8-next-tests: Likewise.
27104         * modules/unistr/u8-prev-tests: Likewise.
27105         * modules/unistr/u8-set-tests: Likewise.
27106         * modules/unistr/u8-stpcpy-tests: Likewise.
27107         * modules/unistr/u8-stpncpy-tests: Likewise.
27108         * modules/unistr/u8-strcat-tests: Likewise.
27109         * modules/unistr/u8-strcmp-tests: Likewise.
27110         * modules/unistr/u8-strcoll-tests: Likewise.
27111         * modules/unistr/u8-strcpy-tests: Likewise.
27112         * modules/unistr/u8-strdup-tests: Likewise.
27113         * modules/unistr/u8-strlen-tests: Likewise.
27114         * modules/unistr/u8-strmblen-tests: Likewise.
27115         * modules/unistr/u8-strmbtouc-tests: Likewise.
27116         * modules/unistr/u8-strncat-tests: Likewise.
27117         * modules/unistr/u8-strncmp-tests: Likewise.
27118         * modules/unistr/u8-strncpy-tests: Likewise.
27119         * modules/unistr/u8-strnlen-tests: Likewise.
27120         * modules/unistr/u8-to-u16-tests: Likewise.
27121         * modules/unistr/u8-to-u32-tests: Likewise.
27122         * modules/unistr/u8-uctomb-tests: Likewise.
27123         * modules/unistr/u16-check-tests: Likewise.
27124         * modules/unistr/u16-chr-tests: Likewise.
27125         * modules/unistr/u16-cmp-tests: Likewise.
27126         * modules/unistr/u16-cmp2-tests: Likewise.
27127         * modules/unistr/u16-cpy-alloc-tests: Likewise.
27128         * modules/unistr/u16-cpy-tests: Likewise.
27129         * modules/unistr/u16-mblen-tests: Likewise.
27130         * modules/unistr/u16-mbsnlen-tests: Likewise.
27131         * modules/unistr/u16-mbtouc-tests: Likewise.
27132         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
27133         * modules/unistr/u16-mbtoucr-tests: Likewise.
27134         * modules/unistr/u16-move-tests: Likewise.
27135         * modules/unistr/u16-next-tests: Likewise.
27136         * modules/unistr/u16-prev-tests: Likewise.
27137         * modules/unistr/u16-set-tests: Likewise.
27138         * modules/unistr/u16-stpcpy-tests: Likewise.
27139         * modules/unistr/u16-stpncpy-tests: Likewise.
27140         * modules/unistr/u16-strcat-tests: Likewise.
27141         * modules/unistr/u16-strcmp-tests: Likewise.
27142         * modules/unistr/u16-strcoll-tests: Likewise.
27143         * modules/unistr/u16-strcpy-tests: Likewise.
27144         * modules/unistr/u16-strdup-tests: Likewise.
27145         * modules/unistr/u16-strlen-tests: Likewise.
27146         * modules/unistr/u16-strmblen-tests: Likewise.
27147         * modules/unistr/u16-strmbtouc-tests: Likewise.
27148         * modules/unistr/u16-strncat-tests: Likewise.
27149         * modules/unistr/u16-strncmp-tests: Likewise.
27150         * modules/unistr/u16-strncpy-tests: Likewise.
27151         * modules/unistr/u16-strnlen-tests: Likewise.
27152         * modules/unistr/u16-to-u32-tests: Likewise.
27153         * modules/unistr/u16-to-u8-tests: Likewise.
27154         * modules/unistr/u16-uctomb-tests: Likewise.
27155         * modules/unistr/u32-check-tests: Likewise.
27156         * modules/unistr/u32-chr-tests: Likewise.
27157         * modules/unistr/u32-cmp-tests: Likewise.
27158         * modules/unistr/u32-cmp2-tests: Likewise.
27159         * modules/unistr/u32-cpy-alloc-tests: Likewise.
27160         * modules/unistr/u32-cpy-tests: Likewise.
27161         * modules/unistr/u32-mblen-tests: Likewise.
27162         * modules/unistr/u32-mbsnlen-tests: Likewise.
27163         * modules/unistr/u32-mbtouc-tests: Likewise.
27164         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
27165         * modules/unistr/u32-mbtoucr-tests: Likewise.
27166         * modules/unistr/u32-move-tests: Likewise.
27167         * modules/unistr/u32-next-tests: Likewise.
27168         * modules/unistr/u32-prev-tests: Likewise.
27169         * modules/unistr/u32-set-tests: Likewise.
27170         * modules/unistr/u32-stpcpy-tests: Likewise.
27171         * modules/unistr/u32-stpncpy-tests: Likewise.
27172         * modules/unistr/u32-strcat-tests: Likewise.
27173         * modules/unistr/u32-strcmp-tests: Likewise.
27174         * modules/unistr/u32-strcoll-tests: Likewise.
27175         * modules/unistr/u32-strcpy-tests: Likewise.
27176         * modules/unistr/u32-strdup-tests: Likewise.
27177         * modules/unistr/u32-strlen-tests: Likewise.
27178         * modules/unistr/u32-strmblen-tests: Likewise.
27179         * modules/unistr/u32-strmbtouc-tests: Likewise.
27180         * modules/unistr/u32-strncat-tests: Likewise.
27181         * modules/unistr/u32-strncmp-tests: Likewise.
27182         * modules/unistr/u32-strncpy-tests: Likewise.
27183         * modules/unistr/u32-strnlen-tests: Likewise.
27184         * modules/unistr/u32-to-u16-tests: Likewise.
27185         * modules/unistr/u32-to-u8-tests: Likewise.
27186         * modules/unistr/u32-uctomb-tests: Likewise.
27187         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
27188         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
27189         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
27190         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
27191         * modules/uniwidth/u8-strwidth-tests: Likewise.
27192         * modules/uniwidth/u8-width-tests: Likewise.
27193         * modules/uniwidth/u16-strwidth-tests: Likewise.
27194         * modules/uniwidth/u16-width-tests: Likewise.
27195         * modules/uniwidth/u32-strwidth-tests: Likewise.
27196         * modules/uniwidth/u32-width-tests: Likewise.
27197         * modules/uniwidth/width-tests: Likewise.
27198
27199 2010-05-18  Richard Jones  <rjones@redhat.com>
27200
27201         doc: users.txt: list hivex
27202         * users.txt: Add hivex.
27203
27204 2010-05-18  Richard Jones  <rjones@redhat.com>
27205
27206         doc: users.txt: list febootstrap
27207         * users.txt: Add febootstrap.
27208
27209 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
27210
27211         bootstrap: fix an error when gnulib is not used as a git submodule
27212         * build-aux/bootstrap (gnulib_path): If its length is zero then
27213         assign "gnulib" to it.
27214         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
27215
27216 2010-05-16  Bruno Haible  <bruno@clisp.org>
27217
27218         Avoid autoconf warnings about AM_ICONV.
27219         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
27220         2.64.
27221
27222 2010-05-16  Bruno Haible  <bruno@clisp.org>
27223
27224         absolute-header: Make the macro usable in more situations.
27225         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
27226         from gl_ABSOLUTE_HEADER.
27227         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
27228
27229 2010-05-16  James Youngman  <jay@gnu.org>
27230
27231         doc: update users.txt
27232         * users.txt: Add CSSC.
27233
27234 2010-05-16  Jim Meyering  <meyering@redhat.com>
27235
27236         init.sh: fix an error in the previous change; add more comments
27237         * tests/init.sh: Compare exit code in loop against 9, not 2.
27238         Patch by Bruno Haible.
27239         Make the two tests more similar by adding an empty "then" clause.
27240         Add comments.
27241
27242         init.sh: avoid unnecessary shell re-exec
27243         * tests/init.sh: Improve the re-exec-required check to first test the
27244         current shell.  If it passes the test, do not search for a shell that
27245         does pass, and do not re-exec.  This test is particularly contorted to
27246         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
27247         of $(...) evokes a syntax error and causes immediate shell exit with
27248         status 2.  Bruno Haible reported that the re-exec made it impossible
27249         to single-step through any init.sh-using script.
27250
27251 2010-05-16  Bruno Haible  <bruno@clisp.org>
27252
27253         Fix collision between gnulib's and libintl's printf replacements.
27254         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
27255         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
27256         (printf): When using GNU C, map the __printf__ function to rpl_printf
27257         via __asm__. When not using GNU C, define rpl_printf instead of
27258         __printf__.
27259         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
27260         commit.
27261         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
27262         commit.
27263         * m4/asm-underscore.m4: New file.
27264         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
27265         * modules/stdio (Files): Add m4/asm-underscore.m4.
27266         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
27267         Reported by Ben Pfaff.
27268
27269 2010-05-16  Bruno Haible  <bruno@clisp.org>
27270
27271         verify: Avoid skipping the test on openSUSE 11.0.
27272         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
27273
27274 2010-05-13  Bruno Haible  <bruno@clisp.org>
27275
27276         Avoid useless warnings from G++.
27277         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
27278         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
27279         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
27280
27281 2010-05-11  Jim Meyering  <meyering@redhat.com>
27282
27283         maint.mk: tweak preceding change
27284         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
27285         regexps tighter by anchoring at EOL, and make the new group "shy"
27286         for slightly decreased overhead.
27287
27288 2010-05-11  Eric Blake  <eblake@redhat.com>
27289
27290         maint.mk: gnulib doesn't guarantee NSIG
27291         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
27292
27293 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
27294
27295         test-pwrite.c: Remove unused variable declaration.
27296         * tests/test-pwrite.c (main): Remove read_buf declaration.
27297
27298         Remove useless test-pwrite.sh file.
27299         * tests/test-pwrite.sh: Delete file.
27300         * modules/pwrite-tests: Remove references.
27301         Reported by Bruno Haible.
27302
27303 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
27304
27305         init.sh: fix a typo
27306         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
27307
27308 2010-05-10  Jim Meyering  <meyering@redhat.com>
27309
27310         maint.mk: avoid using a temporary file in the always-defined-macros check
27311         * top/maint.mk (.re-defmac): Remove rule.
27312         (gl_trap_): Remove definition.
27313         (sc_prohibit_always-defined_macros): Rewrite not to create and
27314         depend on a temporary file.  Instead, depend on GNU grep's ability
27315         to read a list of regular expressions from stdin when given "-f -".
27316
27317 2010-05-09  Bruno Haible  <bruno@clisp.org>
27318
27319         Update to GNU gettext 0.18, part 1.
27320         * m4/gettext.m4: Update to GNU gettext 0.18.
27321         * m4/intl.m4: Likewise.
27322         * m4/po.m4: Likewise.
27323         * modules/gettext (Files): Add m4/fcntl-o.m4.
27324         (configure.ac): Require gettext infrastructure from version 0.18.
27325
27326 2010-05-09  Jim Meyering  <meyering@redhat.com>
27327
27328         init.sh: enable MALLOC_PERTURB_
27329         * tests/init.sh: Enable glibc's malloc-perturbing option.
27330
27331         maint.mk: improve sc_cross_check_PATH_usage_in_tests
27332         With my recent change in init.sh from the two-line form:
27333             -#   : ${srcdir=.}
27334             -#   . "$srcdir/init.sh"; path_prepend_ .
27335             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
27336         I noticed that using the one-line form would cause this test
27337         to fail with a false-positive, or to stop working altogether,
27338         depending on whether help-version changed or all the tests did.
27339         * top/maint.mk (_hv_regex): Remove this definition.
27340         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
27341         (_hv_regex_strong): Use a stronger regex to check for conformance.
27342         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
27343         Give a separate diagnostic for lack of conforming use.
27344
27345         maint.mk: prohibit definition of symbols defined by gnulib
27346         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
27347         definition of symbols defined by gnulib.
27348
27349 2010-05-09  Bruno Haible  <bruno@clisp.org>
27350
27351         acl: Avoid test failure on Cygwin-hosted mingw.
27352         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
27353
27354 2010-05-09  Bruno Haible  <bruno@clisp.org>
27355
27356         error: Use system's fcntl function.
27357         * lib/error.c (fcntl): Undefine.
27358
27359 2010-05-09  Jim Meyering  <meyering@redhat.com>
27360
27361         verify: adjust formatting to be more consistent
27362         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
27363         argument-list '('s, and after one comma.
27364
27365 2010-05-09  Bruno Haible  <bruno@clisp.org>
27366
27367         error: More reliable output on mingw.
27368         * lib/error.c: Include <windows.h>.
27369         (is_open): New function.
27370         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
27371         defined.
27372
27373 2010-05-09  Bruno Haible  <bruno@clisp.org>
27374
27375         vasnprintf: Fix syntax errors in libintl build on mingw.
27376         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
27377         pad_ourselves and prec_ourselves after use.
27378
27379 2010-05-08  Bruno Haible  <bruno@clisp.org>
27380
27381         * lib/config.charset: Update comments for Cygwin 1.7.
27382         * lib/localcharset.c: Likewise.
27383
27384 2010-05-07  Jim Meyering  <meyering@redhat.com>
27385
27386         init.sh: improve comments
27387         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
27388         . "${srcdir=.}/init.sh"; path_prepend_ .
27389         Add a note about path_prepend_ and the alternative of using
27390         TESTS_ENVIRONMENT.
27391
27392 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
27393
27394         exclude: Unescape hashed patterns in wildcard mode.
27395         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
27396         to the hash list.
27397         * tests/test-exclude8.sh: New test case.
27398         * modules/exclude-tests: Add new test.
27399
27400 2010-05-05  Eric Blake  <eblake@redhat.com>
27401
27402         verify: automate tests
27403         * modules/verify-tests: New module.
27404         * tests/test-verify.sh: New file.
27405         * tests/test-verify.c: Guard each negative test with a unique id.
27406         Also avoid warning about unused left hand of comma expressions.
27407
27408 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
27409
27410         Further improvements to verify.h, suggested by Eric Blake.
27411         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
27412         the GL_* versions, to avoid collision with OpenGL.
27413         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
27414         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
27415         than testing merely whether it's defined.
27416
27417         Modify verify.h to pacify gcc -Wredundant_decls.
27418         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
27419         These use the prefix "GL_" since they're likely to be useful elsewhere.
27420         We may need to break them out into a different .h file.
27421         (__COUNTER__): Define to 0 if the compiler doesn't support it.
27422         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
27423         of verify_function__.
27424
27425 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
27426
27427         Tests for module pwrite.
27428         * modules/pwrite-tests: New file.
27429         * tests/test-pwrite.sh: New file.
27430         * tests/test-pwrite.c: New file.
27431
27432         New module pwrite.
27433         * lib/unistd.in.h (pwrite): New declaration.
27434         * lib/pwrite.c: New file, from glibc with modifications.
27435         * m4/pwrite.m4: New file.
27436         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
27437         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
27438         REPLACE_PWRITE.
27439         * modules/pwrite: New file.
27440         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
27441         REPLACE_PWRITE.
27442         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
27443         * doc/posix-functions/pwrite.texi: Mention the new module.
27444
27445 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
27446
27447         pread: Update documentation.
27448         * doc/posix-functions/pread.texi: Mention the 'pread' module.
27449
27450 2010-05-04  Eric Blake  <eblake@redhat.com>
27451
27452         docs: update cygwin progress
27453         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
27454         this bug.
27455         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
27456         Added in cygwin 1.7.2.
27457         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
27458         Likewise.
27459         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
27460         Likewise.
27461         * doc/glibc-functions/dup3.texi (dup3): Likewise.
27462         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
27463         * doc/glibc-functions/accept4.texi (accept4): Likewise.
27464         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
27465         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
27466         Mention nproc module.
27467         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
27468         bug in cygwin 1.7.5 addition.
27469         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
27470         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
27471         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
27472         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
27473         1.7.5.
27474         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
27475         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
27476         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
27477         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
27478         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
27479         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
27480         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
27481         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
27482         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
27483         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
27484         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
27485         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
27486         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
27487         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
27488         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
27489         Likewise.
27490         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
27491         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
27492         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
27493         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
27494         Likewise.
27495         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
27496         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
27497         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
27498         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
27499         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
27500         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
27501         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
27502         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
27503         Likewise.
27504         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
27505         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
27506         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
27507         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
27508         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
27509         Likewise.
27510         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
27511         Likewise.
27512         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
27513         Likewise.
27514         * doc/glibc-functions/xdrrec_endofrecord.texi
27515         (xdrrec_endofrecord): Likewise.
27516         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
27517         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
27518         Likewise.
27519         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
27520         Likewise.
27521
27522 2010-05-04  Jim Meyering  <meyering@redhat.com>
27523
27524         gendocs.sh: make its "-s FILE" option more useful
27525         * build-aux/gendocs.sh: When honoring the -s FILE option, update
27526         $PACKAGE to reflect the probably-different basename of "FILE".
27527
27528 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
27529
27530         bootstrap: don't ignore download_po_files failure
27531         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
27532         failure.
27533
27534 2010-05-03  Jim Meyering  <meyering@redhat.com>
27535
27536         maint.mk: allow to pass options to gendocs.sh
27537         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
27538         (gendocs_options_): New overridable variable.
27539
27540         gnu-web-doc-update: don't ignore configure or build failure
27541         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
27542
27543         announce-gen: backslash-escape '@'s in --help output
27544         * build-aux/announce-gen: Fix syntax errors.
27545
27546         maint.mk, announce-gen: allow project-specific announcement mail headers
27547         * top/maint.mk (translation_project_): Define default.
27548         (announcement_Cc_, announcement_mail_headers_): Likewise.
27549         (announcement): Invoke announce-gen with new --mail-headers option.
27550         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
27551
27552         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
27553         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
27554         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
27555         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
27556         line in the "err2" output file when running "make check" in verbose
27557         mode (i.e., with set -x enabled).
27558
27559 2010-05-03  Bruno Haible  <bruno@clisp.org>
27560
27561         wctob: Fix for weird platforms.
27562         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
27563         argument value.
27564
27565 2010-05-03  Jim Meyering  <meyering@redhat.com>
27566
27567         maint.mk: prohibit unwarranted use of <strings.h>
27568         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
27569         strings.h in a file that does not also use strcasecmp, strncasecmp,
27570         ffs or ffsll.
27571
27572         maint.mk: remove obsolete comments
27573         * top/maint.mk: Remove stale, commented-out rules.
27574
27575 2010-05-02  Bruno Haible  <bruno@clisp.org>
27576
27577         wcwidth: Declare also when it's aliased.
27578         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
27579         macro.
27580
27581 2010-05-02  Bruno Haible  <bruno@clisp.org>
27582
27583         Fix regression from 2010-04-25.
27584         * gnulib-tool (func_modules_transitive_closure): Check the status of
27585         all modules, not only of the tests that are of the form foo-tests where
27586         foo is a module.
27587
27588 2010-05-02  Bruno Haible  <bruno@clisp.org>
27589
27590         wctob: Work around nasty Cygwin 1.7.2 bug.
27591         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
27592         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
27593
27594 2010-05-01  Bruno Haible  <bruno@clisp.org>
27595
27596         fpurge: Sharper test.
27597         * tests/test-fpurge.c (main): Add one more ftell check.
27598         * modules/fpurge-tests (Depends-on): Add ftell.
27599         Suggested by Eric Blake.
27600
27601 2010-05-01  Bruno Haible  <bruno@clisp.org>
27602
27603         ftello: Another test.
27604         * tests/test-ftello3.c: New file.
27605         * modules/ftello-tests (Files): Add it.
27606         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
27607         MOSTLYCLEANFILES.
27608
27609         ftell: Another test.
27610         * tests/test-ftell3.c: New file.
27611         * modules/ftell-tests (Files): Add it.
27612         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
27613         MOSTLYCLEANFILES.
27614
27615 2010-05-01  Bruno Haible  <bruno@clisp.org>
27616
27617         ftell, ftello: Work around Solaris bug.
27618         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
27619         * lib/ftello.c: Include stdio-impl.h.
27620         (ftello): On Solaris, when _IOWRT is set, compute the result without
27621         looking at _IOREAD.
27622         * modules/ftello (Files): Add lib/stdio-impl.h.
27623         * doc/posix-functions/ftell.texi: Mention Solaris bug.
27624         * doc/posix-functions/ftello.texi: Likewise.
27625         Reported by Eric Blake.
27626
27627 2010-05-01  Bruno Haible  <bruno@clisp.org>
27628
27629         freading: Adapt to special meaning of _IOREAD flag on Solaris.
27630         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
27631         the _IOWRT flag is also set.
27632
27633 2010-05-01  Bruno Haible  <bruno@clisp.org>
27634
27635         Fix doc about a HP-UX stdio bug.
27636         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
27637         * doc/posix-functions/ftello.texi: Likewise.
27638
27639 2010-05-01  Bruno Haible  <bruno@clisp.org>
27640
27641         lseek test: Fix failure on Solaris.
27642         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
27643         output.
27644
27645 2010-04-30  Jim Meyering  <meyering@redhat.com>
27646
27647         bootstrap: don't ignore failure to generate po*/Makevars
27648         * build-aux/bootstrap (with_gettext): Don't ignore failure
27649         to create po/Makevars or runtime-po/Makevars.
27650
27651 2010-04-29  Eric Blake  <eblake@redhat.com>
27652
27653         headers: relax license to LGPLv2+
27654         * modules/fcntl-h (License): Relax license.
27655         * modules/getopt-posix (License): Likewise.
27656         * modules/locale (License): Likewise.
27657         * modules/math (License): Likewise.
27658         * modules/pty (License): Likewise.
27659         * modules/sched (License): Likewise.
27660         * modules/search (License): Likewise.
27661         * modules/spawn (License): Likewise.
27662         * modules/stdarg (License): Likewise.
27663         * modules/sysexits (License): Likewise.
27664
27665 2010-04-29  Jim Meyering  <meyering@redhat.com>
27666
27667         inttypes: relax license to LGPLv2+
27668         * modules/inttypes (License): Relax license.
27669
27670 2010-04-29  Simon Josefsson  <simon@josefsson.org>
27671
27672         * top/maint.mk (indent): Run twice to produce idempotent results.
27673
27674 2010-04-28  Bruno Haible  <bruno@clisp.org>
27675
27676         getdate: Generate getdate.c in the source directory.
27677         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
27678         MOSTLYCLEANFILES.
27679         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
27680
27681 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
27682
27683         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
27684         is not declared as a const *; avoid warnings in that case.
27685
27686 2010-04-28  Eric Blake  <eblake@redhat.com>
27687
27688         canonicalize-lgpl: avoid compiler warning
27689         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
27690         declaration' / 'extraneous semicolon' warning with some compilers.
27691         Reported by Andreas Gruenbacher.
27692
27693 2010-04-28  Jim Meyering  <meyering@redhat.com>
27694
27695         init.sh: ensure a more reliable exit status when exiting via trap
27696         * tests/init.sh (setup_): Don't rely on $? in signal handler.
27697         Inspired by patches from Dmitry V. Levin.
27698         Also trap on signal 3 (SIGQUIT).
27699
27700 2010-04-27  Bruno Haible  <bruno@clisp.org>
27701
27702         Update doc about utimes().
27703         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
27704         'utimens' module.
27705         Reported by Andreas Gruenbacher <agruen@suse.de>.
27706
27707 2010-04-27  Eric Blake  <eblake@redhat.com>
27708
27709         full-read, full-write: relax license
27710         * modules/full-read (License): Drop to LGPLv2+.
27711         * modules/full-write (License): Likewise.
27712         * modules/safe-read (License): Likewise.
27713         * modules/safe-write (License): Likewise.
27714
27715         pthread: mention library for linking
27716         * modules/pthread (Link): Mention $(LIB_PTHREAD).
27717
27718 2010-04-27  Jim Meyering  <meyering@redhat.com>
27719
27720         maint.mk: fix a bug introduced in last change
27721         * top/maint.mk (gl_assured_headers_): Now that all names are on
27722         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
27723         is not anchored to end of word, it should be adequate.
27724
27725         maint.mk: avoid side-effect in latest syntax-check
27726         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
27727         to run commands via $(shell...), and hence to incur cost only when
27728         the new rule is actually run.
27729
27730         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
27731         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
27732         and use that to create a regexp used to detect all #if HAVE_..._H uses.
27733         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
27734         (gl_assured_headers_, az_, AZ_): Define.
27735         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
27736
27737 2010-04-26  Jim Meyering  <jim@meyering.net>
27738             Bruno Haible  <bruno@clisp.org>
27739
27740         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
27741         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
27742         Prompted by an exchange with Gilles Espinasse.
27743
27744 2010-04-26  Jim Meyering  <meyering@redhat.com>
27745
27746         git-version-gen: aesthetic tweak
27747         * build-aux/git-version-gen: Use "$nl" rather than a literal,
27748         so that the command remains on a single line.
27749
27750 2010-04-26  Eric Blake  <eblake@redhat.com>
27751
27752         git-version-gen: allow use on EBCDIC hosts
27753         * build-aux/git-version-gen (dirty): Use literal rather than tying
27754         ourselves to ascii.
27755         Reported by Steve Goetze.
27756
27757 2010-04-25  Bruno Haible  <bruno@clisp.org>
27758
27759         netdb: Add support for GNULIB_POSIXCHECK.
27760         * lib/netdb.in.h: Include warn-on-use.h.
27761         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
27762         functions are used when GNULIB_POSIXCHECK is defined and the
27763         getaddrinfo module is not in use.
27764         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
27765         freeaddrinfo, gai_strerror, getnameinfo are declared.
27766         * modules/netdb (Depends-on): Add warn-on-use.
27767         (Makefile.am): Include warn-on-use.h in netdb.h.
27768
27769 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
27770
27771         build: avoid "make check" failure without .git/ directory
27772         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
27773         there is no .git/ directory.
27774
27775 2010-04-25  Bruno Haible  <bruno@clisp.org>
27776
27777         ptsname: Fix misuse of ttyname_r.
27778         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
27779         of errno.
27780
27781 2010-04-25  Bruno Haible  <bruno@clisp.org>
27782
27783         ttyname_r: Make it work on Solaris 10.
27784         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
27785         if the system function has the POSIX declaration. Test whether the
27786         function fails if the buffer is less than 128 bytes large.
27787         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
27788         system's ttyname_r function. Provide a reasonably large buffer.
27789         * modules/ttyname_r (Depends-on): Add extensions.
27790         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
27791
27792 2010-04-25  Bruno Haible  <bruno@clisp.org>
27793
27794         Use the 'extensions' module for some more functions on Solaris.
27795         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
27796         module.
27797         * doc/posix-functions/ctime_r.texi: Likewise.
27798         * doc/posix-functions/getgrgid_r.texi: Likewise.
27799         * doc/posix-functions/getgrnam_r.texi: Likewise.
27800         * doc/posix-functions/getpwnam_r.texi: Likewise.
27801         * doc/posix-functions/getpwuid_r.texi: Likewise.
27802         * doc/posix-functions/readdir_r.texi: Likewise.
27803         * doc/posix-functions/sigwait.texi: Likewise.
27804         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
27805         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
27806
27807 2010-04-25  Bruno Haible  <bruno@clisp.org>
27808
27809         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
27810         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
27811         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
27812         * lib/ttyname_r.c: Include <limits.h>.
27813         (ttyname_r): Define using the system's ttyname_r function, if it exists
27814         and not on Solaris.
27815         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
27816         set.
27817         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
27818         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
27819         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
27820         Reported by Simon Josefsson.
27821
27822 2010-04-25  Bruno Haible  <bruno@clisp.org>
27823
27824         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
27825         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
27826         * doc/posix-functions/ctime_r.texi: Likewise.
27827         * doc/posix-functions/getgrgid_r.texi: Likewise.
27828         * doc/posix-functions/getgrnam_r.texi: Likewise.
27829         * doc/posix-functions/getlogin_r.texi: Likewise.
27830         * doc/posix-functions/getpwnam_r.texi: Likewise.
27831         * doc/posix-functions/getpwuid_r.texi: Likewise.
27832         * doc/posix-functions/readdir_r.texi: Likewise.
27833         * doc/posix-functions/sigwait.texi: Likewise.
27834         * doc/posix-functions/ttyname_r.texi: Likewise.
27835         Reported by Simon Josefsson.
27836
27837 2010-04-25  Bruno Haible  <bruno@clisp.org>
27838
27839         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
27840         * gnulib-tool (func_usage): Document that --with-*-tests options apply
27841         also to --create-testdir.
27842         (func_acceptable): Don't consider the status of *-tests modules here.
27843         (func_modules_transitive_closure): Consider it here, before including a
27844         test module.
27845         (func_import, func_create_testdir): Set inc_all_direct_tests,
27846         inc_all_indirect_tests.
27847         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
27848         --create-testdir and --create-megatestdir.
27849
27850 2010-04-25  Bruno Haible  <bruno@clisp.org>
27851
27852         gnulib-tool: Add --without-*-tests options.
27853         * gnulib-tool (func_usage): Document the --without-*-tests options.
27854         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
27855         excl_unportable_tests): New variables.
27856         Fail if they are specified with --import or --update.
27857         (func_acceptable): Respect the excl_*_tests variables.
27858         (func_import): Set the excl_*_tests variables to empty.
27859
27860 2010-04-25  Simon Josefsson  <simon@josefsson.org>
27861             Bruno Haible  <bruno@clisp.org>
27862
27863         Work around a MacOS X 10.4 bug with openpty.
27864         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
27865         * tests/test-openpty.c (main): Close the master side explicitly.
27866
27867 2010-04-25  Bruno Haible  <bruno@clisp.org>
27868
27869         strnlen: Fix a C++ test error on MacOS X and Solaris.
27870         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
27871         the function is not declared.
27872         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
27873         Simon Josefsson.
27874
27875 2010-04-24  Bruno Haible  <bruno@clisp.org>
27876
27877         Avoid a gcc warning.
27878         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
27879         of correct type for %08lx directive.
27880         Reported by Eric Blake.
27881
27882 2010-04-24  Bruno Haible  <bruno@clisp.org>
27883
27884         vasnprintf: Correct errno value in case of out-of-memory.
27885         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
27886         or sprintf. Use the errno value from SNPRINTF or sprintf.
27887         Reported by Ian Beckwith <ianb@erislabs.net>.
27888
27889 2010-04-24  Bruno Haible  <bruno@clisp.org>
27890
27891         ansi-c++-opt: Find correct compiler when cross-compiling.
27892         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
27893         AC_CHECK_PROGS.
27894         Reported by Simon Josefsson.
27895
27896 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
27897
27898         vc-list-files: Add support for subversion
27899         * build-aux/vc-list-files: Use "svn list" to generate the list of
27900         files controlled by subversion.
27901
27902 2010-04-23  Jim Meyering  <meyering@redhat.com>
27903
27904         vc-list-files tests: convert to use init.sh
27905         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
27906         path_prepend_.
27907         Use Exit, not exit.
27908         Use skip_ rather than open coding it.
27909         Remove trap set-up and compare definitions.
27910         * tests/test-vc-list-files-git.sh: Likewise.
27911         * modules/vc-list-files-tests (Files): Add tests/init.sh.
27912
27913 2010-04-22  Simon Josefsson  <simon@josefsson.org>
27914
27915         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
27916         backup files.
27917
27918 2010-04-21  Simon Josefsson  <simon@josefsson.org>
27919
27920         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
27921
27922 2010-04-20  Eric Blake  <eblake@redhat.com>
27923
27924         tests: be robust to ignored SIGPIPE
27925         * tests/test-select-in.sh: Consume all output.
27926         * tests/test-lseek.sh: Check correct exit status, while avoiding
27927         EPIPE.
27928
27929 2010-04-20  Simon Josefsson  <simon@josefsson.org>
27930             Bruno Haible  <bruno@clisp.org>
27931
27932         visibility: Don't use -fvisibility if it leads to a warning.
27933         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
27934         yes, don't pretend that visibility works if it leads to a warning.
27935         Reported by Mike Gran <spk121@yahoo.com>.
27936
27937 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
27938
27939         * build-aux/bootstrap: Use "git -h" for testing for supported options
27940         instead of "git --help".  The short-form option only shows a summary,
27941         and doesn't layout the full man page.  Grep for the full option name
27942         in the summary, too.
27943
27944 2010-04-19  Bruno Haible  <bruno@clisp.org>
27945
27946         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
27947         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
27948         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
27949         mention of RELOCATABLE_STRIP.
27950         Reported by Sylvain Beucler <beuc@beuc.net>.
27951
27952 2010-04-19  Bruno Haible  <bruno@clisp.org>
27953
27954         * lib/diffseq.h: Fix typo in comment.
27955         Reported by Eric Blake.
27956
27957 2010-04-19  Bruno Haible  <bruno@clisp.org>
27958
27959         ioctl: Move autoconf macro to a .m4 file.
27960         * m4/ioctl.m4: New file, extracted from modules/ioctl.
27961         * modules/ioctl (Files): Add it.
27962         (configure.ac): Simply invoke gl_FUNC_IOCTL.
27963         Reported by Ian Beckwith <ianb@erislabs.net>.
27964
27965 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
27966             Bruno Haible  <bruno@clisp.org>
27967
27968         diffseq: Accommodate use-case with abstract arrays.
27969         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
27970         is not defined.
27971         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
27972         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
27973
27974 2010-04-18  Bruno Haible  <bruno@clisp.org>
27975
27976         * doc/posix-headers/stdbool.texi: More precise wording.
27977
27978 2010-04-17  Jim Meyering  <meyering@redhat.com>
27979
27980         maint.mk: use gnu-style indentation in an embedded perl script
27981         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
27982         Rename variable: s/two/last_two_bytes/
27983
27984 2010-04-16  Eric Blake  <eblake@redhat.com>
27985
27986         test-stdbool: skip test that fails with Solaris CC
27987         * tests/test-stdbool.c (f): Skip test that causes compilation
27988         error under buggy C++ compiler.
27989         * lib/stdbool.in.h: Document the limitation.
27990         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
27991
27992         setenv: allow compilation with C++
27993         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
27994         register keyword.
27995
27996         stdint: allow test to pass with C++
27997         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
27998
27999         getopt: allow compilation with C++
28000         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
28001         struct.
28002         * lib/getopt.c (_getopt_internal_r): Use correct type.
28003         Reported by Dagobert Michelson, via Joel E. Denny.
28004
28005 2010-04-16  Bruno Haible  <bruno@clisp.org>
28006
28007         Override netdb.h always.
28008         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
28009         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
28010         Reported by Ludovic Courtès <ludo@gnu.org>.
28011
28012 2010-04-15  Bruno Haible  <bruno@clisp.org>
28013
28014         openpty: Fix mistake from 2010-03-21.
28015         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
28016         Reported by Simon Josefsson.
28017
28018 2010-04-15  Eric Blake  <eblake@redhat.com>
28019
28020         test-forkpty: fix expected signature
28021         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
28022         Reported by Simon Josefsson.
28023
28024 2010-04-15  Jim Meyering  <meyering@redhat.com>
28025
28026         maint.mk: texinfo_suffix_re_: correct the default regexp
28027         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
28028
28029         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
28030         make it configurable via texinfo_suffix_re_.
28031
28032 2010-04-14  Eric Blake  <eblake@redhat.com>
28033
28034         strtok_r: relax license to LGPLv2+
28035         * modules/strtok_r (License): Relax license.
28036         Reported by Matthias Bolte.
28037
28038 2010-04-14  Simon Josefsson  <simon@josefsson.org>
28039
28040         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
28041         version 1.4.4 by default instead of requiring the libgcrypt
28042         version used during build.  This makes it possible to use the
28043         application with older but still binary compatible libgcrypt
28044         versions.
28045
28046 2010-04-13  Eric Blake  <eblake@redhat.com>
28047
28048         getopt-gnu: match recent glibc fixes and posix ruling
28049         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
28050         '+' handling, when requesting extensions.
28051         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
28052         'W;' handling.
28053         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
28054         * doc/posix-functions/getopt.texi (getopt): Document this.
28055         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
28056         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
28057         Likewise.
28058
28059         getopt: merge bug fixes from glibc
28060         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
28061         diagnostics.  Honor '+:' correctly.  Reject ';'.
28062
28063         getopt-posix: detect MacOS bug
28064         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
28065         optind when missing a required argument.
28066         * doc/posix-functions/getopt.texi (getopt): Document the bug.
28067         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
28068         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
28069         Likewise.
28070
28071         getopt-posix: avoid spurious failure on Solaris
28072         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
28073         an indicator that setting optind=1 is sufficient for reset.
28074
28075         getopt-posix: avoid spurious failure on FreeBSD
28076         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
28077         in POSIX mode, since the m4 test uses it.
28078
28079         gnulib-tool: silence warning on BSD sh
28080         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
28081
28082 2010-04-13  Jim Meyering  <meyering@redhat.com>
28083
28084         doc: users.txt: GNU patch now uses gnulib
28085         * users.txt: Add patch.
28086
28087 2010-04-12  Jim Meyering  <meyering@redhat.com>
28088
28089         maint.mk: generate more concise timing data for syntax-check rules
28090         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
28091         " done" from each line that reports a syntax-check test duration.
28092
28093 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
28094
28095         git-version-gen: use "git update-index..." rather than "git status"
28096         * build-aux/git-version-gen: Use git update-index --refresh, not
28097         "git status".  With some versions of git, "git status" would fail
28098         to update the index and result in an unwarranted "-dirty" suffix.
28099
28100 2010-04-11  Jim Meyering  <meyering@redhat.com>
28101
28102         openat: correct formatting (no semantic change)
28103         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
28104         Suggested by Bruno Haible.
28105
28106 2010-04-11  Bruno Haible  <bruno@clisp.org>
28107
28108         Stricter declaration checking in testdirs.
28109         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
28110         If for_tests is true, augment AM_CPPFLAGS to define
28111         GNULIB_STRICT_CHECKING.
28112         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
28113         GNULIB_STRICT_CHECKING is defined, verify that the function is
28114         declared.
28115
28116 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
28117             Bruno Haible  <bruno@clisp.org>
28118
28119         libunistring: Improve configure output.
28120         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
28121         Don't say "consider installing GNU libunistring" when checking again
28122         with libiconv.
28123
28124 2010-04-11  Bruno Haible  <bruno@clisp.org>
28125
28126         libunistring: Correct value of $LTLIBUNISTRING.
28127         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
28128         correct the value of $LTLIBUNISTRING.
28129
28130 2010-04-11  Bruno Haible  <bruno@clisp.org>
28131
28132         havelib: Add static libraries to LIBS in the right order.
28133         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
28134         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
28135
28136 2010-04-11  Bruno Haible  <bruno@clisp.org>
28137
28138         libunistring: Detect libunistring also when it depends on libiconv.
28139         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
28140         the second AC_LIB_HAVE_LINKFLAGS invocation.
28141
28142 2010-04-11  James Youngman  <jay@gnu.org>
28143
28144         close-stream: declare local scalars to be "const"
28145         * lib/close-stream.c (close_stream): Make boolean variables const
28146         to document the fact that we set but do not change them.
28147
28148 2010-04-11  Bruno Haible  <bruno@clisp.org>
28149
28150         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
28151
28152 2010-04-11  Jim Meyering  <meyering@redhat.com>
28153
28154         maint.mk: don't include dist-check.mk
28155         * top/maint.mk: Remove bogus include directive.
28156
28157         maint.mk: improve empty-line-at-EOF check
28158         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
28159         solution, rather than tail+Perl-based one.  The latter would read
28160         a few kilobytes from the end of each file, and did not handle empty
28161         files properly.
28162
28163         maint.mk: print the elapsed time for each syntax-check rule
28164         * top/maint.mk (sc_m_rules_): Save start time in a file.
28165         (sc_z_rules_): New rules: remove temp file and print elapsed time.
28166         (local-check): Interpose the .z rules
28167
28168 2010-04-11  Jim Meyering  <meyering@redhat.com>
28169
28170         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
28171         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
28172         empty file with one that ends in an empty line.
28173
28174 2010-04-10  Bruno Haible  <bruno@clisp.org>
28175
28176         mkdir: Make it work on mingw64.
28177         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
28178         * lib/mkdir.c: Update comment.
28179         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
28180
28181 2010-04-10  Bruno Haible  <bruno@clisp.org>
28182
28183         Don't override improved macro from newer autoconf.
28184         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
28185         autoconf >= 2.62.
28186         Reported by Joel E. Denny <jdenny@clemson.edu>.
28187
28188 2010-04-10  Jim Meyering  <meyering@redhat.com>
28189
28190         maint.mk: new syntax-check rule: prohibit empty lines at end of file
28191         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
28192
28193         maint.mk: correct a diagnostic
28194         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
28195         in diagnostic; now use $prohibit.
28196
28197 2010-04-10  Bruno Haible  <address@hidden>
28198
28199         fchownat: Fix a C++ test error on Solaris 8.
28200         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
28201         the function does not exist.
28202
28203 2010-04-10  Bruno Haible  <bruno@clisp.org>
28204
28205         vasnprintf: Add more tests.
28206         * tests/test-vasnprintf-posix.c: Include <errno.h>.
28207         (test_function): Test converting an invalid wide string.
28208
28209         vasnprintf: Correct handling of unconvertible wide string arguments.
28210         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
28211         VASNPRINTF.
28212         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
28213         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
28214         smaller than the expected maximum need for the directive. Set errno to
28215         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
28216         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
28217         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
28218         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
28219         * modules/vasnprintf (Files): Add m4/printf.m4.
28220         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
28221
28222 2010-04-10  Bruno Haible  <bruno@clisp.org>
28223
28224         vasnprintf: Fix crash in %ls directive.
28225         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
28226         string is passed as argument to %ls, with no precision and no width.
28227         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
28228
28229 2010-04-10  Bruno Haible  <bruno@clisp.org>
28230
28231         vasnprintf: Fix multiple test failures on mingw.
28232         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
28233         _snprintf, or snwprintf, not _snwprintf.
28234
28235 2010-04-10  Bruno Haible  <bruno@clisp.org>
28236
28237         write: Fix a C++ test error on mingw.
28238         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
28239
28240 2010-04-10  Bruno Haible  <bruno@clisp.org>
28241
28242         vasnprintf test: Reduce code duplication.
28243         * tests/test-vasnprintf.c (test_function): New function, extracted from
28244         test_vasnprintf.
28245         (test_vasnprintf, test_asnprintf): Invoke it.
28246
28247 2010-04-10  Bruno Haible  <bruno@clisp.org>
28248
28249         strnlen: Fix warning in C++ mode on MacOS X.
28250         * lib/string.in.h (strnlen): Use the modern idiom.
28251         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
28252         defining strnlen as a macro already in <config.h>.
28253         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
28254         REPLACE_STRNLEN.
28255         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
28256         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
28257
28258 2010-04-08  James Youngman  <jay@gnu.org>
28259
28260         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
28261         the example.
28262
28263 2010-04-09  Jim Meyering  <meyering@redhat.com>
28264
28265         maint.mk: print better diagnostic when there is no $(_hv_file)
28266         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
28267         announce that when $(_hv_file) (aka help-version) does not exist.
28268
28269         init.sh: run tr in the "C" locale to avoid multibyte interpretation
28270         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
28271         not try to interpret its random input bytes.  Jarno Rajahalme reported
28272         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
28273         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
28274         (mktempd_): Likewise, just in case.
28275
28276         ftruncate: add two years to projected module removal date: 2012
28277         * m4/ftruncate.m4: Adjust comments.
28278
28279         ftruncate: mark module as obsolete; even MinGW provides it, now
28280         * modules/ftruncate (Status): Obsolete.
28281         (Notice): Say that.
28282         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
28283         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
28284
28285 2010-04-08  Bruno Haible  <bruno@clisp.org>
28286
28287         Fix side effects from tests-related modules.
28288         * modules/dprintf-posix (Comment): New section.
28289         * modules/fprintf-posix (Comment): Likewise.
28290         * modules/obstack-printf-posix (Comment): Likewise.
28291         * modules/printf-posix (Comment): Likewise.
28292         * modules/snprintf-posix (Comment): Likewise.
28293         * modules/sprintf-posix (Comment): Likewise.
28294         * modules/vasnprintf-posix (Comment): Likewise.
28295         * modules/vasprintf-posix (Comment): Likewise.
28296         * modules/vdprintf-posix (Comment): Likewise.
28297         * modules/vfprintf-posix (Comment): Likewise.
28298         * modules/vprintf-posix (Comment): Likewise.
28299         * modules/vsnprintf-posix (Comment): Likewise.
28300         * modules/vsprintf-posix (Comment): Likewise.
28301         * modules/xprintf-posix (Comment): Likewise.
28302         * modules/xvasprintf-posix (Comment): Likewise.
28303         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
28304         * modules/floorf-tests (Depends-on): Likewise.
28305         * modules/round-tests (Depends-on): Likewise.
28306         * modules/roundf-tests (Depends-on): Likewise.
28307         * modules/trunc-tests (Depends-on): Likewise.
28308         * modules/truncf-tests (Depends-on): Likewise.
28309         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
28310         'fprintf-posix' module is not present.
28311         * tests/test-floorf2.c (check): Likewise.
28312         * tests/test-trunc2.c (check): Likewise.
28313         * tests/test-truncf2.c (check): Likewise.
28314         * tests/test-round2.c (equal): Likewise.
28315         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
28316
28317 2010-04-07  Karl Berry  <karl@gnu.org>
28318
28319         * config/srclist.txt,
28320         * config/srclistvars.sh,
28321         * config/srclist-update: doc fixes.
28322
28323 2010-04-07  Jim Meyering  <meyering@redhat.com>
28324
28325         maint.mk: add a PATH crosschecking syntax-check rule
28326         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
28327         Useful if you use a test like the one in help-version (coreutils,
28328         diffutils, grep, gzip) that ensures $(VERSION) matches what is
28329         printed by prog --version.
28330
28331 2010-04-06  Bruno Haible  <bruno@clisp.org>
28332
28333         Fix link error on mingw.
28334         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
28335         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
28336
28337 2010-04-06  Bruno Haible  <bruno@clisp.org>
28338
28339         Assume rmdir exists.
28340         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
28341
28342 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
28343
28344         doc: update users.txt
28345         * users.txt: Add gcal.
28346
28347 2010-04-06  Jim Meyering  <meyering@redhat.com>
28348
28349         init.sh: simply unset TMPDIR rather than risking env -i
28350         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
28351         although it probably works fine on all Unix-based systems, some
28352         systems (Cygwin?) cannot tolerate a totally cleared environment.
28353         Suggestion from Eric Blake.
28354
28355 2010-04-06  Jim Meyering  <meyering@redhat.com>
28356
28357         init.sh: portability fix: use env's POSIX-specified -i option not -u
28358         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
28359         than unportable env -u.  Solaris 5.11's env lacks support for -u.
28360
28361 2010-04-05  Bruno Haible  <bruno@clisp.org>
28362
28363         btowc: Work around Cygwin 1.7.2 bug.
28364         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
28365         does not map NUL to 0.
28366         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
28367
28368 2010-04-05  Bruno Haible  <bruno@clisp.org>
28369
28370         Make the multithread modules work on Cygwin 1.7.2.
28371         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
28372         imported symbols can be declared weak, so that it returns "no" on
28373         Cygwin 1.7.2.
28374
28375 2010-04-05  Bruno Haible  <bruno@clisp.org>
28376
28377         Use the module 'strncat'.
28378         * modules/unistr/u8-strncat (Depends-on): Add strncat.
28379
28380         Tests for module 'strncat'.
28381         * modules/strncat-tests: New file.
28382         * tests/test-strncat.c: New file.
28383
28384         New module 'strncat'.
28385         * lib/string.in.h (strncat): New declaration.
28386         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
28387         * m4/strncat.m4: New file, based on m4/memchr.m4.
28388         * modules/strncat: New file.
28389         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
28390         is declared.
28391         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
28392         REPLACE_STRNCAT.
28393         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
28394         REPLACE_STRNCAT.
28395         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
28396         module.
28397         * tests/test-string-c++.cc: Check signature of strncat.
28398
28399 2010-04-05  Jim Meyering  <meyering@redhat.com>
28400
28401         xstrtoumax-tests: convert to use init.sh
28402         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
28403         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
28404         Use Exit, not exit.
28405         Remove uses of $EXEEXT and "./" to run a program in the current dir.
28406
28407         xstrtoimax-tests: convert to use init.sh
28408         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
28409         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
28410         Use Exit, not exit.
28411         Remove uses of $EXEEXT and "./" to run a program in the current dir.
28412
28413 2010-04-05  Bruno Haible  <bruno@clisp.org>
28414
28415         sys_socket: Avoid #define replacements in C++ mode.
28416         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
28417         warning to the function if possible, rather than #defining the symbol
28418         to a dysfunctional alias.
28419
28420 2010-04-05  Bruno Haible  <bruno@clisp.org>
28421
28422         fseeko: Fix C++ test error on mingw.
28423         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
28424         gl_FUNC_FSEEKO.
28425         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
28426         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
28427         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
28428         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
28429
28430 2010-04-05  Bruno Haible  <bruno@clisp.org>
28431
28432         duplocale: Improve test output.
28433         * tests/test-duplocale.c (main): Print reason for skipped test.
28434
28435 2010-04-05  Bruno Haible  <bruno@clisp.org>
28436
28437         Assume rmdir exists.
28438         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
28439         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
28440
28441 2010-04-05  Bruno Haible  <bruno@clisp.org>
28442
28443         Fix link error on Solaris 8 with cc.
28444         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
28445
28446 2010-04-05  Bruno Haible  <bruno@clisp.org>
28447
28448         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
28449         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
28450
28451 2010-04-05  Bruno Haible  <bruno@clisp.org>
28452
28453         vasprintf: Update documentation.
28454         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
28455
28456 2010-04-05  Bruno Haible  <bruno@clisp.org>
28457
28458         ptsname: Improve test.
28459         * tests/test-ptsname.c (main): Also try the various master names of BSD
28460         systems.
28461
28462 2010-04-05  Bruno Haible  <bruno@clisp.org>
28463
28464         memchr: Avoid a possible C++ test error.
28465         * lib/string.in.h (memchr): Provide declaration if function is missing.
28466         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
28467         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
28468         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
28469         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
28470
28471 2010-04-05  Bruno Haible  <bruno@clisp.org>
28472
28473         strtok_r: Improve idiom.
28474         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
28475         AC_LIBOBJ is used.
28476
28477 2010-04-05  Bruno Haible  <bruno@clisp.org>
28478
28479         strdup: Improve idiom.
28480         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
28481         AC_LIBOBJ is used.
28482         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
28483         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
28484         when AC_LIBOBJ is used.
28485
28486 2010-04-05  Bruno Haible  <bruno@clisp.org>
28487
28488         mbsinit, mbrtowc, wcrtomb: Improve idioms.
28489         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
28490         don't set REPLACE_MBSINIT to 1.
28491         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
28492         don't set REPLACE_MBRTOWC to 1.
28493         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
28494         exist, don't set REPLACE_MBSRTOWCS to 1.
28495         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
28496         exist, don't set REPLACE_MBSNRTOWCS to 1.
28497         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
28498         don't set REPLACE_WCRTOMB to 1.
28499         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
28500         exist, don't set REPLACE_WCSRTOMBS to 1.
28501         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
28502         exist, don't set REPLACE_WCSNRTOMBS to 1.
28503
28504 2010-04-05  Bruno Haible  <bruno@clisp.org>
28505
28506         ldexpl: Improve idiom.
28507         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
28508         make sure to set HAVE_DECL_LDEXPL to 0.
28509
28510 2010-04-05  Jim Meyering  <meyering@redhat.com>
28511
28512         xstrtol-tests: convert to use init.sh
28513         * modules/xstrtol-tests (Files): Add tests/init.sh.
28514         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
28515         Use Exit, not exit.
28516         Remove uses of $EXEEXT and "./" to run a program in the current dir.
28517
28518         atexit-tests: convert to use init.sh
28519         * modules/atexit-tests (Files): Add tests/init.sh.
28520         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
28521         Use Exit, not exit.
28522         Remove uses of $EXEEXT and "./" to run a program in the current dir.
28523
28524         init.sh: fix typo
28525         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
28526
28527         init.sh: make it easier for a test script to write to the tty, ...
28528         when using automake's parallel-tests mode.
28529         * tests/init.sh (stderr_fileno_): Define overridable variable.
28530         (warn_): New function, to use it.
28531         (fail_, skip_, framework_failure_): Use warn_.
28532
28533 2010-04-04  Bruno Haible  <bruno@clisp.org>
28534
28535         btowc: Avoid warning.
28536         * lib/btowc.c: Include <stdlib.h>.
28537         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
28538
28539 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
28540             Bruno Haible  <bruno@clisp.org>
28541
28542         wchar: Port to NetBSD 1.5.
28543         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
28544         * lib/wctype.in.h (WEOF): Likewise.
28545
28546 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
28547             Bruno Haible  <bruno@clisp.org>
28548
28549         Port extended stdio to NetBSD 1.5.
28550         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
28551         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
28552         older.
28553
28554 2010-04-04  Bruno Haible  <bruno@clisp.org>
28555
28556         string: Remove unused substitution.
28557         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
28558         HAVE_DECL_STRERROR.
28559         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
28560
28561 2010-04-04  Bruno Haible  <bruno@clisp.org>
28562
28563         strtod: Avoid a possible C++ test error.
28564         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
28565         set REPLACE_STRTOD.
28566
28567 2010-04-04  Bruno Haible  <bruno@clisp.org>
28568
28569         strerror: Update documentation.
28570         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
28571
28572 2010-04-04  Bruno Haible  <bruno@clisp.org>
28573
28574         stdio: Fix some C++ test errors on Solaris 8 with GCC.
28575         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
28576         _GL_CXXALIAS_SYS_CAST.
28577
28578 2010-04-04  Bruno Haible  <bruno@clisp.org>
28579
28580         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
28581         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
28582         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
28583         REPLACE_FREXPL to 1.
28584         * doc/posix-functions/frexpl.texi: Update documentation.
28585
28586 2010-04-04  Bruno Haible  <bruno@clisp.org>
28587
28588         math: Fix some C++ test errors on Solaris 8 and Cygwin.
28589         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
28590
28591 2010-04-04  Bruno Haible  <bruno@clisp.org>
28592
28593         Implement nanosleep for native Windows.
28594         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
28595
28596 2010-04-04  Bruno Haible  <bruno@clisp.org>
28597
28598         math: Fix some C++ test errors on Solaris 8.
28599         * lib/math.in.h (truncf, trunc): Use simpler idiom.
28600
28601 2010-04-04  Bruno Haible  <bruno@clisp.org>
28602
28603         math: Fix some C++ test errors on Cygwin.
28604         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
28605         truncl): Provide declaration if the system does not have it.
28606         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
28607         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
28608         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
28609         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
28610         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
28611         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
28612         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
28613         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
28614         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
28615         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
28616         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
28617         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
28618         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
28619         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
28620         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
28621         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
28622         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
28623         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
28624         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
28625         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
28626         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
28627         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
28628
28629 2010-04-04  Bruno Haible  <bruno@clisp.org>
28630
28631         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
28632         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
28633         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
28634         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
28635         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
28636         * m4/isinf.m4 (gl_ISINF): Likewise.
28637         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
28638
28639 2010-04-04  Bruno Haible  <bruno@clisp.org>
28640
28641         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
28642         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
28643
28644 2010-04-04  Bruno Haible  <bruno@clisp.org>
28645
28646         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
28647         * modules/tmpfile (configure.ac): Update.
28648
28649         tmpfile: Fix C++ test error on mingw.
28650         * lib/stdio.in.h (tmpfile): New declaration.
28651         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
28652         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
28653         * modules/tmpfile (Depends-on): Add stdio.
28654         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
28655         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
28656         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
28657         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
28658         REPLACE_TMPFILE.
28659         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
28660
28661 2010-04-04  Bruno Haible  <bruno@clisp.org>
28662
28663         ioctl: Fix C++ test error on mingw.
28664         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
28665         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
28666         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
28667
28668 2010-04-03  Bruno Haible  <bruno@clisp.org>
28669
28670         wcwidth: Fix C++ test error on mingw.
28671         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
28672         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
28673         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
28674
28675 2010-04-03  Bruno Haible  <bruno@clisp.org>
28676
28677         nanosleep: Fix C++ test error on mingw.
28678         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
28679         * lib/time.in.h (nanosleep): Use modern idiom.
28680         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
28681         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
28682         REPLACE_NANOSLEEP to 1.
28683         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
28684         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
28685
28686 2010-04-03  Bruno Haible  <bruno@clisp.org>
28687
28688         strptime: Fix C++ test error on mingw.
28689         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
28690         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
28691         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
28692         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
28693         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
28694         not REPLACE_STRPTIME.
28695         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
28696         REPLACE_STRPTIME.
28697
28698 2010-04-03  Bruno Haible  <bruno@clisp.org>
28699
28700         timegm: Fix C++ test error on mingw.
28701         * lib/time.in.h (timegm): Use modern idiom.
28702         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
28703         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
28704         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
28705         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
28706
28707 2010-04-03  Bruno Haible  <bruno@clisp.org>
28708
28709         timegm: Assume declaration if function exists.
28710         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
28711         if it exists. Don't clobber ac_cv_func_timegm.
28712
28713 2010-04-03  Bruno Haible  <bruno@clisp.org>
28714
28715         time_r: Fix C++ test error on mingw.
28716         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
28717         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
28718         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
28719         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
28720         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
28721
28722 2010-04-03  Bruno Haible  <bruno@clisp.org>
28723
28724         time_r: Minor updates.
28725         * modules/time_r (Description): Mention the provided functions.
28726         * lib/time_r.c: Don't include <string.h>.
28727         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
28728         * doc/posix-functions/localtime_r.texi: Likewise.
28729
28730 2010-04-03  Bruno Haible  <bruno@clisp.org>
28731
28732         time: Fix regression introduced on 2010-03-08.
28733         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
28734         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
28735
28736 2010-04-03  Jim Meyering  <meyering@redhat.com>
28737
28738         maint.mk: don't silently disable project-specific syntax-check rules
28739         * top/maint.mk (_prohibit_regexp): Define, to help people realize
28740         that they need to convert their project-specific syntax-check rules
28741         to use the new _sc_search_regexp.
28742
28743 2010-04-03  Bruno Haible  <bruno@clisp.org>
28744
28745         fchdir: Fix regression introduced on 2010-03-08.
28746         * lib/unistd.in.h (fchdir): Fix declaration.
28747         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
28748         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
28749         REPLACE_FCHDIR.
28750         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
28751         REPLACE_FCHDIR.
28752
28753 2010-04-03  Bruno Haible  <bruno@clisp.org>
28754
28755         getpagesize: Fix C++ test error on mingw.
28756         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
28757         system does not declare the function.
28758         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
28759         declared.
28760         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
28761         HAVE_DECL_GETPAGESIZE.
28762         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
28763
28764 2010-04-03  Bruno Haible  <bruno@clisp.org>
28765
28766         stdio: Make C++ tests work on mingw.
28767         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
28768         does not declare the function.
28769
28770 2010-04-03  Bruno Haible  <bruno@clisp.org>
28771
28772         ftello: Fix C++ test error on mingw.
28773         * lib/stdio.in.h (ftello): Use modern idiom.
28774         * lib/ftello.c (ftello): Renamed from rpl_ftello.
28775         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
28776         is missing and that it needs to be replaced.
28777         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
28778         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
28779         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
28780
28781 2010-04-03  Bruno Haible  <bruno@clisp.org>
28782
28783         fseeko: Fix C++ test error on mingw.
28784         * lib/stdio.in.h (fseeko): Use modern idiom.
28785         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
28786         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
28787         is missing and that it needs to be replaced.
28788         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
28789         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
28790         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
28791
28792 2010-04-03  Bruno Haible  <bruno@clisp.org>
28793
28794         mkstemp: Fix C++ test error on mingw.
28795         * lib/stdlib.in.h (mkstemp): Use modern idiom.
28796         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
28797         function is missing and that it needs to be replaced.
28798         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
28799         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
28800
28801 2010-04-03  Bruno Haible  <bruno@clisp.org>
28802
28803         stpncpy: Fix C++ test error on mingw.
28804         * lib/string.in.h (stpncpy): Use modern idiom.
28805         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
28806         function is missing and that it needs to be replaced.
28807         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
28808         REPLACE_STPNCPY.
28809         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
28810
28811 2010-04-03  Bruno Haible  <bruno@clisp.org>
28812
28813         sys_stat: Fix C++ test error on mingw.
28814         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
28815         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
28816
28817 2010-04-03  Bruno Haible  <bruno@clisp.org>
28818
28819         pty: Update doc.
28820         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
28821
28822 2010-04-03  Bruno Haible  <bruno@clisp.org>
28823
28824         unistd: Fix C++ test error on mingw.
28825         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
28826
28827 2010-04-03  Bruno Haible  <bruno@clisp.org>
28828
28829         Update doc regarding mingw.
28830         * doc/glibc-functions/openpty.texi: Update regarding mingw.
28831         * doc/glibc-functions/login_tty.texi: Likewise.
28832         * doc/glibc-functions/forkpty.texi: Likewise.
28833
28834 2010-04-03  Bruno Haible  <bruno@clisp.org>
28835
28836         stdlib: Avoid compilation failure of c-strtold on mingw.
28837         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
28838
28839 2010-04-03  Bruno Haible  <bruno@clisp.org>
28840
28841         locale: Make C++ tests work on Cygwin and mingw.
28842         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
28843         cannot provide the function.
28844         Reported by Simon Josefsson.
28845
28846 2010-04-03  Bruno Haible  <bruno@clisp.org>
28847
28848         localename: Port to MacOS X 10.6.
28849         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
28850         memory layout of the locales in MacOS X 10.6 as well.
28851         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
28852
28853 2010-04-02  Bruno Haible  <bruno@clisp.org>
28854
28855         gnulib-tool: Ensure that long-running tests are executed last.
28856         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
28857         running tests after the one for the other tests.
28858
28859 2010-04-02  Bruno Haible  <bruno@clisp.org>
28860
28861         gnulib-tool: Ensure the tests in the main directory are executed first.
28862         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
28863         start with the current directory.
28864
28865 2010-04-02  Bruno Haible  <bruno@clisp.org>
28866
28867         Tests for module 'havelib', moved here from GNU gettext.
28868         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
28869         modifications.
28870         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
28871         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
28872         with modifications.
28873         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
28874         modifications.
28875         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
28876         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
28877         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
28878         with modifications.
28879         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
28880         with modifications.
28881         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
28882         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
28883         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
28884         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
28885         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
28886         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
28887         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
28888         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
28889         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
28890         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
28891         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
28892         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
28893         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
28894         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
28895         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
28896         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
28897         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
28898         with modifications.
28899         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
28900         with modifications.
28901         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
28902         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
28903         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
28904         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
28905         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
28906         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
28907         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
28908         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
28909         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
28910         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
28911         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
28912         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
28913         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
28914         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
28915         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
28916         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
28917         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
28918         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
28919         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
28920         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
28921         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
28922         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
28923         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
28924         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
28925         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
28926         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
28927         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
28928         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
28929         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
28930         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
28931         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
28932         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
28933         * tests/havelib/rpathx/rpathx.c: New file, from
28934         gettext/autoconf-lib-link.
28935         * tests/havelib/rpathx/Makefile.am: New file, from
28936         gettext/autoconf-lib-link.
28937         * tests/havelib/rpathx/configure.ac: New file, from
28938         gettext/autoconf-lib-link with modifications.
28939         * tests/havelib/rpathy/rpathy.c: New file, from
28940         gettext/autoconf-lib-link.
28941         * tests/havelib/rpathy/Makefile.am: New file, from
28942         gettext/autoconf-lib-link.
28943         * tests/havelib/rpathy/configure.ac: New file, from
28944         gettext/autoconf-lib-link with modifications.
28945         * tests/havelib/rpathz/rpathz.c: New file, from
28946         gettext/autoconf-lib-link.
28947         * tests/havelib/rpathz/Makefile.am: New file, from
28948         gettext/autoconf-lib-link.
28949         * tests/havelib/rpathz/configure.ac: New file, from
28950         gettext/autoconf-lib-link with modifications.
28951         * tests/havelib/rpathlx/usex.c: New file, from
28952         gettext/autoconf-lib-link.
28953         * tests/havelib/rpathlx/Makefile.am: New file, from
28954         gettext/autoconf-lib-link.
28955         * tests/havelib/rpathlx/configure.ac: New file, from
28956         gettext/autoconf-lib-link with modifications.
28957         * tests/havelib/rpathly/usey.c: New file, from
28958         gettext/autoconf-lib-link.
28959         * tests/havelib/rpathly/Makefile.am: New file, from
28960         gettext/autoconf-lib-link.
28961         * tests/havelib/rpathly/configure.ac: New file, from
28962         gettext/autoconf-lib-link with modifications.
28963         * tests/havelib/rpathlz/usez.c: New file, from
28964         gettext/autoconf-lib-link.
28965         * tests/havelib/rpathlz/Makefile.am: New file, from
28966         gettext/autoconf-lib-link.
28967         * tests/havelib/rpathlz/configure.ac: New file, from
28968         gettext/autoconf-lib-link with modifications.
28969         * tests/havelib/rpathlyx/usey.c: New file, from
28970         gettext/autoconf-lib-link.
28971         * tests/havelib/rpathlyx/Makefile.am: New file, from
28972         gettext/autoconf-lib-link.
28973         * tests/havelib/rpathlyx/configure.ac: New file, from
28974         gettext/autoconf-lib-link with modifications.
28975         * tests/havelib/rpathlzyx/usez.c: New file, from
28976         gettext/autoconf-lib-link.
28977         * tests/havelib/rpathlzyx/Makefile.am: New file, from
28978         gettext/autoconf-lib-link.
28979         * tests/havelib/rpathlzyx/configure.ac: New file, from
28980         gettext/autoconf-lib-link with modifications.
28981         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
28982         with modifications.
28983
28984 2010-04-02  Bruno Haible  <bruno@clisp.org>
28985
28986         gnulib-tool: Create distributed built sources also for the tests.
28987         * gnulib-tool (func_create_testdir): Also generate distributed built
28988         sources in the tests directory.
28989
28990 2010-04-02  Bruno Haible  <bruno@clisp.org>
28991
28992         gnulib-tool: Obey user's environment variables.
28993         * gnulib-tool (func_create_testdir): When creating built sources,
28994         respect the environment variables for autoconf, automake, etc. given by
28995         the user.
28996
28997 2010-04-02  Bruno Haible  <bruno@clisp.org>
28998
28999         gnulib-tool: Provide the value of --m4-base to modules.
29000         * gnulib-tool (func_import, func_create_testdir): Emit a definition
29001         of gl_m4_base.
29002
29003 2010-04-02  Eric Blake  <eblake@redhat.com>
29004
29005         maint.mk: fix some fallout
29006         * NEWS: Document the incompatible change, and its effect on cfg.mk.
29007         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
29008
29009 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
29010
29011         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
29012         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
29013         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
29014         (sc_cast_of_x_alloc_return_value): Likewise.
29015         (sc_cast_of_alloca_return_value): Likewise.
29016         (sc_space_tab): Likewise.
29017         (sc_prohibit_atoi_atof): Likewise.
29018         (sc_prohibit_magic_number_exit): Likewise.
29019         (sc_error_exit_success): Likewise.
29020         (sc_file_system): Likewise.
29021         (sc_prohibit_have_config_h): Likewise.
29022         (sc_require_config_h): Likewise.
29023         (sc_prohibit_HAVE_MBRTOWC): Likewise.
29024         (sc_obsolete_symbols): Likewise.
29025         (sc_changelog): Likewise.
29026         (sc_program_name): Likewise.
29027         (sc_the_the): Likewise.
29028         (sc_trailing_blank): Likewise.
29029         (sc_two_space_separator_in_usage): Likewise.
29030         (sc_useless_cpp_parens): Likewise.
29031         (sc_GPL_version): Likewise.
29032         (sc_GFDL_version): Likewise.
29033         (sc_texinfo_acronym): Likewise.
29034         (sc_prohibit_cvs_keyword): Likewise.
29035         (sc_prohibit_stat_st_blocks): Likewise.
29036         (sc_prohibit_S_IS_definition): Likewise.
29037         (sc_redundant_const): Likewise.
29038         (sc_makefile_TAB_only_indentation): Likewise.
29039         (sc_m4_quote_check): Likewise.
29040         (sc_makefile_path_separator_check): Likewise.
29041         (sc_copyright_check): Likewise.
29042         (sc_Wundef_boolean): Likewise.
29043         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
29044
29045         maint.mk: match 0 or more whitespace-before-function-call '('
29046         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
29047         that have zero or two-and-more spaces between the function name
29048         and the open parenthesis.
29049         (sc_error_message_warn_fatal): Likewise.
29050         (sc_error_message_uppercase): Likewise.
29051         (sc_error_message_period): Likewise.
29052
29053 2010-03-31  Eric Blake  <eblake@redhat.com>
29054
29055         maint.mk: check for [ as well as test
29056         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
29057         Based on a libvirt report by Matthias Bolte.
29058
29059         gnumakefile: don't squelch _version output
29060         * top/GNUmakefile (_version): Create one-shot dependency rather
29061         than using $(shell) when version must be regenerated.
29062         (_autoreconf): Run verbosely, by default.
29063
29064         sys_time: avoid compiler warnings
29065         * lib/sys_time.in.h (includes): Ensure gcc pragma is
29066         unconditional, fixing regression from 2010-03-29.
29067         Reported by Simon Josefsson.
29068
29069 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
29070
29071         maint.mk: s/_header_without_use/_sc_header_without_use/
29072         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
29073         (sc_prohibit_assert_without_use): Use the new name.
29074         (sc_prohibit_close_stream_without_use): Likewise.
29075         (sc_prohibit_getopt_without_use): Likewise.
29076         (sc_prohibit_quotearg_without_use): Likewise.
29077         (sc_prohibit_quote_without_use): Likewise.
29078         (sc_prohibit_long_options_without_use): Likewise.
29079         (sc_prohibit_inttostr_without_use): Likewise.
29080         (sc_prohibit_ignore_value_without_use): Likewise.
29081         (sc_prohibit_error_without_use): Likewise.
29082         (sc_prohibit_xalloc_without_use): Likewise.
29083         (sc_prohibit_hash_without_use): Likewise.
29084         (sc_prohibit_hash_pjw_without_use): Likewise.
29085         (sc_prohibit_safe_read_without_use): Likewise.
29086         (sc_prohibit_argmatch_without_use): Likewise.
29087         (sc_prohibit_canonicalize_without_use): Likewise.
29088         (sc_prohibit_root_dev_ino_without_use): Likewise.
29089         (sc_prohibit_openat_without_use): Likewise.
29090         (sc_prohibit_c_ctype_without_use): Likewise.
29091         (sc_prohibit_signal_without_use): Likewise.
29092         (sc_prohibit_intprops_without_use): Likewise.
29093
29094 2010-03-30  Eric Blake  <eblake@redhat.com>
29095
29096         maint: improve module indicators
29097         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
29098         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
29099         columns, and avoid extra macro expansion.
29100
29101         fdopendir: work around FreeBSD bug
29102         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
29103         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
29104         * modules/dirent (Makefile.am): Substitute it.
29105         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
29106         declaration.
29107         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
29108         fix.
29109         Reported by Christian Weisgerber <naddy@mips.inka.de>.
29110
29111 2010-03-29  Bruno Haible  <bruno@clisp.org>
29112
29113         Emit #pragma system_header after the inclusion guard, not before.
29114         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
29115         guard that spans the entire file, not before. This enables an
29116         optimization in GCC's preprocessor.
29117         * lib/ctype.in.h: Likewise.
29118         * lib/dirent.in.h: Likewise.
29119         * lib/errno.in.h: Likewise.
29120         * lib/float.in.h: Likewise.
29121         * lib/getopt.in.h: Likewise.
29122         * lib/iconv.in.h: Likewise.
29123         * lib/langinfo.in.h: Likewise.
29124         * lib/locale.in.h: Likewise.
29125         * lib/math.in.h: Likewise.
29126         * lib/netdb.in.h: Likewise.
29127         * lib/netinet_in.in.h: Likewise.
29128         * lib/pty.in.h: Likewise.
29129         * lib/sched.in.h: Likewise.
29130         * lib/se-selinux.in.h: Likewise.
29131         * lib/search.in.h: Likewise.
29132         * lib/spawn.in.h: Likewise.
29133         * lib/stdarg.in.h: Likewise.
29134         * lib/stdint.in.h: Likewise.
29135         * lib/string.in.h: Likewise.
29136         * lib/strings.in.h: Likewise.
29137         * lib/sys_file.in.h: Likewise.
29138         * lib/sys_ioctl.in.h: Likewise.
29139         * lib/sys_time.in.h: Likewise.
29140         * lib/sys_times.in.h: Likewise.
29141         * lib/sys_utsname.in.h: Likewise.
29142         * lib/sys_wait.in.h: Likewise.
29143         * lib/sysexits.in.h: Likewise.
29144         * lib/wctype.in.h: Likewise.
29145
29146 2010-03-28  James Youngman  <jay@gnu.org>
29147
29148         save-cwd: don't leak a file descriptor when the caller execs.
29149         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
29150         saved file descriptor.
29151         * modules/save-cwd (Depends-on): Depend on cloexec.
29152
29153 2010-03-29  Bruno Haible  <bruno@clisp.org>
29154
29155         Remove vestiges of fts-lgpl module.
29156         * lib/fts_.h: Assume GNULIB_FTS is 1.
29157         * lib/fts.c: Likewise.
29158         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
29159
29160 2010-03-28  Bruno Haible  <bruno@clisp.org>
29161
29162         Fix definition of tests witness macro.
29163         * gnulib-tool (func_import): Fix definition of witness macro.
29164
29165 2010-03-28  Bruno Haible  <bruno@clisp.org>
29166
29167         Fix ioctl's protoype on glibc systems.
29168         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
29169         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
29170         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
29171         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
29172         signature. If not, arrange to replace the ioctl function.
29173         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
29174         REPLACE_IOCTL.
29175         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
29176         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
29177         Reported by Ludovic Courtès <ludo@gnu.org>.
29178
29179 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
29180
29181         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
29182         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
29183         made it so grep -r --include=GLOB* ... did not work.
29184
29185 2010-03-26  Jim Meyering  <meyering@redhat.com>
29186             Eric Blake  <eblake@redhat.com>
29187
29188         maint.mk: prohibit use of test's -o and -a operators
29189         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
29190
29191 2010-03-28  Bruno Haible  <bruno@clisp.org>
29192
29193         Remove unused GNULIB_XYZ macro definitions.
29194         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
29195         invocation.
29196
29197 2010-03-28  Bruno Haible  <bruno@clisp.org>
29198
29199         Mark privileged tests modules.
29200         * modules/idpriv-drop-tests (Status): New section.
29201         * modules/idpriv-droptemp-tests (Status): New section.
29202
29203 2010-03-28  Bruno Haible  <bruno@clisp.org>
29204
29205         Split C++ tests into separate tests modules.
29206         * modules/dirent-c++-tests: New file, extracted from
29207         modules/dirent-tests.
29208         * modules/dirent-tests: Depend on it.
29209         * modules/fcntl-h-c++-tests: New file, extracted from
29210         modules/fcntl-h-tests.
29211         * modules/fcntl-h-tests: Depend on it.
29212         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
29213         * modules/glob-tests: Depend on it.
29214         * modules/iconv-h-c++-tests: New file, extracted from
29215         modules/iconv-h-tests.
29216         * modules/iconv-h-tests: Depend on it.
29217         * modules/langinfo-c++-tests: New file, extracted from
29218         modules/langinfo-tests.
29219         * modules/langinfo-tests: Depend on it.
29220         * modules/locale-c++-tests: New file, extracted from
29221         modules/locale-tests.
29222         * modules/locale-tests: Depend on it.
29223         * modules/math-c++-tests: New file, extracted from modules/math-tests.
29224         * modules/math-tests: Depend on it.
29225         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
29226         * modules/pty-tests: Depend on it.
29227         * modules/search-c++-tests: New file, extracted from
29228         modules/search-tests.
29229         * modules/search-tests: Depend on it.
29230         * modules/signal-c++-tests: New file, extracted from
29231         modules/signal-tests.
29232         * modules/signal-tests: Depend on it.
29233         * modules/spawn-c++-tests: New file, extracted from
29234         modules/spawn-tests.
29235         * modules/spawn-tests: Depend on it.
29236         * modules/stdio-c++-tests: New file, extracted from
29237         modules/stdio-tests.
29238         * modules/stdio-tests: Depend on it.
29239         * modules/stdlib-c++-tests: New file, extracted from
29240         modules/stdlib-tests.
29241         * modules/stdlib-tests: Depend on it.
29242         * modules/string-c++-tests: New file, extracted from
29243         modules/string-tests.
29244         * modules/string-tests: Depend on it.
29245         * modules/sys_ioctl-c++-tests: New file, extracted from
29246         modules/sys_ioctl-tests.
29247         * modules/sys_ioctl-tests: Depend on it.
29248         * modules/sys_select-c++-tests: New file, extracted from
29249         modules/sys_select-tests.
29250         * modules/sys_select-tests: Depend on it.
29251         * modules/sys_socket-c++-tests: New file, extracted from
29252         modules/sys_socket-tests.
29253         * modules/sys_socket-tests: Depend on it.
29254         * modules/sys_stat-c++-tests: New file, extracted from
29255         modules/sys_stat-tests.
29256         * modules/sys_stat-tests: Depend on it.
29257         * modules/sys_time-c++-tests: New file, extracted from
29258         modules/sys_time-tests.
29259         * modules/sys_time-tests: Depend on it.
29260         * modules/time-c++-tests: New file, extracted from modules/time-tests.
29261         * modules/time-tests: Depend on it.
29262         * modules/unistd-c++-tests: New file, extracted from
29263         modules/unistd-tests.
29264         * modules/unistd-tests: Depend on it.
29265         * modules/wchar-c++-tests: New file, extracted from
29266         modules/wchar-tests.
29267         * modules/wchar-tests: Depend on it.
29268         * modules/wctype-c++-tests: New file, extracted from
29269         modules/wctype-tests.
29270         * modules/wctype-tests: Depend on it.
29271         Reported by Simon Josefsson.
29272
29273 2010-03-28  Bruno Haible  <bruno@clisp.org>
29274
29275         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
29276         * gnulib-tool (func_exists_module): New function, extracted from
29277         func_verify_module.
29278         (func_verify_module): Use it.
29279         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
29280         'foo' only if 'foo' exists.
29281         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
29282         module.
29283
29284 2010-03-28  Bruno Haible  <bruno@clisp.org>
29285
29286         gnulib-tool: Add support for special categories of tests.
29287         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
29288         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
29289         (func_usage): Document them.
29290         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
29291         inc_unportable_tests, inc_all_tests): New variables.
29292         (func_acceptable): Consider these variables.
29293         (func_modules_transitive_closure): Make it work when the 'Status' field
29294         consists of multiple words.
29295         (func_import): Store and restore the values of inc_cxx_tests,
29296         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
29297         inc_all_tests in gnulib-comp.m4.
29298         (func_create_testdir): Set inc_all_tests to true.
29299         * doc/gnulib.texi (Extra tests modules): New section.
29300         Suggested by Jim Meyering.
29301
29302 2010-03-28  Bruno Haible  <bruno@clisp.org>
29303
29304         ansi-c++-opt: Allow turning off the C++ build by default.
29305         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
29306         gl_CXX_CHOICE_DEFAULT_NO is defined.
29307         Requested by Eric Blake.
29308
29309 2010-03-28  Bruno Haible  <bruno@clisp.org>
29310
29311         unistd: Avoid #define replacements in C++ mode.
29312         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
29313         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
29314         setsockopt, shutdown, select): In C++, attach a warning to the function
29315         if possible, rather than #defining the symbol to a dysfunctional alias.
29316         Reported by John W. Eaton <jwe@gnu.org>.
29317
29318 2010-03-28  Bruno Haible  <bruno@clisp.org>
29319
29320         Fix link errors on mingw.
29321         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
29322         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
29323         $(LIBSOCKET).
29324         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
29325         $(LIBSOCKET).
29326
29327 2010-03-28  Bruno Haible  <bruno@clisp.org>
29328             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29329
29330         lib-ignore: Determine different options for different compilers.
29331         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
29332         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
29333         Add comments.
29334         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
29335         * NEWS: Mention the change.
29336
29337 2010-03-27  Bruno Haible  <bruno@clisp.org>
29338
29339         Remove unused GNULIB_XYZ macro definitions.
29340         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
29341         * modules/fseek (configure.ac): Likewise.
29342         * modules/ioctl (configure.ac): Likewise.
29343         * modules/open (configure.ac): Likewise.
29344         * modules/stdlib-safer (configure.ac): Likewise.
29345
29346 2010-03-27  Bruno Haible  <bruno@clisp.org>
29347
29348         Add a remark about certain modules.
29349         * modules/malloc (Comment): New section.
29350         * modules/realloc (Comment): Likewise.
29351         * modules/sigpipe (Comment): Likewise.
29352
29353 2010-03-27  Bruno Haible  <bruno@clisp.org>
29354
29355         Resolve conflict between the two kinds of module indicators.
29356         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
29357         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
29358         * modules/canonicalize (configure.ac): Invoke
29359         gl_MODULE_INDICATOR_FOR_TESTS.
29360         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
29361         GNULIB_XYZ.
29362         * tests/test-dirent-c++.cc: Likewise.
29363         * tests/test-dirent-safer.c: Likewise.
29364         * tests/test-dup2.c: Likewise.
29365         * tests/test-fchdir.c: Likewise.
29366         * tests/test-fcntl-h-c++.cc: Likewise.
29367         * tests/test-getopt.c: Likewise.
29368         * tests/test-getopt.h: Likewise.
29369         * tests/test-langinfo-c++.cc: Likewise.
29370         * tests/test-locale-c++.cc: Likewise.
29371         * tests/test-math-c++.cc: Likewise.
29372         * tests/test-pty-c++.cc: Likewise.
29373         * tests/test-search-c++.cc: Likewise.
29374         * tests/test-signal-c++.cc: Likewise.
29375         * tests/test-spawn-c++.cc: Likewise.
29376         * tests/test-stdio-c++.cc: Likewise.
29377         * tests/test-stdlib-c++.cc: Likewise.
29378         * tests/test-string-c++.cc: Likewise.
29379         * tests/test-sys_ioctl-c++.cc: Likewise.
29380         * tests/test-sys_select-c++.cc: Likewise.
29381         * tests/test-sys_socket-c++.cc: Likewise.
29382         * tests/test-sys_stat-c++.cc: Likewise.
29383         * tests/test-sys_time-c++.cc: Likewise.
29384         * tests/test-time-c++.cc: Likewise.
29385         * tests/test-unistd-c++.cc: Likewise.
29386         * tests/test-wchar-c++.cc: Likewise.
29387         * tests/uninorm/test-u8-nfc.c: Likewise.
29388         * tests/uninorm/test-u8-nfd.c: Likewise.
29389         * tests/uninorm/test-u8-nfkc.c: Likewise.
29390         * tests/uninorm/test-u8-nfkd.c: Likewise.
29391         * tests/uninorm/test-u16-nfc.c: Likewise.
29392         * tests/uninorm/test-u16-nfd.c: Likewise.
29393         * tests/uninorm/test-u16-nfkc.c: Likewise.
29394         * tests/uninorm/test-u16-nfkd.c: Likewise.
29395         * tests/uninorm/test-u32-nfc.c: Likewise.
29396         * tests/uninorm/test-u32-nfc-big.c: Likewise.
29397         * tests/uninorm/test-u32-nfd.c: Likewise.
29398         * tests/uninorm/test-u32-nfd-big.c: Likewise.
29399         * tests/uninorm/test-u32-nfkc.c: Likewise.
29400         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
29401         * tests/uninorm/test-u32-nfkd.c: Likewise.
29402         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
29403         * tests/uninorm/test-u32-normalize-big.c: Likewise.
29404
29405 2010-03-27  Bruno Haible  <bruno@clisp.org>
29406
29407         Distinguish two kinds of module indicators.
29408         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
29409         gl_MODULE_INDICATOR.
29410         (gl_MODULE_INDICATOR): New macro.
29411         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
29412         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
29413         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
29414         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
29415         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
29416         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
29417         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
29418         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
29419         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
29420         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
29421         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
29422         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
29423         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
29424         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
29425         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
29426         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
29427         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
29428         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
29429         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
29430         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
29431         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
29432         * modules/cloexec (configure.ac): Likewise.
29433         * modules/getopt-gnu (configure.ac): Likewise.
29434         * modules/uninorm/u8-normalize (configure.ac): Likewise.
29435         * modules/uninorm/u16-normalize (configure.ac): Likewise.
29436         * modules/uninorm/u32-normalize (configure.ac): Likewise.
29437         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
29438
29439 2010-03-27  Bruno Haible  <bruno@clisp.org>
29440
29441         New module description field 'Comment'.
29442         * gnulib-tool: New option --extract-comment.
29443         (func_usage): Document it.
29444         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
29445         (func_get_comment): New function.
29446         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
29447
29448 2010-03-27  Bruno Haible  <bruno@clisp.org>
29449
29450         Addendum to 2010-02-07 commit.
29451         * gnulib-tool (func_usage): Document --extract-applicability option.
29452
29453 2010-03-27  Bruno Haible  <bruno@clisp.org>
29454
29455         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
29456         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
29457         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
29458         rather than link errors.
29459
29460 2010-03-27  Bruno Haible  <bruno@clisp.org>
29461
29462         Avoid side effects from tests-related modules on the compilation of lib.
29463         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
29464         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
29465         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
29466         parameter. Emit into AM_CPPFLAGS a definition of the designated C
29467         macro.
29468         (func_import): Define a witness macro. Assign it a value that depends
29469         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
29470         tests-related modules.
29471         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
29472         Reported by Jim Meyering.
29473
29474 2010-03-27  Bruno Haible  <bruno@clisp.org>
29475
29476         Factorize common .m4 code.
29477         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
29478         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
29479         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
29480         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
29481         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
29482         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
29483         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
29484         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
29485         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
29486         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
29487         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
29488         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
29489         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
29490         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
29491         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
29492         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
29493         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
29494         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
29495         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
29496         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
29497         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
29498         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
29499         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
29500         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
29501         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
29502         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
29503         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
29504         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
29505         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
29506         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
29507         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
29508         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
29509
29510 2010-03-27  Bruno Haible  <bruno@clisp.org>
29511
29512         Fix a compilation error on Cygwin with g++ >= 4.3.
29513         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
29514         if it is undefined or if we alias it to chmod.
29515         (lstat): Don't warn about the use of this function if it is undefined
29516         or if we alias it to stat.
29517         Reported by Simon Josefsson.
29518
29519 2010-03-27  Bruno Haible  <bruno@clisp.org>
29520
29521         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
29522         * modules/getlogin (configure.ac): Update.
29523
29524         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
29525         * modules/getlogin_r (configure.ac): Update.
29526
29527         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
29528         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
29529         * modules/inet_ntop (configure.ac): Update.
29530
29531         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
29532         * modules/inet_pton (configure.ac): Update.
29533
29534         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
29535         * modules/mbslen (configure.ac): Update.
29536
29537         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
29538         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
29539         * modules/forkpty (configure.ac): Update.
29540         * modules/openpty (configure.ac): Update.
29541
29542 2010-03-26  Simon Josefsson  <simon@josefsson.org>
29543
29544         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
29545         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
29546
29547 2010-03-25  Eric Blake  <eblake@redhat.com>
29548
29549         maint: use pragma consistently across replacement headers
29550         * lib/ctype.in.h (system_header): Hoist for consistent placement.
29551         * lib/dirent.in.h (system_header): Likewise.
29552         * lib/errno.in.h (system_header): Likewise.
29553         * lib/float.in.h (system_header): Likewise.
29554         * lib/getopt.in.h (system_header): Likewise.
29555         * lib/iconv.in.h (system_header): Likewise.
29556         * lib/inttypes.in.h (system_header): Likewise.
29557         * lib/langinfo.in.h (system_header): Likewise.
29558         * lib/locale.in.h (system_header): Likewise.
29559         * lib/math.in.h (system_header): Likewise.
29560         * lib/netdb.in.h (system_header): Likewise.
29561         * lib/netinet_in.in.h (system_header): Likewise.
29562         * lib/pty.in.h (system_header): Likewise.
29563         * lib/sched.in.h (system_header): Likewise.
29564         * lib/se-selinux.in.h (system_header): Likewise.
29565         * lib/search.in.h (system_header): Likewise.
29566         * lib/spawn.in.h (system_header): Likewise.
29567         * lib/stdarg.in.h (system_header): Likewise.
29568         * lib/stdint.in.h (system_header): Likewise.
29569         * lib/string.in.h (system_header): Likewise.
29570         * lib/strings.in.h (system_header): Likewise.
29571         * lib/sys_file.in.h (system_header): Likewise.
29572         * lib/sys_ioctl.in.h (system_header): Likewise.
29573         * lib/sys_socket.in.h (system_header): Likewise.
29574         * lib/sys_times.in.h (system_header): Likewise.
29575         * lib/sys_utsname.in.h (system_header): Likewise.
29576         * lib/sys_wait.in.h (system_header): Likewise.
29577         * lib/sysexits.in.h (system_header): Likewise.
29578         * lib/unistd.in.h (system_header): Likewise.
29579         * lib/wctype.in.h (system_header): Likewise.
29580
29581         arpa/inet: fix mingw compilation warning
29582         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
29583         Reported by Matthew Bolte.
29584
29585 2010-03-25  Bruno Haible  <bruno@clisp.org>
29586
29587         Avoid collision between gnulib wrapper and libintl wrapper.
29588         * lib/printf.c (printf): Don't define if a printf wrapper is already
29589         defined in intl/printf.c.
29590         Reported by Michel Boaventura <michel@michelboaventura.com>.
29591
29592 2010-03-25  Bruno Haible  <bruno@clisp.org>
29593
29594         Use ANSI C.
29595         * lib/readutmp.h (getutent): Provide ANSI C prototype.
29596
29597 2010-03-25  Bruno Haible  <bruno@clisp.org>
29598
29599         Minor formatting changes.
29600         * lib/acosl.c: Insert space before function argument list.
29601         * lib/argz.c: Likewise.
29602         * lib/asinl.c: Likewise.
29603         * lib/expl.c: Likewise.
29604         * lib/gen-uni-tables.c: Likewise.
29605         * lib/gettext.h: Likewise.
29606         * lib/glthread/lock.h: Likewise.
29607         * lib/tanl.c: Likewise.
29608         * lib/uniname/uniname.c: Likewise.
29609         * tests/test-idpriv-drop.c: Likewise.
29610         * tests/test-idpriv-droptemp.c: Likewise.
29611         * tests/test-lock.c: Likewise.
29612         * tests/test-tls.c: Likewise.
29613         * lib/argp-help.c: Insert space before function-like macro argument
29614         list.
29615         * lib/memcmp.c: Likewise.
29616         * tests/test-base64.c: Likewise.
29617         * lib/localename.c: Insert space before sizeof's argument list.
29618         * lib/safe-alloc.h: Likewise.
29619         * lib/file-set.h: Insert space before macro argument list.
29620         * tests/test-argp.c: Likewise.
29621         * lib/argp-namefrob.h: Insert space before function parameter list.
29622         * lib/getaddrinfo.c: Likewise.
29623         * lib/netdb.in.h: Likewise.
29624         * lib/parse-duration.h: Likewise.
29625         * lib/parse-duration.c: Likewise.
29626         * lib/poll.c: Likewise.
29627         * lib/select.c: Likewise.
29628         * lib/trim.h: Likewise.
29629         * tests/test-usleep.c: Likewise.
29630         * lib/ldexpl.c: Insert space before function parameter list and before
29631         function argument list.
29632         * lib/logl.c: Likewise.
29633         * lib/sqrtl.c: Likewise.
29634         * lib/trim.c: Likewise.
29635         * lib/cosl.c: Use GNU style indentation. Insert space before function
29636         argument list.
29637         * lib/sinl.c: Likewise.
29638         * lib/tsearch.c: Insert space after 'for'.
29639         Reported by Jim Meyering.
29640
29641 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
29642
29643         * maint.mk (sc_Wundef_boolean): Check for the presence of the
29644         config header before grepping, as it's not present before
29645         autoreconf/configure are run.  Reported by Simon Josefsson.
29646
29647 2010-03-23  Bruno Haible  <bruno@clisp.org>
29648
29649         pt_chown: Make it work with automake < 1.11.
29650         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
29651         Reported by Simon Josefsson.
29652
29653 2010-03-23  Bruno Haible  <bruno@clisp.org>
29654
29655         pt_chown: Don't depend on GPLed modules.
29656         * lib/pt_chown.c: Don't include idpriv.h.
29657         (main): Don't drop privileges.
29658         * modules/pt_chown (Depends-on): Remove idpriv-drop.
29659         Reported by Simon Josefsson.
29660
29661 2010-03-24  Simon Josefsson  <simon@josefsson.org>
29662
29663         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
29664         suggestions from karl@freefriends.org (Karl Berry).
29665
29666 2010-03-22  Eric Blake  <eblake@redhat.com>
29667
29668         gethostname: further tweaks
29669         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
29670         are overriding gethostname.
29671         Suggested by Bruno Haible.
29672
29673 2010-03-21  Bruno Haible  <bruno@clisp.org>
29674
29675         Fix comments.
29676         * lib/forkpty.c (rpl_forkpty): Fix comment.
29677         * lib/openpty.c (rpl_openpty): Likewise.
29678         Reported by Eric Blake.
29679
29680 2010-03-22  Eric Blake  <eblake@redhat.com>
29681
29682         gethostname: fix build on mingw
29683         * lib/unistd.in.h (includes): Work around fact that mingw
29684         <winsock2.h> re-includes <unistd.h>, by avoiding any
29685         redeclarations if we are being included by <winsock2.h>.
29686         Reported by Matthias Bolte.
29687
29688 2010-03-21  Bruno Haible  <bruno@clisp.org>
29689
29690         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
29691         * lib/forkpty.c (forkpty): New replacement function, from glibc with
29692         modifications.
29693         * lib/pty.in.h (forkpty): Update declaration. Add comments.
29694         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
29695         provide the replacement.
29696         * modules/forkpty (Depends-on): Add openpty, login_tty.
29697         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
29698         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
29699         * doc/glibc-functions/forkpty.texi: More supported platforms.
29700         * config/srclist.txt: Add forkpty.c (commented).
29701
29702 2010-03-21  Bruno Haible  <bruno@clisp.org>
29703
29704         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
29705         (Makefile.am): Verify that PTY_LIB is defined.
29706
29707         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
29708
29709 2010-03-21  Bruno Haible  <bruno@clisp.org>
29710
29711         Tests for module 'login_tty'.
29712         * modules/login_tty-tests: New file.
29713         * tests/test-login_tty.c: New file.
29714
29715         New module 'login_tty'.
29716         * lib/login_tty.c: New file.
29717         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
29718         * modules/login_tty: New file.
29719         * doc/glibc-functions/login_tty.texi: Mention the new module.
29720
29721 2010-03-21  Bruno Haible  <bruno@clisp.org>
29722
29723         login_tty: Documentation.
29724         * doc/glibc-functions/login_tty.texi: New file.
29725         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
29726
29727 2010-03-21  Bruno Haible  <bruno@clisp.org>
29728
29729         pty: Consistent macro naming.
29730         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
29731         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
29732         * modules/pty (configure.ac): Update.
29733
29734 2010-03-21  Bruno Haible  <bruno@clisp.org>
29735
29736         Tests for openpty: Make stricter.
29737         * tests/test-openpty.c (main): Add test of canonical processing and
29738         erase.
29739         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
29740
29741         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
29742         * lib/openpty.c (openpty): New replacement function.
29743         * lib/pty.in.h: Include <termios.h>.
29744         (openpty): Update declaration. Add comments.
29745         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
29746         is not declared, arrange to provide the replacement. Check for _getpty
29747         and posix_openpt.
29748         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
29749         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
29750         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
29751         * modules/pty-tests (test_pty_c___LDADD): New variable.
29752         * doc/glibc-functions/openpty.texi: More supported platforms.
29753
29754 2010-03-21  Bruno Haible  <bruno@clisp.org>
29755
29756         setenv: Tweaks.
29757         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
29758         the test program.
29759         * doc/posix-functions/setenv.texi: Update platforms list.
29760
29761 2010-03-21  Bruno Haible  <bruno@clisp.org>
29762
29763         New module 'unlockpt'.
29764         * lib/unlockpt.c: New file, from glibc with modifications.
29765         * m4/unlockpt.m4: New file.
29766         * modules/unlockpt: New file.
29767         * lib/stdlib.in.h (unlockpt): New declaration.
29768         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
29769         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
29770         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
29771         HAVE_UNLOCKPT.
29772         * doc/posix-functions/unlockpt.texi: Mention the new module.
29773         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
29774         * config/srclist.txt: Add unlockpt.c (commented).
29775
29776 2010-03-21  Jim Meyering  <meyering@redhat.com>
29777
29778         maint.mk: prohibit inclusion of "intprops.h" without use
29779         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
29780
29781 2010-03-21  Bruno Haible  <bruno@clisp.org>
29782
29783         New module 'grantpt'.
29784         * lib/grantpt.c: New file, from glibc with modifications.
29785         * m4/grantpt.m4: New file.
29786         * modules/grantpt: New file.
29787         * lib/stdlib.in.h (grantpt): New declaration.
29788         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
29789         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
29790         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
29791         HAVE_GRANTPT.
29792         * doc/posix-functions/grantpt.texi: Mention the new module.
29793         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
29794         * config/srclist.txt: Add grantpt.c (commented).
29795
29796 2010-03-21  Bruno Haible  <bruno@clisp.org>
29797
29798         New module 'pt_chown'.
29799         * lib/pt_chown.c: New file, from glibc with modifications.
29800         * lib/pty-private.h: New file, from glibc with modifications.
29801         * modules/pt_chown: New file.
29802         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
29803
29804 2010-03-21  Bruno Haible  <bruno@clisp.org>
29805
29806         Tests for module 'ptsname'.
29807         * modules/ptsname-tests: New file.
29808         * tests/test-ptsname.c: New file.
29809
29810         New module 'ptsname'.
29811         * lib/ptsname.c: New file, from glibc with modifications.
29812         * m4/ptsname.m4: New file.
29813         * modules/ptsname: New file.
29814         * lib/stdlib.in.h (ptsname): New declaration.
29815         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
29816         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
29817         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
29818         HAVE_PTSNAME.
29819         * doc/posix-functions/ptsname.texi: Mention the new module.
29820         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
29821         * config/srclist.txt: Add ptsname.c (commented).
29822
29823 2010-03-21  Bruno Haible  <bruno@clisp.org>
29824
29825         Tests for module 'ttyname_r'.
29826         * modules/ttyname_r-tests: New file.
29827         * tests/test-ttyname_r.c: New file.
29828
29829         New module 'ttyname_r'.
29830         * lib/ttyname_r.c: New file.
29831         * m4/ttyname_r.m4: New file.
29832         * modules/ttyname_r: New file.
29833         * lib/unistd.in.h (ttyname_r): New declaration.
29834         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
29835         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
29836         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
29837         HAVE_TTYNAME_R.
29838         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
29839         * doc/posix-functions/ttyname_r.texi: Mention the new module.
29840
29841 2010-03-20  Bruno Haible  <bruno@clisp.org>
29842
29843         signal: Undefine macro definitions in C++ mode.
29844         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
29845         sigfillset): Undefine macro definitions from the system header in C++
29846         mode.
29847         Reported by John W. Eaton <jwe@gnu.org>.
29848
29849 2010-03-20  Bruno Haible  <bruno@clisp.org>
29850
29851         Ensure no #include statements inside extern "C" { ... }.
29852         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
29853         contain #include statements.
29854         * lib/time.in.h: Likewise.
29855
29856 2010-03-20  Bruno Haible  <bruno@clisp.org>
29857
29858         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
29859         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
29860         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
29861         Reported by John W. Eaton <jwe@gnu.org>.
29862
29863 2010-03-20  Bruno Haible  <bruno@clisp.org>
29864
29865         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
29866         Reported by Jim Meyering.
29867
29868 2010-03-20  Bruno Haible  <bruno@clisp.org>
29869
29870         pipe: Set errno upon failure.
29871         * lib/pipe.h: Specify that when -1 is returned, errno is set.
29872         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
29873         errno value in error message.
29874
29875 2010-03-20  Bruno Haible  <bruno@clisp.org>
29876             Jim Meyering  <meyering@redhat.com>
29877
29878         lchown: Avoid "unused variable" warning.
29879         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
29880
29881 2010-03-20  Bruno Haible  <bruno@clisp.org>
29882
29883         Work around unlink() bug on MacOS X 10.5.6.
29884         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
29885         attempting to unlink a parent directory.
29886         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
29887         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
29888         activate for the replacement function.
29889         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
29890
29891 2010-03-20  Bruno Haible  <bruno@clisp.org>
29892
29893         Fix link errors on Solaris 8.
29894         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
29895         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
29896
29897 2010-03-19  Jim Meyering  <meyering@redhat.com>
29898
29899         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
29900         The _LIBC implementation of build_range_exp correctly honors the
29901         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
29902         However, the non-_LIBC implementation would ignore that syntax-bit
29903         flag and return REG_ERANGE unconditionally.
29904         This change makes it honor that flag.
29905         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
29906         Make two pointer parameters "const".
29907         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
29908         (parse_bracket_exp): Update caller.
29909
29910         regex.m4: correct the reversed range endpoint ([b-a]) test
29911         * m4/regex.m4: When requiring that [b-a] evoke failure,
29912         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
29913         test pass once again for x86-based systems.
29914
29915 2010-03-19  Bruno Haible  <bruno@clisp.org>
29916
29917         scandir: Fix link error on Solaris 8.
29918         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
29919         macros.
29920
29921 2010-03-19  Bruno Haible  <bruno@clisp.org>
29922
29923         getusershell: Fix documentation.
29924         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
29925         module.
29926         * doc/glibc-functions/setusershell.texi: Likewise.
29927
29928         getusershell: Provide declaration, missing on Solaris 9.
29929         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
29930         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
29931         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
29932         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
29933         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
29934         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
29935         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
29936         HAVE_GETUSERSHELL.
29937         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
29938
29939 2010-03-19  Bruno Haible  <bruno@clisp.org>
29940
29941         wctype: Provide iswblank function.
29942         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
29943         exists and is fine.
29944         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
29945         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
29946         * tests/test-wctype.c (main): Re-enable the iswblank tests.
29947         * doc/posix-functions/iswblank.texi: Update.
29948
29949 2010-03-19  Bruno Haible  <bruno@clisp.org>
29950
29951         Tests of module 'pty' in C++ mode.
29952         * modules/pty-tests: New file.
29953         * tests/test-pty-c++.cc: New file.
29954         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
29955
29956 2010-03-19  Eric Blake  <eblake@redhat.com>
29957
29958         logb: fix documentation
29959         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
29960         1.5 declaration bug.
29961
29962         forkpty, openpty: prefer glibc's const-safe prototype
29963         * lib/forkpty.c (rpl_forkpty): New file.
29964         * lib/openpty.c (rpl_openpty): Likewise.
29965         * modules/forkpty (Files): Distribute it.
29966         * modules/openpty (Files): Likewise.
29967         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
29968         check...
29969         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
29970         replacement for for non-const BSD signature.
29971         * modules/pty (Makefile.am): Substitute witnesses.
29972         * lib/pty.in.h (forkpty, openpty): Declare replacements.
29973         * tests/test-forkpty.c: Update signature check.
29974         * tests/test-openpty.c: Likewise.
29975         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
29976         * doc/glibc-functions/openpty.texi (openpty): Likewise.
29977
29978         forkpty, openpty: split functions into new modules
29979         * modules/pty (Makefile.am): Substitute new witnesses.
29980         (Libraries): Move library detection...
29981         * modules/forkpty: ...into new module.
29982         * modules/openpty: Another new module.
29983         * modules/pty-tests: Rename and split...
29984         * modules/forkpty-tests: ...to this...
29985         * modules/openpty-tests: ...and this.
29986         * tests/test-pty.c: Rename and split...
29987         * tests/test-forkpty.c: ...to this...
29988         * tests/test-openpty.c: ...and this.
29989         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
29990         (gl_PTY): Split library searching...
29991         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
29992         (gl_FORKPTY, gl_OPENPTY): New macros.
29993         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
29994         * NEWS: Mention the split.
29995         * MODULES.html.sh (Misc): Document the modules.
29996         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
29997         * doc/glibc-functions/openpty.texi (openpty): Likewise.
29998
29999         pty: improve replacement header
30000         * lib/pty.in.h: New file.
30001         * modules/pty (Files): Ship it.
30002         (Makefile.am): Always build replacement.
30003         * m4/pty.m4: Rename...
30004         * m4/pty_h.m4: ...to this.
30005         (gl_PTY): Modernize setting of witness macros; update check of
30006         forkpty to take proper advantage of cache.
30007         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
30008
30009         getopt: avoid compiler warning
30010         * lib/getopt.c (attribute_hidden): Remove unused macro.
30011
30012 2010-03-18  Bruno Haible  <bruno@clisp.org>
30013
30014         Fix link errors on Solaris 8.
30015         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
30016         * modules/search-tests (test_search_c___LDADD): Likewise.
30017         * modules/signal-tests (test_signal_c___LDADD): Likewise.
30018         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
30019         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
30020         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
30021         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
30022         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
30023         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
30024
30025 2010-03-18  Bruno Haible  <bruno@clisp.org>
30026
30027         Fix bug introduced on 2010-03-14.
30028         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
30029         (gl_SPAWN_H): Require it.
30030         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
30031         Reported by Simon Josefsson.
30032
30033 2010-03-18  Bruno Haible  <bruno@clisp.org>
30034
30035         Fix typo introduced on 2009-12-31.
30036         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
30037         posix_spawn_file_actions_adddup2.
30038
30039 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
30040         and Eric Blake  <eblake@redhat.com>
30041
30042         test-vc-list-files-git: make more robust
30043         * tests/test-vc-list-files-git.sh: Unset problematic environment
30044         variables.  Chain commands together.
30045
30046 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
30047
30048         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
30049         `AC_CHECK_DECL' invocation.
30050
30051 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
30052
30053         * lib/inttostr.c (inttostr): Make sure the invocation of verify
30054         appears before executable statements. Suggested by Petr Sumbera
30055         <Petr.Sumbera@Sun.COM>.
30056
30057 2010-03-14  Bruno Haible  <bruno@clisp.org>
30058
30059         * tests/test-flock.c (test_exclusive): Comment out a test that causes
30060         portability problems. Instead use a simpler test.
30061         (main): Check that invalid arguments are rejected only on Linux.
30062
30063 2010-03-14  Bruno Haible  <bruno@clisp.org>
30064
30065         Fix bug introduced on 2009-12-31.
30066         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
30067         gl_PREREQ_SYS_H_WINSOCK2 always.
30068         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
30069         SYS_SOCKET_H variable.
30070         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
30071         Update comments.
30072         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
30073         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
30074         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
30075         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
30076         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
30077
30078 2010-03-14  Bruno Haible  <bruno@clisp.org>
30079
30080         Fix values returned by sinl, cosl.
30081         * lib/trigl.h: Add specification comments.
30082         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
30083         that combines the values from the precomputed table with the values of
30084         the Chebyshev polynomials.
30085
30086 2010-03-14  Bruno Haible  <bruno@clisp.org>
30087
30088         Fix compilation error when modules 'posix_spawn[p]' are not used.
30089         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
30090         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
30091
30092 2010-03-14  Bruno Haible  <bruno@clisp.org>
30093
30094         Fix compilation error on mingw when module 'time_r' is not used.
30095         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
30096         is 1.
30097         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
30098         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
30099         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
30100         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
30101
30102 2010-03-14  Bruno Haible  <bruno@clisp.org>
30103
30104         Fix compilation error with Sun C.
30105         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
30106         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
30107         instead of GCC specific ULONG_LONG_MAX.
30108         * lib/xstrtoll.c: Likewise.
30109         * lib/xstrtoull.c: Likewise.
30110
30111 2010-03-13  Bruno Haible  <bruno@clisp.org>
30112
30113         Allow the user to disable C++ code and tests.
30114         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
30115         (gl_PROG_ANSI_CXX): Require it.
30116
30117 2010-03-13  Bruno Haible  <bruno@clisp.org>
30118
30119         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
30120         cases.
30121
30122 2010-03-13  Bruno Haible  <bruno@clisp.org>
30123
30124         Test that gnulib does not break the standard C++ headers.
30125         * tests/test-locale-c++2.cc: New file.
30126         * modules/locale-tests (Files): Add it.
30127         (Makefile.am): Compile it for test-locale-c++.
30128         * tests/test-math-c++2.cc: New file.
30129         * modules/math-tests (Files): Add it.
30130         (Makefile.am): Compile it for test-math-c++.
30131         * tests/test-signal-c++2.cc: New file.
30132         * modules/signal-tests (Files): Add it.
30133         (Makefile.am): Compile it for test-signal-c++.
30134         * tests/test-stdio-c++2.cc: New file.
30135         * modules/stdio-tests (Files): Add it.
30136         (Makefile.am): Compile it for test-stdio-c++.
30137         * tests/test-stdlib-c++2.cc: New file.
30138         * modules/stdlib-tests (Files): Add it.
30139         (Makefile.am): Compile it for test-stdlib-c++.
30140         * tests/test-string-c++2.cc: New file.
30141         * modules/string-tests (Files): Add it.
30142         (Makefile.am): Compile it for test-string-c++.
30143         * tests/test-time-c++2.cc: New file.
30144         * modules/time-tests (Files): Add it.
30145         (Makefile.am): Compile it for test-time-c++.
30146         Reported by John W. Eaton <jwe@gnu.org>.
30147
30148 2010-03-13  Bruno Haible  <bruno@clisp.org>
30149
30150         * gnulib-tool (func_usage): Clarify which options are available for
30151         --create-testdir and --create-megatestdir.
30152
30153 2010-03-13  Bruno Haible  <bruno@clisp.org>
30154
30155         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
30156         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
30157         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
30158         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
30159         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
30160         when appropriate.
30161         Reported by Jim Meyering.
30162
30163 2010-03-12  Simon Josefsson  <simon@josefsson.org>
30164
30165         * gnulib-tool (func_import): Explain origin of code.
30166
30167 2010-03-12  Bruno Haible  <bruno@clisp.org>
30168
30169         Fix problem with automake's definition of CXXLINK.
30170         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
30171         Reported by Simon Josefsson and Ludovic Courtès.
30172
30173 2010-03-12  Bruno Haible  <bruno@clisp.org>
30174
30175         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
30176         stable releases.
30177
30178 2010-03-11  Bruno Haible  <bruno@clisp.org>
30179
30180         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
30181         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
30182         whether the system provides one variant or multiple variants of the
30183         function.
30184         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
30185         C++ compilers.
30186         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
30187         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
30188         Reported by Jim Meyering.
30189
30190 2010-03-09  Simon Josefsson  <simon@josefsson.org>
30191
30192         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
30193
30194 2010-03-08  Bruno Haible  <bruno@clisp.org>
30195
30196         gnulib-tool: Add support for --libtool in --create-testdir.
30197         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
30198         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
30199
30200 2010-03-08  Eric Blake  <eblake@redhat.com>
30201
30202         gnulib-tool.texi: mention possibility of git submodule
30203         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
30204         submodules.
30205         * doc/.gitignore: Ignore another generated file.
30206
30207 2010-03-08  Karl Berry  <karl@gnu.org>
30208
30209         * doc/gnulib-tool.texi (VCS Issues): Mention third option
30210         of committing gnulib files while skipping others.
30211
30212 2010-03-07  Bruno Haible  <bruno@clisp.org>
30213
30214         Tests of module 'wctype' in C++ mode.
30215         * tests/test-wctype-c++.cc: New file.
30216         * modules/wctype-tests (Files): Add it and tests/signature.h.
30217         (Depends-on): Add ansi-c++-opt.
30218         (Makefile.am): Arrange to compile and run test-wctype-c++.
30219
30220         Tests of module 'wchar' in C++ mode.
30221         * tests/test-wchar-c++.cc: New file.
30222         * modules/wchar-tests (Files): Add it and tests/signature.h.
30223         (Depends-on): Add ansi-c++-opt.
30224         (Makefile.am): Arrange to compile and run test-wchar-c++.
30225         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
30226         gl_MODULE_INDICATOR.
30227
30228         Tests of module 'unistd' in C++ mode.
30229         * tests/test-unistd-c++.cc: New file.
30230         * modules/unistd-tests (Files): Add it and tests/signature.h.
30231         (Depends-on): Add ansi-c++-opt.
30232         (Makefile.am): Arrange to compile and run test-unistd-c++.
30233         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
30234         gl_MODULE_INDICATOR.
30235
30236         Tests of module 'time' in C++ mode.
30237         * tests/test-time-c++.cc: New file.
30238         * modules/time-tests (Files): Add it and tests/signature.h.
30239         (Depends-on): Add ansi-c++-opt.
30240         (Makefile.am): Arrange to compile and run test-time-c++.
30241         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
30242
30243         Tests of module 'sys_time' in C++ mode.
30244         * tests/test-sys_time-c++.cc: New file.
30245         * modules/sys_time-tests (Files): Add it and tests/signature.h.
30246         (Depends-on): Add ansi-c++-opt.
30247         (Makefile.am): Arrange to compile and run test-sys_time-c++.
30248         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
30249         gl_MODULE_INDICATOR.
30250
30251         Tests of module 'sys_stat' in C++ mode.
30252         * tests/test-sys_stat-c++.cc: New file.
30253         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
30254         (Depends-on): Add ansi-c++-opt.
30255         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
30256         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
30257         gl_MODULE_INDICATOR.
30258
30259         Tests of module 'sys_socket' in C++ mode.
30260         * tests/test-sys_socket-c++.cc: New file.
30261         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
30262         (Depends-on): Add ansi-c++-opt.
30263         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
30264         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
30265         gl_MODULE_INDICATOR.
30266
30267         Tests of module 'sys_select' in C++ mode.
30268         * tests/test-sys_select-c++.cc: New file.
30269         * modules/sys_select-tests (Files): Add it and tests/signature.h.
30270         (Depends-on): Add ansi-c++-opt.
30271         (Makefile.am): Arrange to compile and run test-sys_select-c++.
30272         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
30273         gl_MODULE_INDICATOR.
30274
30275         Tests of module 'sys_ioctl' in C++ mode.
30276         * tests/test-sys_ioctl-c++.cc: New file.
30277         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
30278         (Depends-on): Add ansi-c++-opt.
30279         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
30280         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
30281         gl_MODULE_INDICATOR.
30282
30283         Tests of module 'string' in C++ mode.
30284         * tests/test-string-c++.cc: New file.
30285         * modules/string-tests (Files): Add it and tests/signature.h.
30286         (Depends-on): Add ansi-c++-opt.
30287         (Makefile.am): Arrange to compile and run test-string-c++.
30288         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
30289         gl_MODULE_INDICATOR.
30290
30291         Tests of module 'stdlib' in C++ mode.
30292         * tests/test-stdlib-c++.cc: New file.
30293         * modules/stdlib-tests (Files): Add it and tests/signature.h.
30294         (Depends-on): Add ansi-c++-opt.
30295         (Makefile.am): Arrange to compile and run test-stdlib-c++.
30296         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
30297         gl_MODULE_INDICATOR.
30298
30299         Tests of module 'stdio' in C++ mode.
30300         * tests/test-stdio-c++.cc: New file.
30301         * modules/stdio-tests (Files): Add it and tests/signature.h.
30302         (Depends-on): Add ansi-c++-opt.
30303         (Makefile.am): Arrange to compile and run test-stdio-c++.
30304         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
30305         gl_MODULE_INDICATOR.
30306
30307         Tests of module 'spawn' in C++ mode.
30308         * tests/test-spawn-c++.cc: New file.
30309         * modules/spawn-tests (Files): Add it and tests/signature.h.
30310         (Depends-on): Add ansi-c++-opt.
30311         (Makefile.am): Arrange to compile and run test-spawn-c++.
30312         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
30313         gl_MODULE_INDICATOR.
30314
30315         Tests of module 'signal' in C++ mode.
30316         * tests/test-signal-c++.cc: New file.
30317         * modules/signal-tests (Files): Add it and tests/signature.h.
30318         (Depends-on): Add ansi-c++-opt.
30319         (Makefile.am): Arrange to compile and run test-signal-c++.
30320         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
30321         gl_MODULE_INDICATOR.
30322
30323         Tests of module 'search' in C++ mode.
30324         * tests/test-search-c++.cc: New file.
30325         * modules/search-tests (Files): Add it and tests/signature.h.
30326         (Depends-on): Add ansi-c++-opt.
30327         (Makefile.am): Arrange to compile and run test-search-c++.
30328         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
30329         gl_MODULE_INDICATOR.
30330
30331         Tests of module 'math' in C++ mode.
30332         * tests/test-math-c++.cc: New file.
30333         * modules/math-tests (Files): Add it and tests/signature.h.
30334         (Depends-on): Add ansi-c++-opt.
30335         (Makefile.am): Arrange to compile and run test-math-c++.
30336         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
30337
30338         Tests of module 'locale' in C++ mode.
30339         * tests/test-locale-c++.cc: New file.
30340         * modules/locale-tests (Files): Add it and tests/signature.h.
30341         (Depends-on): Add ansi-c++-opt.
30342         (Makefile.am): Arrange to compile and run test-locale-c++.
30343         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
30344         gl_MODULE_INDICATOR.
30345
30346         Tests of module 'langinfo' in C++ mode.
30347         * tests/test-langinfo-c++.cc: New file.
30348         * modules/langinfo-tests (Files): Add it and tests/signature.h.
30349         (Depends-on): Add ansi-c++-opt.
30350         (Makefile.am): Arrange to compile and run test-langinfo-c++.
30351         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
30352         gl_MODULE_INDICATOR.
30353
30354         Tests of module 'iconv-h' in C++ mode.
30355         * tests/test-iconv-h-c++.cc: New file.
30356         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
30357         (Depends-on): Add ansi-c++-opt.
30358         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
30359
30360         Tests of module 'glob' in C++ mode.
30361         * tests/test-glob-c++.cc: New file.
30362         * modules/glob-tests (Files): Add it.
30363         (Depends-on): Add ansi-c++-opt.
30364         (Makefile.am): Arrange to compile and run test-glob-c++.
30365
30366         Tests of module 'fcntl-h' in C++ mode.
30367         * tests/test-fcntl-h-c++.cc: New file.
30368         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
30369         (Depends-on): Add ansi-c++-opt.
30370         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
30371         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
30372         gl_MODULE_INDICATOR.
30373
30374         Tests of module 'dirent' in C++ mode.
30375         * tests/test-dirent-c++.cc: New file.
30376         * modules/dirent-tests (Files): Add it and tests/signature.h.
30377         (Depends-on): Add ansi-c++-opt.
30378         (Makefile.am): Arrange to compile and run test-dirent-c++.
30379         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
30380         gl_MODULE_INDICATOR.
30381
30382         New module 'ansi-c++-opt'.
30383         * modules/ansi-c++-opt: New file.
30384         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
30385
30386         Document C++ namespace mode.
30387         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
30388
30389         wctype: Avoid #define replacements in C++ mode.
30390         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
30391         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
30392         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
30393         In C++, define a namespaced alias symbol.
30394         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
30395         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
30396         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
30397         rule.
30398
30399         wchar: Avoid #define replacements in C++ mode.
30400         * lib/wchar.in.h: Include c++defs.h.
30401         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
30402         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
30403         symbol.
30404         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
30405         * modules/wchar (Depends-on): Add c++defs.
30406         (Makefile.am): Update wchar.h rule.
30407
30408         unistd: Avoid #define replacements in C++ mode.
30409         * lib/unistd.in.h: Include c++defs.h.
30410         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
30411         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
30412         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
30413         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
30414         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
30415         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
30416         symbol.
30417         (environ): Update.
30418         * modules/unistd (Depends-on): Add c++defs.
30419         (Makefile.am): Update unistd.h rule.
30420
30421         time: Avoid #define replacements in C++ mode.
30422         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
30423         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
30424         define a namespaced alias symbol.
30425         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
30426         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
30427         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
30428         * modules/time (Depends-on): Add c++defs, warn-on-use.
30429         (Makefile.am): Update time.h rule.
30430         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
30431         * modules/nanosleep (configure.ac): Likewise.
30432         * modules/strptime (configure.ac): Likewise.
30433         * modules/timegm (configure.ac): Likewise.
30434
30435         sys_time: Avoid #define replacements in C++ mode.
30436         * lib/sys_time.in.h: Include c++defs.h.
30437         (gettimeofday): In C++, define a namespaced alias symbol.
30438         * modules/sys_time (Depends-on): Add c++defs.
30439         (Makefile.am): Update sys/time.h rule.
30440
30441         sys_stat: Avoid #define replacements in C++ mode.
30442         * lib/sys_stat.in.h: Include c++defs.h.
30443         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
30444         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
30445         namespaced alias symbol.
30446         In C++, define a namespaced alias symbol.
30447         * modules/sys_stat (Depends-on): Add c++defs.
30448         (Makefile.am): Update sys/stat.h rule.
30449
30450         sys_socket: Avoid #define replacements in C++ mode.
30451         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
30452         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
30453         definitions also when the system has a <sys/socket.h>.
30454         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
30455         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
30456         In C++, define a namespaced alias symbol.
30457         * modules/sys_socket (Depends-on): Add c++defs.
30458         (Makefile.am): Update sys/socket.h rule.
30459
30460         sys_select: Avoid #define replacements in C++ mode.
30461         * lib/sys_select.in.h: Include c++defs.h. Enable the function
30462         definitions also when the system has a <sys/select.h>.
30463         (select): In C++, define a namespaced alias symbol.
30464         * modules/sys_select (Depends-on): Add c++defs.
30465         (Makefile.am): Update sys/select.h rule.
30466
30467         sys_ioctl: Avoid #define replacements in C++ mode.
30468         * lib/sys_ioctl.in.h: Include c++defs.h.
30469         (ioctl): In C++, define a namespaced alias symbol.
30470         * modules/sys_ioctl (Depends-on): Add c++defs.
30471         (Makefile.am): Update sys/ioctl.h rule.
30472
30473         string: Avoid #define replacements in C++ mode.
30474         * lib/string.in.h: Include c++defs.h.
30475         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
30476         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
30477         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
30478         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
30479         strsignal, strverscmp): In C++, define a namespaced alias symbol.
30480         * modules/string (Depends-on): Add c++defs.
30481         (Makefile.am): Update string.h rule.
30482
30483         stdlib: Avoid #define replacements in C++ mode.
30484         * lib/stdlib.in.h: Include c++defs.h.
30485         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
30486         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
30487         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
30488         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
30489         symbol.
30490         * modules/stdlib (Depends-on): Add c++defs.
30491         (Makefile.am): Update stdlib.h rule.
30492
30493         stdio: Avoid #define replacements in C++ mode.
30494         * lib/stdio.in.h: Include c++defs.h.
30495         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
30496         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
30497         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
30498         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
30499         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
30500         namespaced alias symbol.
30501         * modules/stdio (Depends-on): Add c++defs.
30502         (Makefile.am): Update stdio.h rule.
30503
30504         spawn: Avoid #define replacements in C++ mode.
30505         * lib/spawn.in.h: Include c++defs.h.
30506         (posix_spawn, posix_spawnp, posix_spawnattr_init,
30507         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
30508         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
30509         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
30510         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
30511         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
30512         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
30513         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
30514         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
30515         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
30516         In C++, define a namespaced alias symbol.
30517         * modules/spawn (Depends-on): Add c++defs.
30518         (Makefile.am): Update spawn.h rule.
30519
30520         signal: Avoid #define replacements in C++ mode.
30521         * lib/signal.in.h: Include c++defs.h.
30522         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
30523         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
30524         namespaced alias symbol.
30525         * modules/signal (Depends-on): Add c++defs.
30526         (Makefile.am): Update signal.h rule.
30527
30528         search: Avoid #define replacements in C++ mode.
30529         * lib/search.in.h: Include c++defs.h.
30530         (_gl_search_compar_fn, _gl_search_action_fn): New types.
30531         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
30532         symbol.
30533         * modules/search (Depends-on): Add c++defs.
30534         (Makefile.am): Update search.h rule.
30535
30536         math: Avoid #define replacements in C++ mode.
30537         * lib/math.in.h: Include c++defs.h.
30538         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
30539         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
30540         trunc, truncl): In C++, define a namespaced alias symbol.
30541         * modules/math (Depends-on): Add c++defs.
30542         (Makefile.am): Update math.h rule.
30543
30544         locale: Avoid #define replacements in C++ mode.
30545         * lib/locale.in.h: Include c++defs.h.
30546         (duplocale): In C++, define a namespaced alias symbol.
30547         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
30548         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
30549         * modules/locale (Depends-on): Add c++defs.
30550         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
30551
30552         langinfo: Avoid #define replacements in C++ mode.
30553         * lib/langinfo.in.h: Include c++defs.h.
30554         (nl_langinfo): In C++, define a namespaced alias symbol.
30555         * modules/langinfo (Depends-on): Add c++defs.
30556         (Makefile.am): Update langinfo.h rule.
30557
30558         iconv-h: Avoid #define replacements in C++ mode.
30559         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
30560         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
30561         symbol.
30562         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
30563         whenever iconv is present.
30564         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
30565         (Makefile.am): Update iconv.h rule.
30566
30567         glob: Avoid #define replacements in C++ mode.
30568         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
30569         (_gl_glob_errfunc_fn): New type.
30570         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
30571         symbol.
30572         * modules/glob (Depends-on): Add c++defs, warn-on-use.
30573         (Makefile.am): Update glob.h rule.
30574
30575         fcntl-h: Avoid #define replacements in C++ mode.
30576         * lib/fcntl.in.h: Include c++defs.h.
30577         (fcntl, open, openat): In C++, define a namespaced alias symbol.
30578         * modules/fcntl-h (Depends-on): Add c++defs.
30579         (Makefile.am): Update fcntl.h rule.
30580
30581         dirent: Avoid #define replacements in C++ mode.
30582         * lib/dirent.in.h: Include c++defs.h.
30583         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
30584         namespaced alias symbol.
30585         (dirfd): Update declaration.
30586         * modules/dirent (Depends-on): Add c++defs.
30587         (Makefile.am): Update dirent.h rule.
30588
30589         ctype: Make it usable in C++ code.
30590         * lib/ctype.in.h: Include c++defs.h.
30591         (isblank): Declare as extern "C".
30592         * modules/ctype (Depends-on): Add c++defs.
30593         (Makefile.am): Update ctype.h rule.
30594
30595         New module 'c++defs'.
30596         * modules/c++defs: New file.
30597         * build-aux/c++defs.h: New file.
30598         Reported by John W. Eaton <jwe@gnu.org>.
30599
30600 2010-03-07  Bruno Haible  <bruno@clisp.org>
30601
30602         logb: Provide missing declaration for Cygwin.
30603         * lib/math.in.h (logb): New declaration.
30604         * m4/logb.m4: New file.
30605         * modules/logb (Files): Add m4/logb.m4.
30606         (Depends-on): Add math.
30607         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
30608         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
30609         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
30610         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
30611         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
30612
30613 2010-03-07  Bruno Haible  <bruno@clisp.org>
30614
30615         Fix test-cond link error.
30616         * tests/test-cond.c: Include <stdio.h>.
30617
30618 2010-03-07  Bruno Haible  <bruno@clisp.org>
30619
30620         Fix test-dirent-safer link error.
30621         * modules/dirent-safer-tests (Makefile.am): Define
30622         test_dirent_safer_LDADD.
30623
30624 2010-03-07  Bruno Haible  <bruno@clisp.org>
30625
30626         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
30627         among default module list.
30628
30629 2010-03-07  Bruno Haible  <bruno@clisp.org>
30630
30631         Fix link error on platforms with GNU libiconv.
30632         * modules/unistr/u8-strcoll-tests (Makefile): Define
30633         test_u8_strcoll_LDADD.
30634         * modules/unistr/u16-strcoll-tests (Makefile): Define
30635         test_u16_strcoll_LDADD.
30636         * modules/unistr/u32-strcoll-tests (Makefile): Define
30637         test_u32_strcoll_LDADD.
30638
30639 2010-03-07  Bruno Haible  <bruno@clisp.org>
30640
30641         Use POSIX declarations for socket functions.
30642         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
30643         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
30644         rpl_sendto): Change declaration to match POSIX.
30645         * lib/connect.c (rpl_connect): Likewise.
30646         * lib/accept.c (rpl_accept): Likewise.
30647         * lib/bind.c (rpl_bind): Likewise.
30648         * lib/getpeername.c (rpl_getpeername): Likewise.
30649         * lib/getsockname.c (rpl_getsockname): Likewise.
30650         * lib/recv.c (rpl_recv): Likewise.
30651         * lib/send.c (rpl_send): Likewise.
30652         * lib/recvfrom.c (rpl_recvfrom): Likewise.
30653         * lib/sendto.c (rpl_sendto): Likewise.
30654
30655 2010-03-06  Bruno Haible  <bruno@clisp.org>
30656
30657         Clarify access, euidaccess, faccessat.
30658         * doc/posix-functions/faccessat.texi: Mention security problem under
30659         "Other problems", not "Portability problems".
30660         * doc/posix-functions/access.texi: Likewise. Mention a related security
30661         problem.
30662         * doc/glibc-functions/euidaccess.texi: Mention security problems.
30663         * lib/euidaccess.c: Add comments about platforms.
30664         * lib/unistd.in.h (access, euidaccess): Add warnings.
30665
30666 2010-03-07  Bruno Haible  <bruno@clisp.org>
30667
30668         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
30669         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
30670         (POSIX_SPAWN_SETSCHEDULER): Likewise.
30671         (POSIX_SPAWN_USEVFORK): Define in a way that works when
30672         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
30673         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
30674         declare when POSIX_SPAWN_SETSCHEDULER is zero.
30675         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
30676         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
30677         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
30678         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
30679         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
30680         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
30681         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
30682         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
30683         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
30684         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
30685         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
30686         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
30687         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
30688         Likewise.
30689         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
30690         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
30691         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
30692         Likewise.
30693         * tests/test-spawn.c (main): Make it work when
30694         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
30695
30696 2010-03-07  Bruno Haible  <bruno@clisp.org>
30697
30698         Fix incorrect Makefile.am generation in German locale.
30699         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
30700         Execute sed command with character range in C locale.
30701
30702 2010-03-06  Bruno Haible  <bruno@clisp.org>
30703
30704         Tests for module 'iconv-h'.
30705         * modules/iconv-h-tests: New file.
30706         * tests/test-iconv-h.c: New file.
30707
30708         New module 'iconv-h'.
30709         * modules/iconv-h: New file.
30710         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
30711         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
30712         (configure.ac): Remove gl_ICONV_H.
30713         (Makefile.am): Remove rule for iconv.h.
30714
30715 2010-03-06  Bruno Haible  <bruno@clisp.org>
30716
30717         More consistent naming of *.m4 files.
30718         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
30719         * modules/wctype (Files): Update.
30720
30721         More consistent naming of *.m4 files.
30722         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
30723         * modules/wchar (Files): Update.
30724
30725 2010-03-06  Jim Meyering  <meyering@redhat.com>
30726
30727         euidaccess: relax license to LGPLv2+
30728         * modules/euidaccess (License): Relax to LGPLv2+.
30729
30730 2010-03-06  Bruno Haible  <bruno@clisp.org>
30731
30732         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
30733         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
30734         (Makefile.am): Augment lib_SOURCES instead.
30735
30736 2010-03-04  Jim Meyering  <meyering@redhat.com>
30737
30738         utime: remove obsolete module
30739         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
30740         unnecessary for years, and has been marked as obsolete for 10 months.
30741         * modules/utime: Remove file.
30742         * lib/utime.c: Remove file.
30743         * m4/utime.m4: Remove file.
30744         * m4/utimes-null.m4: Remove file.
30745         * doc/posix-functions/utime.texi (utime): Remove reference to
30746         the module.  Move the sole "fixed by gnulib" item into the
30747         "problems not fixed by Gnulib" list.
30748         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
30749
30750 2010-03-05  Simon Josefsson  <simon@josefsson.org>
30751
30752         * modules/exit (License): Relax license to LGPLv2+.
30753         (Status): Mark as obsolete.
30754         * NEWS: Mention deprecated 'exit' module.
30755         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
30756         of now obsolete 'exit'.
30757
30758 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30759
30760         fts-lgpl: remove unused module
30761         * modules/fts-lgpl: Remove.
30762         * MODULES.html.sh (func_all_modules): Adjust.
30763         * check-module (find_included_lib_files): Adjust.
30764         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
30765
30766 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
30767
30768         copy-acl: enhance Solaris ACL error handling
30769         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
30770         * lib/set-mode-acl.c (qset_acl): Likewise.
30771
30772 2010-03-02  Bruno Haible  <bruno@clisp.org>
30773
30774         spawn: Don't override the system defined values on FreeBSD 8.
30775         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
30776         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
30777         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
30778         if HAVE_POSIX_SPAWN is 1.
30779         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
30780
30781 2010-03-01  Bruno Haible  <bruno@clisp.org>
30782
30783         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
30784         regarding Automake.
30785
30786 2010-02-25  Bruno Haible  <bruno@clisp.org>
30787
30788         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
30789         * gnulib-tool: Define 'echo' as a function only before the ksh alias
30790         setting, not afterwards.
30791         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
30792
30793 2010-02-24  Eric Blake  <eblake@redhat.com>
30794
30795         bootstrap, git-version-gen: use timestamp
30796         * build-aux/git-version-gen (scriptversion): Force UTC.
30797         * build-aux/bootstrap (scriptversion): New variable.
30798
30799         bootstrap: allow older git
30800         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
30801         older than 1.6.4.  Requested by the libvirt project.
30802
30803 2010-02-23  Eric Blake  <eblake@redhat.com>
30804
30805         warn-on-use: work with old autoconf
30806         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
30807         AS_VAR semantics of autoconf 2.60.
30808         Reported by Bruno Haible.
30809
30810         bootstrap: improve some comments
30811         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
30812         clarification comments.
30813
30814         gettimeofday: provide correct function
30815         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
30816         when replacement is declared, otherwise provide gettimeofday.
30817         Reported by Michael Goffioul.
30818
30819 2010-02-23  Jim Meyering  <meyering@redhat.com>
30820
30821         lib-ignore: relax license to "unlimited", not LGPLv2+
30822         * modules/lib-ignore (License): Relax to "unlimited".
30823
30824 2010-02-23  Jim Meyering  <meyering@redhat.com>
30825
30826         lib-ignore: relax license to LGPLv2+
30827         * modules/lib-ignore (License): Relax to LGPLv2+.
30828
30829 2010-02-22  Eric Blake  <eblake@redhat.com>
30830
30831         lseek: avoid bash 3.2 broken pipe bug
30832         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
30833         warning from bash 3.2.
30834         Reported by Ben Pfaff, with analysis from Bruno Haible.
30835
30836         bootstrap: support non-FSF copyright holder
30837         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
30838         bootstrap.conf override of COPYRIGHT_HOLDER.
30839         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
30840
30841         bootstrap: interoperate with gettext 0.14.1
30842         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
30843
30844         bootstrap: allow for alternate submodule location
30845         * build-aux/bootstrap (gnulib_path): New variable; use instead of
30846         hardcoding submodule location.
30847         (gnulib_mk): Allow direct use of Makefile.am.
30848
30849         bootstrap: use GNULIB_SRCDIR to reduce disk usage
30850         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
30851         rather than reconfiguring where the submodule points.
30852
30853         gettimeofday: restore support for platforms that lack function
30854         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
30855         replacement if function is missing.
30856         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
30857         * modules/sys_time (Makefile.am): Substitute it.
30858         * lib/sys_time.in.h (gettimeofday): Check it.
30859         Reported by Michael Goffioul.
30860
30861 2010-02-21  Bruno Haible  <bruno@clisp.org>
30862
30863         * lib/stdio.in.h (obstack_printf): Fix typo.
30864
30865 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
30866
30867         vc-list-files: use bzr ls's -R option
30868         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
30869         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
30870
30871 2010-02-21  Jim Meyering  <meyering@redhat.com>
30872
30873         init.sh: fix EXEEXT shims to work also for names like test-prog
30874         * tests/init.sh: Re-exec a better shell, when needed.
30875         If the current shell lacks support for posix $(...), an init.sh-using
30876         test will now try to find a shell that supports that.  If EXEEXT is
30877         nonempty, we also require support for hyphen-in-alias-name and shell
30878         substitutions like ${var#glob}.  Failure to find such a shell results
30879         in a skipped test.
30880
30881 2010-02-21  Bruno Haible  <bruno@clisp.org>
30882
30883         Really work around around "broken pipe" error message from bash 3.2.
30884         * gnulib-tool (func_reset_sigpipe): Remove function.
30885         (echo): In bash 3.2, define to a function that uses printf.
30886         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
30887
30888 2010-02-20  Bruno Haible  <bruno@clisp.org>
30889
30890         Restore support for automake 1.9.6 with autoconf 2.61.
30891         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
30892         Reported by James Youngman <jay@gnu.org>.
30893
30894 2010-02-20  Bruno Haible  <bruno@clisp.org>
30895
30896         Improve *printf warning condition.
30897         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
30898         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
30899         and the function is overridden due to SIGPIPE emulation.
30900
30901 2010-02-20  Bruno Haible  <bruno@clisp.org>
30902
30903         * lib/stdio.in.h: Tweak comments.
30904
30905 2010-02-19  Bruno Haible  <bruno@clisp.org>
30906
30907         Make it easier to find modules. New gnulib-tool option '--find'.
30908         * gnulib-tool: New option --find.
30909         (func_usage): Document it.
30910         (func_sanitize_modulelist): New function, extracted from
30911         func_all_modules.
30912         (func_all_modules): Invoke it.
30913         * doc/gnulib-tool.texi (Which modules?): New node.
30914
30915 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
30916
30917         * lib/sys_select.in.h: Provide select replacement even if
30918         sys/select.h exists on a system, for Interix.
30919
30920 2010-02-18  Jim Meyering  <meyering@redhat.com>
30921
30922         init.sh: don't use $(...) just yet
30923         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
30924         to accommodate e.g., Solaris' /bin/sh.
30925
30926 2010-02-17  Bruno Haible  <bruno@clisp.org>
30927
30928         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
30929         Reported by Ludovic Courtès <ludo@gnu.org>.
30930
30931 2010-02-16  Simon Josefsson  <simon@josefsson.org>
30932
30933         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
30934         linking with -lintl.
30935
30936 2010-02-17  Simon Josefsson  <simon@josefsson.org>
30937
30938         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
30939         if not provided by the system's netdb.h.  Reported by
30940         ludo@gnu.org (Ludovic Courtès).
30941
30942 2010-02-15  Jim Meyering  <meyering@redhat.com>
30943
30944         init.sh: improve portability and efficiency
30945         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
30946         "dummy" in a for loop.
30947         Use '!', not '^' to select the complement of a character set used
30948         in a "case" statement.
30949         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
30950         Suggestions from Eric Blake.
30951
30952         init.sh: automatically accommodate programs with the .exe suffix
30953         Automatically arrange for an invocation of "prog" to execute the
30954         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
30955         may use the simpler "prog", yet still work when built on a system
30956         that requires specifying the added suffix.
30957         Do this by constructing a function named "prog" that invokes
30958         "prog.exe" for each .exe file in selected directories.
30959         * tests/init.sh (find_exe_basenames_): New function.
30960         (create_exe_shim_functions_): New function.
30961         (path_prepend_): Use it.
30962
30963         maint.mk: mark syntax-check sc_*.m rules as .PHONY
30964         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
30965         "make -t syntax-check" doesn't create a ton of sc_*.m files.
30966
30967 2010-02-14  Jim Meyering  <meyering@redhat.com>
30968
30969         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
30970         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
30971         (sc_prohibit_hash_pjw_without_use): New rule.
30972
30973         maint.mk: allow the default upload destination dir to be overridden
30974         * top/maint.mk (upload_dest_dir_): Define with a default that
30975         preserves the status quo.
30976         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
30977         Reported by Peter Simons.
30978
30979         maint.mk: prohibit inclusion of "hash.h" without_use
30980         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
30981
30982 2010-02-10  Jim Meyering  <meyering@redhat.com>
30983
30984         maint.mk: prohibit inclusion of "ignore-value.h" without_use
30985         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
30986
30987 2010-02-09  Eric Blake  <ebb9@byu.net>
30988         and Bruno Haible  <bruno@clisp.org>
30989
30990         obstack-printf-posix: ensure declaration
30991         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
30992         extracted from gl_FUNC_OBSTACK_PRINTF.
30993         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
30994         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
30995         Likewise.
30996         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
30997         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
30998         0.
30999
31000 2010-02-08  Bruno Haible  <bruno@clisp.org>
31001
31002         gnulib-tool: Fix typo in 2010-02-07 commit.
31003         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
31004         Reported by Eric Blake.
31005
31006 2010-02-07  Bruno Haible  <bruno@clisp.org>
31007
31008         gnulib-tool: Fix up caching patches.
31009         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
31010         option --no-cache. Use associative arrays when supported by the shell.
31011         (sed_comments): New variable.
31012         (modcache): Renamed from do_cache.
31013         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
31014         abbreviate unnecessarily.
31015         (have_associative): New variable.
31016         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
31017         way also for ksh and zsh.
31018         (func_init_sed_convert_to_cache_statements): New function, extracted
31019         from func_cache_lookup_module. Add support for associative arrays.
31020         Don't set the c_MODULE_cached variable here. Ignore all lines before
31021         the first field header. Remove only the final newline, not all trailing
31022         newlines. Support empty fields correctly. Limit the use of 'eval' to
31023         assignments.
31024         (func_get_description, func_get_status, func_get_notice,
31025         func_get_applicability, func_get_filelist, func_get_dependencies,
31026         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
31027         func_get_automake_snippet, func_get_include_directive,
31028         func_get_link_directive, func_get_license, func_get_maintainer):
31029         Update documentation. List the unoptimized code first. Add support for
31030         associative arrays. Limit the use of 'eval' to assignments.
31031         (func_get_applicability): Undo stylistic pessimisations.
31032         (func_get_automake_snippet, func_get_include_directive): Reduce code
31033         duplication.
31034         (func_modules_transitive_closure, func_modules_add_dummy,
31035         func_modules_notice, func_modules_to_filelist, func_add_file,
31036         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
31037         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
31038         func_create_testdir, func_create_megatestdir): Update documentation.
31039
31040 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31041
31042         * gnulib-tool (func_cache_lookup_module): Store the module name
31043         belonging to the cache variable; error out if two different
31044         module names map to the same cache variable name.
31045
31046 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31047
31048         gnulib-tool: Make caching optional.
31049         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
31050         Update matching short versions of --no-changelog.
31051         (func_usage): Update.
31052         (sed_extract_cache_prog): Renamed from ...
31053         (sed_extract_prog): ... this; revert to old extraction script.
31054         (func_get_description, func_get_status)
31055         (func_get_notice, func_get_applicability, func_get_filelist)
31056         (func_get_dependencies, func_get_autoconf_early_snippet)
31057         (func_get_autoconf_snippet, func_get_automake_snippet)
31058         (func_get_include_directive, func_get_link_directive)
31059         (func_get_license, func_get_maintainer): If $do_cache is false,
31060         use old, non-caching extraction scripts.
31061         Suggestion by Bruno Haible.
31062
31063 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31064
31065         gnulib-tool: cache module metainformation.
31066         * gnulib-tool (sed_extract_prog): Match newline before each
31067         header, and rewrite header to a shell variable suffix.
31068         (func_cache_var, func_cache_lookup_module): New functions,
31069         to turn a module name into a cache variable prefix, and to
31070         look up and cache module metainformation.
31071         (func_get_description, func_get_status)
31072         (func_get_notice, func_get_applicability, func_get_filelist)
31073         (func_get_dependencies, func_get_autoconf_early_snippet)
31074         (func_get_autoconf_snippet, func_get_automake_snippet)
31075         (func_get_include_directive, func_get_link_directive)
31076         (func_get_license, func_get_maintainer): Use
31077         func_cache_lookup_module.
31078
31079 2010-02-07  Bruno Haible  <bruno@clisp.org>
31080
31081         fnctl: Fix missing dependency.
31082         * modules/fcntl (Depends-on): Add getdtablesize.
31083         Reported by John W. Eaton <jwe@gnu.org>.
31084
31085 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
31086
31087         Argp: fix recognition of short alias options.
31088
31089         * lib/argp-parse.c (convert_options): Fix improper use of
31090         `|' between character values.
31091         * tests/test-argp.c (group1_option): New alias option
31092         --read (-r).
31093         (group1_parser): Special handling for 'r'.
31094         (test15): New test case.
31095         (test_fun): Add test15.
31096         * tests/test-argp-2.sh: Update expected --help and --usage
31097         outputs.
31098
31099 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
31100
31101         * tests/test-argp.c: Fix indentation.
31102
31103 2010-02-04  Eric Blake  <ebb9@byu.net>
31104
31105         gettimeofday: expose type of second argument
31106         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
31107         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
31108         * tests/test-gettimeofday.c: Use it to silence warning.
31109         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
31110         the issue.
31111
31112 2010-02-03  Jim Meyering  <meyering@redhat.com>
31113
31114         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
31115         * lib/regcomp.c (TYPE_SIGNED): Define.
31116         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
31117
31118         regcomp.c: avoid a new -Wshadow warning
31119         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
31120
31121 2010-02-01  Jim Meyering  <meyering@redhat.com>
31122
31123         removing useless parentheses in cpp #define directives
31124         For motivation, see commit c0221df4, "define STREQ(a,b)
31125         consistently, removing useless parentheses"
31126         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
31127         * lib/mountlist.c (MNT_IGNORE): Likewise.
31128         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
31129
31130 2010-02-01  Eric Blake  <ebb9@byu.net>
31131
31132         sys_time: use link-warning
31133         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
31134         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
31135         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
31136         * modules/sys_time (Depends-on): Add warn-on-use.
31137         (Makefile.am): Always build replacement.
31138         (configure.ac): Update substitutions.
31139         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
31140         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
31141         bother with SYS_TIME_H.
31142         * modules/gettimeofday (configure.ac): Declare indicator.
31143         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
31144         in use.
31145
31146         closein-tests: silence compiler warning
31147         * tests/test-closein.c (main): Ignore fread result.
31148         * modules/closein-tests (Depends-on): Add ignore-value.
31149
31150         tests: silence warning about system return
31151         * tests/test-areadlink-with-size.c (main): Ignore system result.
31152         * tests/test-areadlink.c (main): Likewise.
31153         * tests/test-areadlinkat-with-size.c (main): Likewise.
31154         * tests/test-areadlinkat.c (main): Likewise.
31155         * tests/test-canonicalize-lgpl.c (main): Likewise.
31156         * tests/test-canonicalize.c (main): Likewise.
31157         * tests/test-chown.c (main): Likewise.
31158         * tests/test-fchownat.c (main): Likewise.
31159         * tests/test-fdutimensat.c (main): Likewise.
31160         * tests/test-fstatat.c (main): Likewise.
31161         * tests/test-futimens.c (main): Likewise.
31162         * tests/test-lchown.c (main): Likewise.
31163         * tests/test-link.c (main): Likewise.
31164         * tests/test-linkat.c (main): Likewise.
31165         * tests/test-lstat.c (main): Likewise.
31166         * tests/test-mkdir.c (main): Likewise.
31167         * tests/test-mkdirat.c (main): Likewise.
31168         * tests/test-mkfifo.c (main): Likewise.
31169         * tests/test-mkfifoat.c (main): Likewise.
31170         * tests/test-mknod.c (main): Likewise.
31171         * tests/test-readlink.c (main): Likewise.
31172         * tests/test-remove.c (main): Likewise.
31173         * tests/test-rename.c (main): Likewise.
31174         * tests/test-renameat.c (main): Likewise.
31175         * tests/test-rmdir.c (main): Likewise.
31176         * tests/test-symlink.c (main): Likewise.
31177         * tests/test-symlinkat.c (main): Likewise.
31178         * tests/test-unlink.c (main): Likewise.
31179         * tests/test-unlinkat.c (main): Likewise.
31180         * tests/test-utimens.c (main): Likewise.
31181         * tests/test-utimensat.c (main): Likewise.
31182         * modules/areadlink-tests (Depends-on): Add ignore-value.
31183         * modules/areadlink-with-size-tests (Depends-on): Likewise.
31184         * modules/areadlinkat-tests (Depends-on): Likewise.
31185         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
31186         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
31187         * modules/canonicalize-tests (Depends-on): Likewise.
31188         * modules/chown-tests (Depends-on): Likewise.
31189         * modules/fdutimensat-tests (Depends-on): Likewise.
31190         * modules/futimens-tests (Depends-on): Likewise.
31191         * modules/lchown-tests (Depends-on): Likewise.
31192         * modules/link-tests (Depends-on): Likewise.
31193         * modules/linkat-tests (Depends-on): Likewise.
31194         * modules/lstat-tests (Depends-on): Likewise.
31195         * modules/mkdir-tests (Depends-on): Likewise.
31196         * modules/mkfifo-tests (Depends-on): Likewise.
31197         * modules/mkfifoat-tests (Depends-on): Likewise.
31198         * modules/mknod-tests (Depends-on): Likewise.
31199         * modules/openat-tests (Depends-on): Likewise.
31200         * modules/readlink-tests (Depends-on): Likewise.
31201         * modules/remove-tests (Depends-on): Likewise.
31202         * modules/rename-tests (Depends-on): Likewise.
31203         * modules/renameat-tests (Depends-on): Likewise.
31204         * modules/rmdir-tests (Depends-on): Likewise.
31205         * modules/symlink-tests (Depends-on): Likewise.
31206         * modules/symlinkat-tests (Depends-on): Likewise.
31207         * modules/unlink-tests (Depends-on): Likewise.
31208         * modules/utimens-tests (Depends-on): Likewise.
31209         * modules/utimensat-tests (Depends-on): Likewise.
31210
31211 2010-01-31  Bruno Haible  <bruno@clisp.org>
31212
31213         Perform the same test for many <math.h> functions.
31214         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
31215         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
31216         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
31217         of gl_MATHFUNC.
31218         * modules/acos (configure.ac): Likewise.
31219         * modules/asin (configure.ac): Likewise.
31220         * modules/atan (configure.ac): Likewise.
31221         * modules/atan2 (configure.ac): Likewise.
31222         * modules/cbrt (configure.ac): Likewise.
31223         * modules/copysign (configure.ac): Likewise.
31224         * modules/cos (configure.ac): Likewise.
31225         * modules/cosh (configure.ac): Likewise.
31226         * modules/erf (configure.ac): Likewise.
31227         * modules/erfc (configure.ac): Likewise.
31228         * modules/exp (configure.ac): Likewise.
31229         * modules/fmod (configure.ac): Likewise.
31230         * modules/hypot (configure.ac): Likewise.
31231         * modules/j0 (configure.ac): Likewise.
31232         * modules/j1 (configure.ac): Likewise.
31233         * modules/jn (configure.ac): Likewise.
31234         * modules/lgamma (configure.ac): Likewise.
31235         * modules/log (configure.ac): Likewise.
31236         * modules/log10 (configure.ac): Likewise.
31237         * modules/log1p (configure.ac): Likewise.
31238         * modules/pow (configure.ac): Likewise.
31239         * modules/remainder (configure.ac): Likewise.
31240         * modules/sin (configure.ac): Likewise.
31241         * modules/sinh (configure.ac): Likewise.
31242         * modules/tan (configure.ac): Likewise.
31243         * modules/tanh (configure.ac): Likewise.
31244         * modules/y0 (configure.ac): Likewise.
31245         * modules/y1 (configure.ac): Likewise.
31246         * modules/yn (configure.ac): Likewise.
31247         Suggested by Paolo Bonzini.
31248
31249 2010-01-31  Bruno Haible  <bruno@clisp.org>
31250
31251         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
31252
31253 2010-01-31  Bruno Haible  <bruno@clisp.org>
31254
31255         Work around getdelim() bug on FreeBSD 8.0.
31256         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
31257         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
31258         not work.
31259         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
31260         is 1.
31261         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
31262         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
31263         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
31264         a non-zero size.
31265         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
31266
31267 2010-01-31  Bruno Haible  <bruno@clisp.org>
31268
31269         Work around getline() bug on FreeBSD 8.0.
31270         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
31271         and a non-zero size.
31272         * tests/test-getline.c (main): Likewise.
31273         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
31274         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
31275
31276 2010-01-28  Eric Blake  <ebb9@byu.net>
31277
31278         regex: fix build failure
31279         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
31280         platforms.
31281
31282 2010-01-28  Jim Meyering  <meyering@redhat.com>
31283
31284         regex: do not ignore memory allocation failure
31285         * lib/regex_internal.c (create_cd_newstate): Detect
31286         re_node_set_init_copy failure.   Extracted from glibc commit
31287         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
31288
31289         regex: sync more white-space changes from libc
31290         * lib/regex_internal.c: White-space only changes.
31291         * lib/regexec.c: Likewise.
31292
31293         regex: add many uses of __attribute_warn_unused_result__
31294         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
31295         * lib/regexec.c: Likewise.
31296         Extracted from a messy glibc commit.
31297
31298         regcomp.c: spelling and merge-artifact from glibc
31299         * lib/regcomp.c: Merge remainder of glibc's
31300         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
31301
31302         regcomp.c: sync white-space changes from glibc
31303         * lib/regcomp.c: Merge to accommodate white space
31304         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
31305
31306         regcomp.c: do not ignore internal return values
31307         * lib/regcomp.c: Do not ignore internal return values.
31308         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
31309         but without its white-space changes and spelling fixes.
31310
31311         regex_internal.h: define __attribute_warn_unused_result__
31312         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
31313
31314         maint: add a syntax-check rule to check for vulnerable Makefile.in
31315         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
31316
31317 2010-01-27  Jim Meyering  <meyering@redhat.com>
31318
31319         ncftpput-ftp: clean up spaces
31320         * build-aux/ncftpput-ftp: Make Copyright line consistent.
31321         Remove trailing blanks.
31322
31323 2010-01-27  Simon Josefsson  <simon@josefsson.org>
31324
31325         * build-aux/git-version-gen: Fix copyright statement.
31326         * build-aux/gnupload: Likewise.
31327         * tests/test-arcfour.c: Likewise.
31328         * tests/test-arctwo.c: Likewise.
31329         * tests/test-count-one-bits.c: Likewise.
31330         * tests/test-crc.c: Likewise.
31331         * tests/test-des.c: Likewise.
31332         * tests/test-gc-arcfour.c: Likewise.
31333         * tests/test-gc-arctwo.c: Likewise.
31334         * tests/test-gc-des.c: Likewise.
31335         * tests/test-gc-hmac-md5.c: Likewise.
31336         * tests/test-gc-hmac-sha1.c: Likewise.
31337         * tests/test-gc-md2.c: Likewise.
31338         * tests/test-gc-md4.c: Likewise.
31339         * tests/test-gc-md5.c: Likewise.
31340         * tests/test-gc-pbkdf2-sha1.c: Likewise.
31341         * tests/test-gc-rijndael.c: Likewise.
31342         * tests/test-gc-sha1.c: Likewise.
31343         * tests/test-gc.c: Likewise.
31344         * tests/test-gethostname.c: Likewise.
31345         * tests/test-gettimeofday.c: Likewise.
31346         * tests/test-hash.c: Likewise.
31347         * tests/test-hmac-md5.c: Likewise.
31348         * tests/test-hmac-sha1.c: Likewise.
31349         * tests/test-md2.c: Likewise.
31350         * tests/test-md4.c: Likewise.
31351         * tests/test-md5.c: Likewise.
31352         * tests/test-memchr.c: Likewise.
31353         * tests/test-memchr2.c: Likewise.
31354         * tests/test-memcmp.c: Likewise.
31355         * tests/test-memmem.c: Likewise.
31356         * tests/test-memrchr.c: Likewise.
31357         * tests/test-rawmemchr.c: Likewise.
31358         * tests/test-read-file.c: Likewise.
31359         * tests/test-rijndael.c: Likewise.
31360         * tests/test-sockets.c: Likewise.
31361         * tests/test-strchrnul.c: Likewise.
31362         * tests/test-strstr.c: Likewise.
31363         * tests/test-strtod.c: Likewise.
31364         * build-aux/ncftpput-ftp: Likewise.
31365
31366 2010-01-26  Eric Blake  <ebb9@byu.net>
31367
31368         ignore-value: update recommended header name
31369         * modules/ignore-value (Include): Only use <> for headers that
31370         exist in glibc.
31371
31372 2010-01-26  Jim Meyering  <meyering@redhat.com>
31373
31374         test-userspec.c: avoid compiler warnings
31375         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
31376         and "initialization discards qualifiers..." warnings.
31377         Put the first "uid" in its own scope, and make char* members "const".
31378
31379 2010-01-25  Bruno Haible  <bruno@clisp.org>
31380
31381         gnulib-tool: Make warning diagnostics consistent.
31382         * gnulib-tool (func_warning): New function.
31383         Use it everywhere where gnulib-tool produces output to stderr and it is
31384         not a fatal error.
31385
31386 2010-01-25  Bruno Haible  <bruno@clisp.org>
31387
31388         Fix test dependencies.
31389         * modules/xstrtol-tests (Depends-on): Add inttypes.
31390         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
31391
31392 2010-01-25 Pádraig Brady <P@draigBrady.com>
31393
31394         syntax-check: detect incorrect boolean macro values in config.h
31395         * modules/maintainer-makefile (configure.ac): Parameterize the location
31396         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
31397         The logic is from Eric Blake and the location indicated by Jim Meyering.
31398         Note the more natural CONFIG_HEADER name is prohibited by automake
31399         for backwards compatibility reasons.
31400         * top/maint.mk (sc_Wundef_boolean): New rule.
31401
31402 2010-01-25  Jim Meyering  <meyering@redhat.com>
31403
31404         bootstrap: detect MacOS 10.6's shasum, too
31405         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
31406         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
31407
31408 2010-01-23  Jim Meyering  <meyering@redhat.com>
31409
31410         xstrtoll: new module
31411         * modules/xstrtoll: New file.
31412         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
31413         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
31414         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
31415         ./configure fails if you use this module and lack "long long".
31416         * modules/xstrtoll-tests: New module.
31417         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
31418         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
31419         new init.sh-based test framework.
31420
31421 2010-01-24  Bruno Haible  <bruno@clisp.org>
31422
31423         Tests for module 'yn'.
31424         * modules/yn-tests: New file.
31425         * tests/test-yn.c: New file.
31426
31427         Tests for module 'y1'.
31428         * modules/y1-tests: New file.
31429         * tests/test-y1.c: New file.
31430
31431         Tests for module 'y0'.
31432         * modules/y0-tests: New file.
31433         * tests/test-y0.c: New file.
31434
31435         Tests for module 'tanh'.
31436         * modules/tanh-tests: New file.
31437         * tests/test-tanh.c: New file.
31438
31439         Tests for module 'tan'.
31440         * modules/tan-tests: New file.
31441         * tests/test-tan.c: New file.
31442
31443         Tests for module 'sqrt'.
31444         * modules/sqrt-tests: New file.
31445         * tests/test-sqrt.c: New file.
31446
31447         Tests for module 'sinh'.
31448         * modules/sinh-tests: New file.
31449         * tests/test-sinh.c: New file.
31450
31451         Tests for module 'sin'.
31452         * modules/sin-tests: New file.
31453         * tests/test-sin.c: New file.
31454
31455         Tests for module 'rint'.
31456         * modules/rint-tests: New file.
31457         * tests/test-rint.c: New file.
31458
31459         Tests for module 'remainder'.
31460         * modules/remainder-tests: New file.
31461         * tests/test-remainder.c: New file.
31462
31463         Tests for module 'pow'.
31464         * modules/pow-tests: New file.
31465         * tests/test-pow.c: New file.
31466
31467         Tests for module 'nextafter'.
31468         * modules/nextafter-tests: New file.
31469         * tests/test-nextafter.c: New file.
31470
31471         Tests for module 'modf'.
31472         * modules/modf-tests: New file.
31473         * tests/test-modf.c: New file.
31474
31475         Tests for module 'logb'.
31476         * modules/logb-tests: New file.
31477         * tests/test-logb.c: New file.
31478
31479         Tests for module 'log1p'.
31480         * modules/log1p-tests: New file.
31481         * tests/test-log1p.c: New file.
31482
31483         Tests for module 'log10'.
31484         * modules/log10-tests: New file.
31485         * tests/test-log10.c: New file.
31486
31487         Tests for module 'log'.
31488         * modules/log-tests: New file.
31489         * tests/test-log.c: New file.
31490
31491         Tests for module 'lgamma'.
31492         * modules/lgamma-tests: New file.
31493         * tests/test-lgamma.c: New file.
31494
31495         Tests for module 'ldexp'.
31496         * modules/ldexp-tests: New file.
31497         * tests/test-ldexp.c: New file.
31498
31499         Tests for module 'jn'.
31500         * modules/jn-tests: New file.
31501         * tests/test-jn.c: New file.
31502
31503         Tests for module 'j1'.
31504         * modules/j1-tests: New file.
31505         * tests/test-j1.c: New file.
31506
31507         Tests for module 'j0'.
31508         * modules/j0-tests: New file.
31509         * tests/test-j0.c: New file.
31510
31511         Tests for module 'hypot'.
31512         * modules/hypot-tests: New file.
31513         * tests/test-hypot.c: New file.
31514
31515         Tests for module 'fmod'.
31516         * modules/fmod-tests: New file.
31517         * tests/test-fmod.c: New file.
31518
31519         Tests for module 'fabs'.
31520         * modules/fabs-tests: New file.
31521         * tests/test-fabs.c: New file.
31522
31523         Tests for module 'exp'.
31524         * modules/exp-tests: New file.
31525         * tests/test-exp.c: New file.
31526
31527         Tests for module 'erfc'.
31528         * modules/erfc-tests: New file.
31529         * tests/test-erfc.c: New file.
31530
31531         Tests for module 'erf'.
31532         * modules/erf-tests: New file.
31533         * tests/test-erf.c: New file.
31534
31535         Tests for module 'cosh'.
31536         * modules/cosh-tests: New file.
31537         * tests/test-cosh.c: New file.
31538
31539         Tests for module 'cos'.
31540         * modules/cos-tests: New file.
31541         * tests/test-cos.c: New file.
31542
31543         Tests for module 'copysign'.
31544         * modules/copysign-tests: New file.
31545         * tests/test-copysign.c: New file.
31546
31547         Tests for module 'cbrt'.
31548         * modules/cbrt-tests: New file.
31549         * tests/test-cbrt.c: New file.
31550
31551         Tests for module 'atan2'.
31552         * modules/atan2-tests: New file.
31553         * tests/test-atan2.c: New file.
31554
31555         Tests for module 'atan'.
31556         * modules/atan-tests: New file.
31557         * tests/test-atan.c: New file.
31558
31559         Tests for module 'asin'.
31560         * modules/asin-tests: New file.
31561         * tests/test-asin.c: New file.
31562
31563         Tests for module 'acos'.
31564         * modules/acos-tests: New file.
31565         * tests/test-acos.c: New file.
31566
31567 2010-01-24  Bruno Haible  <bruno@clisp.org>
31568
31569         Fix tests for common <math.h> functions.
31570         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
31571         code snippet that references the function pointer, rather than merely
31572         calling the function. Substitute the FUNC_LIBM variable.
31573         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
31574         * modules/acos (configure.ac): Likewise.
31575         * modules/asin (configure.ac): Likewise.
31576         * modules/atan (configure.ac): Likewise.
31577         * modules/atan2 (configure.ac): Likewise.
31578         * modules/cbrt (configure.ac): Likewise.
31579         * modules/copysign (configure.ac): Likewise.
31580         * modules/cos (configure.ac): Likewise.
31581         * modules/cosh (configure.ac): Likewise.
31582         * modules/erf (configure.ac): Likewise.
31583         * modules/erfc (configure.ac): Likewise.
31584         * modules/exp (configure.ac): Likewise.
31585         * modules/fabs (configure.ac): Likewise.
31586         * modules/fmod (configure.ac): Likewise.
31587         * modules/hypot (configure.ac): Likewise.
31588         * modules/j0 (configure.ac): Likewise.
31589         * modules/j1 (configure.ac): Likewise.
31590         * modules/jn (configure.ac): Likewise.
31591         * modules/ldexp (configure.ac): Likewise.
31592         * modules/lgamma (configure.ac): Likewise.
31593         * modules/log (configure.ac): Likewise.
31594         * modules/log10 (configure.ac): Likewise.
31595         * modules/log1p (configure.ac): Likewise.
31596         * modules/logb (configure.ac): Likewise.
31597         * modules/modf (configure.ac): Likewise.
31598         * modules/nextafter (configure.ac): Likewise.
31599         * modules/pow (configure.ac): Likewise.
31600         * modules/remainder (configure.ac): Likewise.
31601         * modules/rint (configure.ac): Likewise.
31602         * modules/sin (configure.ac): Likewise.
31603         * modules/sinh (configure.ac): Likewise.
31604         * modules/tan (configure.ac): Likewise.
31605         * modules/tanh (configure.ac): Likewise.
31606         * modules/y0 (configure.ac): Likewise.
31607         * modules/y1 (configure.ac): Likewise.
31608         * modules/yn (configure.ac): Likewise.
31609
31610 2010-01-24  Bruno Haible  <bruno@clisp.org>
31611
31612         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
31613         * tests/test-acosl.c (x): New variable.
31614         (main): Store argument in x and fetch it from x.
31615         * tests/test-asinl.c (x): New variable.
31616         (main): Store argument in x and fetch it from x.
31617         * tests/test-atanl.c (x): New variable.
31618         (main): Store argument in x and fetch it from x.
31619         * tests/test-cosl.c (x): New variable.
31620         (main): Store argument in x and fetch it from x.
31621         * tests/test-expl.c (x): New variable.
31622         (main): Store argument in x and fetch it from x.
31623         * tests/test-logl.c (x): New variable.
31624         (main): Store argument in x and fetch it from x.
31625         * tests/test-sinl.c (x): New variable.
31626         (main): Store argument in x and fetch it from x.
31627         * tests/test-sqrtl.c (x): New variable.
31628         (main): Store argument in x and fetch it from x.
31629         * tests/test-tanl.c (x): New variable.
31630         (main): Store argument in x and fetch it from x.
31631
31632 2010-01-24  Bruno Haible  <bruno@clisp.org>
31633
31634         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
31635         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
31636         assignments to the initial TESTS_ENVIRONMENT.
31637         * doc/gnulib.texi (Unit test modules): Document it.
31638         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
31639         TESTS_ENVIRONMENT.
31640         * modules/btowc-tests (Makefile.am): Likewise.
31641         * modules/c-stack-tests (Makefile.am): Likewise.
31642         * modules/c-strcase-tests (Makefile.am): Likewise.
31643         * modules/copy-file-tests (Makefile.am): Likewise.
31644         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
31645         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
31646         * modules/mbrtowc-tests (Makefile.am): Likewise.
31647         * modules/mbscasecmp-tests (Makefile.am): Likewise.
31648         * modules/mbscasestr-tests (Makefile.am): Likewise.
31649         * modules/mbschr-tests (Makefile.am): Likewise.
31650         * modules/mbscspn-tests (Makefile.am): Likewise.
31651         * modules/mbsinit-tests (Makefile.am): Likewise.
31652         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
31653         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
31654         * modules/mbspbrk-tests (Makefile.am): Likewise.
31655         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
31656         * modules/mbsrchr-tests (Makefile.am): Likewise.
31657         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
31658         * modules/mbsspn-tests (Makefile.am): Likewise.
31659         * modules/mbsstr-tests (Makefile.am): Likewise.
31660         * modules/nl_langinfo-tests (Makefile.am): Likewise.
31661         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
31662         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
31663         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
31664         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
31665         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
31666         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
31667         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
31668         * modules/wcrtomb-tests (Makefile.am): Likewise.
31669         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
31670         * modules/wcsrtombs-tests (Makefile.am): Likewise.
31671         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
31672         assignments from TESTS_ENVIRONMENT.
31673         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
31674         augmentation.
31675         * modules/argp-version-etc-tests (Makefile.am): Likewise.
31676         * modules/atexit-tests (Makefile.am): Likewise.
31677         * modules/binary-io-tests (Makefile.am): Likewise.
31678         * modules/closein-tests (Makefile.am): Likewise.
31679         * modules/dprintf-posix-tests (Makefile.am): Likewise.
31680         * modules/exclude-tests (Makefile.am): Likewise.
31681         * modules/fflush-tests (Makefile.am): Likewise.
31682         * modules/fpending-tests (Makefile.am): Likewise.
31683         * modules/fprintf-posix-tests (Makefile.am): Likewise.
31684         * modules/freadahead-tests (Makefile.am): Likewise.
31685         * modules/freadptr-tests (Makefile.am): Likewise.
31686         * modules/freadseek-tests (Makefile.am): Likewise.
31687         * modules/fseek-tests (Makefile.am): Likewise.
31688         * modules/fseeko-tests (Makefile.am): Likewise.
31689         * modules/ftell-tests (Makefile.am): Likewise.
31690         * modules/ftello-tests (Makefile.am): Likewise.
31691         * modules/idpriv-drop-tests (Makefile.am): Likewise.
31692         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
31693         * modules/lseek-tests (Makefile.am): Likewise.
31694         * modules/parse-duration-tests (Makefile.am): Likewise.
31695         * modules/perror-tests (Makefile.am): Likewise.
31696         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
31697         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
31698         * modules/pipe-tests (Makefile.am): Likewise.
31699         * modules/pread-tests (Makefile.am): Likewise.
31700         * modules/printf-posix-tests (Makefile.am): Likewise.
31701         * modules/select-tests (Makefile.am): Likewise.
31702         * modules/sigpipe-tests (Makefile.am): Likewise.
31703         * modules/tsearch-tests (Makefile.am): Likewise.
31704         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
31705         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
31706         * modules/uniname/uniname-tests (Makefile.am): Likewise.
31707         * modules/uniwidth/width-tests (Makefile.am): Likewise.
31708         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
31709         * modules/version-etc-tests (Makefile.am): Likewise.
31710         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
31711         * modules/vprintf-posix-tests (Makefile.am): Likewise.
31712         * modules/xalloc-die-tests (Makefile.am): Likewise.
31713         * modules/xprintf-posix-tests (Makefile.am): Likewise.
31714         * modules/xstrtoimax-tests (Makefile.am): Likewise.
31715         * modules/xstrtol-tests (Makefile.am): Likewise.
31716         * modules/xstrtoumax-tests (Makefile.am): Likewise.
31717         * modules/yesno-tests (Makefile.am): Likewise.
31718         Suggested by Jim Meyering.
31719
31720 2010-01-24  Bruno Haible  <bruno@clisp.org>
31721
31722         More documentation.
31723         * doc/gnulib.texi (Writing modules): New chapter.
31724         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
31725         the new chapter.
31726
31727 2010-01-24  Jim Meyering  <meyering@redhat.com>
31728
31729         maint.mk: do not prepend "./" after filtering
31730         * top/maint.mk (_prepend_srcdir_prefix): New variable
31731         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
31732         "./" when $(srcdir) is ".".
31733
31734         define STREQ(a,b) consistently, removing useless parentheses
31735         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
31736         since the only risk is that "a" or "b" contains an unparenthesized
31737         comma, but if either did that, STREQ would have 3 or more arguments.
31738         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
31739         * lib/fts.c (STREQ): Remove unnecessary parentheses.
31740         * lib/hash-triple.c (STREQ): Likewise.
31741         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
31742         * lib/getugroups.c (STREQ): Likewise.
31743
31744 2010-01-23  Jim Meyering  <meyering@redhat.com>
31745
31746         maint.mk: fix syntax-check in a non-srcdir build directory
31747         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
31748         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
31749
31750 2010-01-22  Jim Meyering  <meyering@redhat.com>
31751
31752         userspec: add unit tests
31753         * tests/test-userspec.c: New file.
31754         * modules/userspec-tests: Likewise.
31755
31756 2010-01-21  Jim Meyering  <meyering@redhat.com>
31757
31758         maint.mk: handle source file names containing "." robustly
31759         * top/maint.mk (_dot_escaped_srcdir): Define.
31760         (VC_LIST): Use it in LHS of sed substitution.
31761
31762 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
31763
31764         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
31765         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
31766         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
31767         from a non-srcdir build.
31768
31769 2010-01-20  Eric Blake  <ebb9@byu.net>
31770
31771         warn-on-use: use instead of link-warning
31772         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
31773         * modules/unistd (Depends-on, Makefile.am): Likewise.
31774         * modules/arpa_inet (Depends-on): Replace link-warning with
31775         warn-on-use.
31776         (Makefile.am): Update rules accordingly.
31777         * modules/ctype (Depends-on, Makefile.am): Likewise.
31778         * modules/dirent (Depends-on, Makefile.am): Likewise.
31779         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
31780         * modules/inttypes (Depends-on, Makefile.am): Likewise.
31781         * modules/langinfo (Depends-on, Makefile.am): Likewise.
31782         * modules/locale (Depends-on, Makefile.am): Likewise.
31783         * modules/math (Depends-on, Makefile.am): Likewise.
31784         * modules/search (Depends-on, Makefile.am): Likewise.
31785         * modules/signal (Depends-on, Makefile.am): Likewise.
31786         * modules/spawn (Depends-on, Makefile.am): Likewise.
31787         * modules/stdlib (Depends-on, Makefile.am): Likewise.
31788         * modules/string (Depends-on, Makefile.am): Likewise.
31789         * modules/strings (Depends-on, Makefile.am): Likewise.
31790         * modules/sys_file (Depends-on, Makefile.am): Likewise.
31791         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
31792         * modules/sys_select (Depends-on, Makefile.am): Likewise.
31793         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
31794         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
31795         * modules/sys_times (Depends-on, Makefile.am): Likewise.
31796         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
31797         * modules/wchar (Depends-on, Makefile.am): Likewise.
31798         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
31799         should be poisoned.
31800         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
31801         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
31802         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
31803         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
31804         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
31805         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
31806         * m4/math_h.m4 (gl_MATH_H): Likewise.
31807         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
31808         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
31809         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
31810         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
31811         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
31812         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
31813         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
31814         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
31815         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
31816         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
31817         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
31818         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
31819         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
31820         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
31821         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
31822         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
31823         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
31824         GL_LINK_WARNING.
31825         * lib/ctype.in.h: Likewise.
31826         * lib/dirent.in.h: Likewise.
31827         * lib/fcntl.in.h: Likewise.
31828         * lib/inttypes.in.h: Likewise.
31829         * lib/langinfo.in.h: Likewise.
31830         * lib/locale.in.h: Likewise.
31831         * lib/math.in.h: Likewise.
31832         * lib/search.in.h: Likewise.
31833         * lib/signal.in.h: Likewise.
31834         * lib/spawn.in.h: Likewise.
31835         * lib/stdio.in.h: Likewise.
31836         * lib/stdlib.in.h: Likewise.
31837         * lib/string.in.h: Likewise.
31838         * lib/strings.in.h: Likewise.
31839         * lib/sys_file.in.h: Likewise.
31840         * lib/sys_ioctl.in.h: Likewise.
31841         * lib/sys_select.in.h: Likewise.
31842         * lib/sys_socket.in.h: Likewise.
31843         * lib/sys_stat.in.h: Likewise.
31844         * lib/sys_times.in.h: Likewise.
31845         * lib/sys_utsname.in.h: Likewise.
31846         * lib/unistd.in.h: Likewise.
31847         * lib/wchar.in.h: Likewise.
31848
31849 2010-01-20  Bruno Haible  <bruno@clisp.org>
31850
31851         Avoid duplicate -lm.
31852         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
31853         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
31854         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
31855         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
31856         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
31857         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
31858         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
31859         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
31860         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
31861         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
31862         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
31863         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
31864         Reported by Paolo Bonzini.
31865
31866 2010-01-19  Bruno Haible  <bruno@clisp.org>
31867
31868         langinfo, nl_langinfo: Relicense under LGPLv2+.
31869         * modules/langinfo (License): Change to LGPLv2+.
31870         * modules/nl_langinfo (License): Likewise.
31871         Patch by David Lutterkort <lutter@redhat.com>.
31872
31873 2010-01-19  Bruno Haible  <bruno@clisp.org>
31874
31875         Avoid compilation error with cc on OSF/1 5.1.
31876         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
31877         statement, not before.
31878         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
31879
31880 2010-01-18  Bruno Haible  <bruno@clisp.org>
31881
31882         Avoid a link error due to the __printf__ symbol.
31883         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
31884         and 2.6.x.
31885         (__format__, __printf__): Remove definitions.
31886         * lib/argp-fmtstream.h: Likewise.
31887         * lib/argp.h: Likewise.
31888         * lib/error.h: Likewise.
31889         * lib/vasnprintf.h: Likewise.
31890         * lib/xprintf.h: Likewise.
31891         * lib/xvasprintf.h: Likewise.
31892         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
31893
31894 2010-01-18  Bruno Haible  <bruno@clisp.org>
31895
31896         Tests for module 'tanl'.
31897         * modules/tanl-tests: New file.
31898         * tests/test-tanl.c: New file.
31899
31900         Tests for module 'sqrtl'.
31901         * modules/sqrtl-tests: New file.
31902         * tests/test-sqrtl.c: New file.
31903
31904         Tests for module 'sinl'.
31905         * modules/sinl-tests: New file.
31906         * tests/test-sinl.c: New file.
31907
31908         Tests for module 'logl'.
31909         * modules/logl-tests: New file.
31910         * tests/test-logl.c: New file.
31911
31912         Tests for module 'expl'.
31913         * modules/expl-tests: New file.
31914         * tests/test-expl.c: New file.
31915
31916         Tests for module 'cosl'.
31917         * modules/cosl-tests: New file.
31918         * tests/test-cosl.c: New file.
31919
31920         Tests for module 'atanl'.
31921         * modules/atanl-tests: New file.
31922         * tests/test-atanl.c: New file.
31923
31924         Tests for module 'asinl'.
31925         * modules/asinl-tests: New file.
31926         * tests/test-asinl.c: New file.
31927
31928         Tests for module 'acosl'.
31929         * modules/acosl-tests: New file.
31930         * tests/test-acosl.c: New file.
31931
31932         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
31933         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
31934         tanl): Use the standard gnulib idiom.
31935         * lib/cosl.c: Don't include trigl.c and sincosl.c.
31936         * lib/sinl.c: Likewise.
31937         * lib/tanl.c: Don't include trigl.c.
31938         (kernel_tanl): Make static.
31939         * lib/sincosl.c: Include trigl.h first.
31940         * lib/trigl.c: Likewise.
31941         * m4/acosl.m4: New file.
31942         * m4/asinl.m4: New file.
31943         * m4/atanl.m4: New file.
31944         * m4/cosl.m4: New file.
31945         * m4/expl.m4: New file.
31946         * m4/logl.m4: New file.
31947         * m4/sinl.m4: New file.
31948         * m4/sqrtl.m4: New file.
31949         * m4/tanl.m4: New file.
31950         * m4/mathl.m4: Remove file.
31951         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
31952         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
31953         Don't initialize GNULIB_MATHL.
31954         * modules/acosl: New file.
31955         * modules/asinl: New file.
31956         * modules/atanl: New file.
31957         * modules/cosl: New file.
31958         * modules/expl: New file.
31959         * modules/logl: New file.
31960         * modules/sinl: New file.
31961         * modules/sqrtl: New file.
31962         * modules/tanl: New file.
31963         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
31964         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
31965         substitute GNULIB_MATHL.
31966         * modules/mathl: Rewritten.
31967         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
31968         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
31969         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
31970         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
31971         * doc/posix-functions/expl.texi: Mention the 'expl' module.
31972         * doc/posix-functions/logl.texi: Mention the 'logl' module.
31973         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
31974         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
31975         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
31976
31977 2010-01-18  Bruno Haible  <bruno@clisp.org>
31978
31979         sqrt: Make gl_FUNC_SQRT requirable.
31980         * m4/sqrt.m4: New file.
31981         * modules/sqrt (Files): Add it.
31982         (configure.ac): Invoke gl_FUNC_SQRT.
31983
31984 2010-01-18  Bruno Haible  <bruno@clisp.org>
31985
31986         New modules for common <math.h> functions.
31987         * m4/mathfunc.m4: New file.
31988         * modules/acos: New file.
31989         * modules/asin: New file.
31990         * modules/atan: New file.
31991         * modules/atan2: New file.
31992         * modules/cbrt: New file.
31993         * modules/copysign: New file.
31994         * modules/cos: New file.
31995         * modules/cosh: New file.
31996         * modules/erf: New file.
31997         * modules/erfc: New file.
31998         * modules/exp: New file.
31999         * modules/fabs: New file.
32000         * modules/fmod: New file.
32001         * modules/hypot: New file.
32002         * modules/j0: New file.
32003         * modules/j1: New file.
32004         * modules/jn: New file.
32005         * modules/ldexp: New file.
32006         * modules/lgamma: New file.
32007         * modules/log: New file.
32008         * modules/log10: New file.
32009         * modules/log1p: New file.
32010         * modules/logb: New file.
32011         * modules/modf: New file.
32012         * modules/nextafter: New file.
32013         * modules/pow: New file.
32014         * modules/remainder: New file.
32015         * modules/rint: New file.
32016         * modules/sin: New file.
32017         * modules/sinh: New file.
32018         * modules/sqrt: New file.
32019         * modules/tan: New file.
32020         * modules/tanh: New file.
32021         * modules/y0: New file.
32022         * modules/y1: New file.
32023         * modules/yn: New file.
32024         * doc/posix-functions/acos.texi: Mention the 'acos' module.
32025         * doc/posix-functions/asin.texi: Mention the 'asin' module.
32026         * doc/posix-functions/atan.texi: Mention the 'atan' module.
32027         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
32028         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
32029         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
32030         * doc/posix-functions/cos.texi: Mention the 'cos' module.
32031         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
32032         * doc/posix-functions/erf.texi: Mention the 'erf' module.
32033         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
32034         * doc/posix-functions/exp.texi: Mention the 'exp' module.
32035         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
32036         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
32037         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
32038         * doc/posix-functions/j0.texi: Mention the 'j0' module.
32039         * doc/posix-functions/j1.texi: Mention the 'j1' module.
32040         * doc/posix-functions/jn.texi: Mention the 'jn' module.
32041         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
32042         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
32043         * doc/posix-functions/log.texi: Mention the 'log' module.
32044         * doc/posix-functions/log10.texi: Mention the 'log10' module.
32045         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
32046         * doc/posix-functions/logb.texi: Mention the 'logb' module.
32047         * doc/posix-functions/modf.texi: Mention the 'modf' module.
32048         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
32049         * doc/posix-functions/pow.texi: Mention the 'pow' module.
32050         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
32051         * doc/posix-functions/rint.texi: Mention the 'rint' module.
32052         * doc/posix-functions/sin.texi: Mention the 'sin' module.
32053         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
32054         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
32055         * doc/posix-functions/tan.texi: Mention the 'tan' module.
32056         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
32057         * doc/posix-functions/y0.texi: Mention the 'y0' module.
32058         * doc/posix-functions/y1.texi: Mention the 'y1' module.
32059         * doc/posix-functions/yn.texi: Mention the 'yn' module.
32060
32061 2010-01-18  Jim Meyering  <meyering@redhat.com>
32062
32063         ignore-value: relax license to LGPLv2+
32064         * modules/ignore-value (License): Relax to LGPLv2+.
32065
32066         getdate: don't leak when TZ contains two or more '"'s
32067         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
32068         double quote in TZ after the first one.
32069
32070         readtokens: do not leak internal token_lengths buffer
32071         * lib/readtokens.c (readtokens): Free the local, lengths,
32072         when the supplied "token_lengths" parameter is NULL.
32073
32074 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32075
32076         Fix a couple of missing LIBTHREAD link failures on AIX.
32077         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
32078         $(LIBTHREAD).
32079         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
32080
32081         Link test-poll against INET_PTON_LIB.
32082         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
32083         for inet_pton on Solaris 10.
32084
32085 2010-01-17  Bruno Haible  <bruno@clisp.org>
32086
32087         unistdio/*-sprintf: Fix typo in module description.
32088         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
32089         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
32090         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
32091         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
32092         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
32093         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
32094         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
32095         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
32096
32097 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32098
32099         gnulib-tool: fix filelist for AIX, HP-UX ksh.
32100         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
32101         variables in shell case patterns, for AIX and HP-UX ksh.
32102
32103         Split large sed scripts, for HP-UX sed.
32104         * modules/stdio: Split sed scripts around 50 sed commands,
32105         to avoid HP-UX limit of 99 commands, in the near future.
32106         * modules/string: Likewise.
32107         * modules/unistd: Likewise.
32108
32109         gnulib-tool: avoid writing in the current directory.
32110         * gnulib-tool (func_emit_lib_Makefile_am)
32111         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
32112         not in the current directory, so concurrent gnulib-tool
32113         instances do not interfere.
32114
32115 2010-01-16  Jim Meyering  <meyering@redhat.com>
32116
32117         doc: update users.txt
32118         * users.txt: Add grep.
32119         (diffutils, gzip): Update URLs.
32120
32121 2010-01-12  Bruno Haible  <bruno@clisp.org>
32122
32123         posix_spawn: Avoid test failure on Cygwin.
32124         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
32125         characters.
32126         Reported by Simon Josefsson.
32127
32128 2010-01-12  Bruno Haible  <bruno@clisp.org>
32129
32130         * tests/test-cond.c (main): When skipping the test, show the reason.
32131
32132 2010-01-12  Simon Josefsson  <simon@josefsson.org>
32133
32134         * lib/striconv.c (str_cd_iconv): Avoid if before free.
32135
32136 2010-01-12  Simon Josefsson  <simon@josefsson.org>
32137
32138         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
32139         VC_LIST_ALWAYS_EXCLUDE_REGEX.
32140
32141 2010-01-12  Eric Blake  <ebb9@byu.net>
32142
32143         build: guarantee AS_VAR_IF
32144         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
32145         (gl_AS_VAR_IF): Move...
32146         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
32147         Reported by Simon Josefsson.
32148
32149 2010-01-12  Simon Josefsson  <simon@josefsson.org>
32150
32151         * lib/stdio.in.h: Fix typo.
32152
32153 2010-01-12  Simon Josefsson  <simon@josefsson.org>
32154
32155         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
32156         libgpg-error.
32157
32158 2010-01-12  Simon Josefsson  <simon@josefsson.org>
32159
32160         * tests/test-xalloc-die.sh: Use $EXEEXT.
32161
32162 2010-01-12  Simon Josefsson  <simon@josefsson.org>
32163             Bruno Haible  <bruno@clisp.org>
32164
32165         getlogin, getlogin_r: Avoid test failure.
32166         * tests/test-getlogin.c: Include <stdio.h>.
32167         (main): Skip the test when the function fails because stdin is not a
32168         tty.
32169         * tests/test-getlogin_r.c: Include <stdio.h>.
32170         (main): Skip the test when the function fails because stdin is not a
32171         tty.
32172
32173 2010-01-11  Eric Blake  <ebb9@byu.net>
32174
32175         tests: avoid more large file warnings
32176         * tests/test-fflush.c: Avoid warning about ftell use.
32177         * tests/test-fseek.c: Avoid warning about fseek use.
32178
32179 2010-01-10  Bruno Haible  <bruno@clisp.org>
32180
32181         nproc: Work better on Linux when /proc and /sys are not mounted.
32182         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
32183         as lower bound when, on glibc/Linux systems,
32184         sysconf (_SC_NPROCESSORS_CONF) returns 1.
32185         Suggested by Pádraig Brady <P@draigbrady.com>.
32186         Reported by Dmitry V. Levin <ldv@altlinux.org>.
32187
32188         nproc: Refactor.
32189         * lib/nproc.c (num_processors_via_affinity_mask): New function,
32190         extracted from num_processors.
32191         (num_processors): Call it.
32192
32193 2010-01-11  Jim Meyering  <meyering@redhat.com>
32194
32195         utimecmp: avoid new warning from upcoming gcc-4.5.0
32196         * lib/utimecmp.c (BILLION): Define using #define rather than an
32197         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
32198
32199 2010-01-11  Eric Blake  <ebb9@byu.net>
32200
32201         math: add portability warnings for classification macros
32202         * modules/math (Depends-on): Add warn-on-use.
32203         (Makefile.am): Provide new substitutions.
32204         * m4/math_h.m4 (gl_MATH_H): Require inline.
32205         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
32206         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
32207         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
32208         implement warnings.
32209
32210         unistd: warn on use of environ without module
32211         * modules/unistd (Depends-on): Add warn-on-use.
32212         (Makefile.am): Provide new substitutions.
32213         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
32214         * lib/unistd.in.h (environ): Wrap with a warning helper function.
32215
32216         stdio: warn on suspicious uses
32217         * modules/stdio (Depends-on): Add warn-on-use.
32218         (Makefile.am): Provide new substitutions.
32219         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
32220         fseeko.
32221         * lib/stdio.in.h (gets): Always warn on use.
32222         (fseek, ftell): Adjust when warnings are issued, and honor
32223         _GL_NO_LARGE_FILES as a way to silence the warning.
32224         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
32225         any warning about large file offsets.
32226         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
32227         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
32228         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
32229         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
32230         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
32231         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
32232         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
32233         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
32234
32235         warn-on-use: new module
32236         * modules/warn-on-use: New file.
32237         * build-aux/warn-on-use.h: Likewise.
32238         * m4/warn-on-use.m4: Likewise.
32239         * MODULES.html.sh (Support for building): Mention it.
32240
32241 2010-01-10  Bruno Haible  <bruno@clisp.org>
32242
32243         Tests for module 'unistr/u32-strdup'.
32244         * modules/unistr/u32-strdup-tests: New file.
32245         * tests/unistr/test-u32-strdup.c: New file.
32246
32247         Tests for module 'unistr/u16-strdup'.
32248         * modules/unistr/u16-strdup-tests: New file.
32249         * tests/unistr/test-u16-strdup.c: New file.
32250
32251         Tests for module 'unistr/u8-strdup'.
32252         * modules/unistr/u8-strdup-tests: New file.
32253         * tests/unistr/test-u8-strdup.c: New file.
32254         * tests/unistr/test-strdup.h: New file.
32255
32256         Tests for module 'unistr/u32-strncmp'.
32257         * modules/unistr/u32-strncmp-tests: New file.
32258         * tests/unistr/test-u32-strncmp.c: New file.
32259
32260         Tests for module 'unistr/u16-strncmp'.
32261         * modules/unistr/u16-strncmp-tests: New file.
32262         * tests/unistr/test-u16-strncmp.c: New file.
32263
32264         Tests for module 'unistr/u8-strncmp'.
32265         * modules/unistr/u8-strncmp-tests: New file.
32266         * tests/unistr/test-u8-strncmp.c: New file.
32267         * tests/unistr/test-strncmp.h: New file.
32268
32269         Tests for module 'unistr/u32-strcoll'.
32270         * modules/unistr/u32-strcoll-tests: New file.
32271         * tests/unistr/test-u32-strcoll.c: New file.
32272
32273         Tests for module 'unistr/u16-strcoll'.
32274         * modules/unistr/u16-strcoll-tests: New file.
32275         * tests/unistr/test-u16-strcoll.c: New file.
32276
32277         Tests for module 'unistr/u8-strcoll'.
32278         * modules/unistr/u8-strcoll-tests: New file.
32279         * tests/unistr/test-u8-strcoll.c: New file.
32280
32281         Tests for module 'unistr/u32-strcmp'.
32282         * modules/unistr/u32-strcmp-tests: New file.
32283         * tests/unistr/test-u32-strcmp.c: New file.
32284         * tests/unistr/test-u32-strcmp.h: New file.
32285
32286         Tests for module 'unistr/u16-strcmp'.
32287         * modules/unistr/u16-strcmp-tests: New file.
32288         * tests/unistr/test-u16-strcmp.c: New file.
32289         * tests/unistr/test-u16-strcmp.h: New file.
32290
32291         Tests for module 'unistr/u8-strcmp'.
32292         * modules/unistr/u8-strcmp-tests: New file.
32293         * tests/unistr/test-u8-strcmp.c: New file.
32294         * tests/unistr/test-u8-strcmp.h: New file.
32295         * tests/unistr/test-strcmp.h: New file.
32296
32297         Tests for module 'unistr/u32-strncat'.
32298         * modules/unistr/u32-strncat-tests: New file.
32299         * tests/unistr/test-u32-strncat.c: New file.
32300
32301         Tests for module 'unistr/u16-strncat'.
32302         * modules/unistr/u16-strncat-tests: New file.
32303         * tests/unistr/test-u16-strncat.c: New file.
32304
32305         Tests for module 'unistr/u8-strncat'.
32306         * modules/unistr/u8-strncat-tests: New file.
32307         * tests/unistr/test-u8-strncat.c: New file.
32308         * tests/unistr/test-strncat.h: New file.
32309
32310         Tests for module 'unistr/u32-strcat'.
32311         * modules/unistr/u32-strcat-tests: New file.
32312         * tests/unistr/test-u32-strcat.c: New file.
32313
32314         Tests for module 'unistr/u16-strcat'.
32315         * modules/unistr/u16-strcat-tests: New file.
32316         * tests/unistr/test-u16-strcat.c: New file.
32317
32318         Tests for module 'unistr/u8-strcat'.
32319         * modules/unistr/u8-strcat-tests: New file.
32320         * tests/unistr/test-u8-strcat.c: New file.
32321         * tests/unistr/test-strcat.h: New file.
32322
32323         Tests for module 'unistr/u32-stpncpy'.
32324         * modules/unistr/u32-stpncpy-tests: New file.
32325         * tests/unistr/test-u32-stpncpy.c: New file.
32326
32327         Tests for module 'unistr/u16-stpncpy'.
32328         * modules/unistr/u16-stpncpy-tests: New file.
32329         * tests/unistr/test-u16-stpncpy.c: New file.
32330
32331         Tests for module 'unistr/u8-stpncpy'.
32332         * modules/unistr/u8-stpncpy-tests: New file.
32333         * tests/unistr/test-u8-stpncpy.c: New file.
32334         * tests/unistr/test-stpncpy.h: New file.
32335
32336         Tests for module 'unistr/u32-strncpy'.
32337         * modules/unistr/u32-strncpy-tests: New file.
32338         * tests/unistr/test-u32-strncpy.c: New file.
32339
32340         Tests for module 'unistr/u16-strncpy'.
32341         * modules/unistr/u16-strncpy-tests: New file.
32342         * tests/unistr/test-u16-strncpy.c: New file.
32343
32344         Tests for module 'unistr/u8-strncpy'.
32345         * modules/unistr/u8-strncpy-tests: New file.
32346         * tests/unistr/test-u8-strncpy.c: New file.
32347         * tests/unistr/test-strncpy.h: New file.
32348
32349         Tests for module 'unistr/u32-stpcpy'.
32350         * modules/unistr/u32-stpcpy-tests: New file.
32351         * tests/unistr/test-u32-stpcpy.c: New file.
32352
32353         Tests for module 'unistr/u16-stpcpy'.
32354         * modules/unistr/u16-stpcpy-tests: New file.
32355         * tests/unistr/test-u16-stpcpy.c: New file.
32356
32357         Tests for module 'unistr/u8-stpcpy'.
32358         * modules/unistr/u8-stpcpy-tests: New file.
32359         * tests/unistr/test-u8-stpcpy.c: New file.
32360         * tests/unistr/test-stpcpy.h: New file.
32361
32362         Tests for module 'unistr/u32-strcpy'.
32363         * modules/unistr/u32-strcpy-tests: New file.
32364         * tests/unistr/test-u32-strcpy.c: New file.
32365
32366         Tests for module 'unistr/u16-strcpy'.
32367         * modules/unistr/u16-strcpy-tests: New file.
32368         * tests/unistr/test-u16-strcpy.c: New file.
32369
32370         Tests for module 'unistr/u8-strcpy'.
32371         * modules/unistr/u8-strcpy-tests: New file.
32372         * tests/unistr/test-u8-strcpy.c: New file.
32373         * tests/unistr/test-strcpy.h: New file.
32374
32375         Tests for module 'unistr/u32-strnlen'.
32376         * modules/unistr/u32-strnlen-tests: New file.
32377         * tests/unistr/test-u32-strnlen.c: New file.
32378
32379         Tests for module 'unistr/u16-strnlen'.
32380         * modules/unistr/u16-strnlen-tests: New file.
32381         * tests/unistr/test-u16-strnlen.c: New file.
32382
32383         Tests for module 'unistr/u8-strnlen'.
32384         * modules/unistr/u8-strnlen-tests: New file.
32385         * tests/unistr/test-u8-strnlen.c: New file.
32386         * tests/unistr/test-strnlen.h: New file.
32387
32388         Tests for module 'unistr/u32-strlen'.
32389         * modules/unistr/u32-strlen-tests: New file.
32390         * tests/unistr/test-u32-strlen.c: New file.
32391
32392         Tests for module 'unistr/u16-strlen'.
32393         * modules/unistr/u16-strlen-tests: New file.
32394         * tests/unistr/test-u16-strlen.c: New file.
32395
32396         Tests for module 'unistr/u8-strlen'.
32397         * modules/unistr/u8-strlen-tests: New file.
32398         * tests/unistr/test-u8-strlen.c: New file.
32399
32400         Tests for module 'unistr/u32-prev'.
32401         * modules/unistr/u32-prev-tests: New file.
32402         * tests/unistr/test-u32-prev.c: New file.
32403
32404         Tests for module 'unistr/u16-prev'.
32405         * modules/unistr/u16-prev-tests: New file.
32406         * tests/unistr/test-u16-prev.c: New file.
32407
32408         Tests for module 'unistr/u8-prev'.
32409         * modules/unistr/u8-prev-tests: New file.
32410         * tests/unistr/test-u8-prev.c: New file.
32411
32412         Tests for module 'unistr/u32-next'.
32413         * modules/unistr/u32-next-tests: New file.
32414         * tests/unistr/test-u32-next.c: New file.
32415
32416         Tests for module 'unistr/u16-next'.
32417         * modules/unistr/u16-next-tests: New file.
32418         * tests/unistr/test-u16-next.c: New file.
32419
32420         Tests for module 'unistr/u8-next'.
32421         * modules/unistr/u8-next-tests: New file.
32422         * tests/unistr/test-u8-next.c: New file.
32423
32424         Tests for module 'unistr/u32-strmbtouc'.
32425         * modules/unistr/u32-strmbtouc-tests: New file.
32426         * tests/unistr/test-u32-strmbtouc.c: New file.
32427
32428         Tests for module 'unistr/u16-strmbtouc'.
32429         * modules/unistr/u16-strmbtouc-tests: New file.
32430         * tests/unistr/test-u16-strmbtouc.c: New file.
32431
32432         Tests for module 'unistr/u8-strmbtouc'.
32433         * modules/unistr/u8-strmbtouc-tests: New file.
32434         * tests/unistr/test-u8-strmbtouc.c: New file.
32435
32436         Tests for module 'unistr/u32-strmblen'.
32437         * modules/unistr/u32-strmblen-tests: New file.
32438         * tests/unistr/test-u32-strmblen.c: New file.
32439
32440         Tests for module 'unistr/u16-strmblen'.
32441         * modules/unistr/u16-strmblen-tests: New file.
32442         * tests/unistr/test-u16-strmblen.c: New file.
32443
32444         Tests for module 'unistr/u8-strmblen'.
32445         * modules/unistr/u8-strmblen-tests: New file.
32446         * tests/unistr/test-u8-strmblen.c: New file.
32447
32448         Tests for module 'unistr/u32-cpy-alloc'.
32449         * modules/unistr/u32-cpy-alloc-tests: New file.
32450         * tests/unistr/test-u32-cpy-alloc.c: New file.
32451
32452         Tests for module 'unistr/u16-cpy-alloc'.
32453         * modules/unistr/u16-cpy-alloc-tests: New file.
32454         * tests/unistr/test-u16-cpy-alloc.c: New file.
32455
32456         Tests for module 'unistr/u8-cpy-alloc'.
32457         * modules/unistr/u8-cpy-alloc-tests: New file.
32458         * tests/unistr/test-u8-cpy-alloc.c: New file.
32459         * tests/unistr/test-cpy-alloc.h: New file.
32460
32461         Tests for module 'unistr/u32-mbsnlen'.
32462         * modules/unistr/u32-mbsnlen-tests: New file.
32463         * tests/unistr/test-u32-mbsnlen.c: New file.
32464
32465         Tests for module 'unistr/u16-mbsnlen'.
32466         * modules/unistr/u16-mbsnlen-tests: New file.
32467         * tests/unistr/test-u16-mbsnlen.c: New file.
32468
32469         Tests for module 'unistr/u8-mbsnlen'.
32470         * modules/unistr/u8-mbsnlen-tests: New file.
32471         * tests/unistr/test-u8-mbsnlen.c: New file.
32472
32473         Tests for module 'unistr/u32-chr'.
32474         * modules/unistr/u32-chr-tests: New file.
32475         * tests/unistr/test-u32-chr.c: New file.
32476
32477         Tests for module 'unistr/u16-chr'.
32478         * modules/unistr/u16-chr-tests: New file.
32479         * tests/unistr/test-u16-chr.c: New file.
32480
32481         Tests for module 'unistr/u8-chr'.
32482         * modules/unistr/u8-chr-tests: New file.
32483         * tests/unistr/test-u8-chr.c: New file.
32484         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
32485
32486         Tests for module 'unistr/u32-cmp2'.
32487         * modules/unistr/u32-cmp2-tests: New file.
32488         * tests/unistr/test-u32-cmp2.c: New file.
32489
32490         Tests for module 'unistr/u16-cmp2'.
32491         * modules/unistr/u16-cmp2-tests: New file.
32492         * tests/unistr/test-u16-cmp2.c: New file.
32493
32494         Tests for module 'unistr/u8-cmp2'.
32495         * modules/unistr/u8-cmp2-tests: New file.
32496         * tests/unistr/test-u8-cmp2.c: New file.
32497         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
32498
32499         Tests for module 'unistr/u32-cmp'.
32500         * modules/unistr/u32-cmp-tests: New file.
32501         * tests/unistr/test-u32-cmp.c: New file.
32502
32503         Tests for module 'unistr/u16-cmp'.
32504         * modules/unistr/u16-cmp-tests: New file.
32505         * tests/unistr/test-u16-cmp.c: New file.
32506
32507         Tests for module 'unistr/u8-cmp'.
32508         * modules/unistr/u8-cmp-tests: New file.
32509         * tests/unistr/test-u8-cmp.c: New file.
32510         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
32511
32512         Tests for module 'unistr/u32-set'.
32513         * modules/unistr/u32-set-tests: New file.
32514         * tests/unistr/test-u32-set.c: New file.
32515
32516         Tests for module 'unistr/u16-set'.
32517         * modules/unistr/u16-set-tests: New file.
32518         * tests/unistr/test-u16-set.c: New file.
32519
32520         Tests for module 'unistr/u8-set'.
32521         * modules/unistr/u8-set-tests: New file.
32522         * tests/unistr/test-u8-set.c: New file.
32523         * tests/unistr/test-set.h: New file.
32524
32525         Tests for module 'unistr/u32-move'.
32526         * modules/unistr/u32-move-tests: New file.
32527         * tests/unistr/test-u32-move.c: New file.
32528
32529         Tests for module 'unistr/u16-move'.
32530         * modules/unistr/u16-move-tests: New file.
32531         * tests/unistr/test-u16-move.c: New file.
32532
32533         Tests for module 'unistr/u8-move'.
32534         * modules/unistr/u8-move-tests: New file.
32535         * tests/unistr/test-u8-move.c: New file.
32536         * tests/unistr/test-move.h: New file.
32537
32538         Tests for module 'unistr/u32-cpy'.
32539         * modules/unistr/u32-cpy-tests: New file.
32540         * tests/unistr/test-u32-cpy.c: New file.
32541
32542         Tests for module 'unistr/u16-cpy'.
32543         * modules/unistr/u16-cpy-tests: New file.
32544         * tests/unistr/test-u16-cpy.c: New file.
32545
32546         Tests for module 'unistr/u8-cpy'.
32547         * modules/unistr/u8-cpy-tests: New file.
32548         * tests/unistr/test-u8-cpy.c: New file.
32549         * tests/unistr/test-cpy.h: New file.
32550
32551 2010-01-09  Bruno Haible  <bruno@clisp.org>
32552
32553         Tests for module 'unistr/u32-uctomb'.
32554         * modules/unistr/u32-uctomb-tests: New file.
32555         * tests/unistr/test-u32-uctomb.c: New file.
32556
32557         Tests for module 'unistr/u16-uctomb'.
32558         * modules/unistr/u16-uctomb-tests: New file.
32559         * tests/unistr/test-u16-uctomb.c: New file.
32560
32561         Tests for module 'unistr/u8-uctomb'.
32562         * modules/unistr/u8-uctomb-tests: New file.
32563         * tests/unistr/test-u8-uctomb.c: New file.
32564
32565         Tests for module 'unistr/u32-mbtoucr'.
32566         * modules/unistr/u32-mbtoucr-tests: New file.
32567         * tests/unistr/test-u32-mbtoucr.c: New file.
32568
32569         Tests for module 'unistr/u16-mbtoucr'.
32570         * modules/unistr/u16-mbtoucr-tests: New file.
32571         * tests/unistr/test-u16-mbtoucr.c: New file.
32572
32573         Tests for module 'unistr/u8-mbtoucr'.
32574         * modules/unistr/u8-mbtoucr-tests: New file.
32575         * tests/unistr/test-u8-mbtoucr.c: New file.
32576
32577         Tests for module 'unistr/u32-mbtouc'.
32578         * modules/unistr/u32-mbtouc-tests: New file.
32579         * tests/unistr/test-u32-mbtouc.c: New file.
32580
32581         Tests for module 'unistr/u16-mbtouc'.
32582         * modules/unistr/u16-mbtouc-tests: New file.
32583         * tests/unistr/test-u16-mbtouc.c: New file.
32584
32585         Tests for module 'unistr/u8-mbtouc'.
32586         * modules/unistr/u8-mbtouc-tests: New file.
32587         * tests/unistr/test-u8-mbtouc.c: New file.
32588
32589         Tests for module 'unistr/u32-mbtouc-unsafe'.
32590         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
32591         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
32592         * tests/unistr/test-u32-mbtouc.h: New file.
32593
32594         Tests for module 'unistr/u16-mbtouc-unsafe'.
32595         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
32596         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
32597         * tests/unistr/test-u16-mbtouc.h: New file.
32598
32599         Tests for module 'unistr/u8-mbtouc-unsafe'.
32600         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
32601         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
32602         * tests/unistr/test-u8-mbtouc.h: New file.
32603
32604         Tests for module 'unistr/u32-mblen'.
32605         * modules/unistr/u32-mblen-tests: New file.
32606         * tests/unistr/test-u32-mblen.c: New file.
32607
32608         Tests for module 'unistr/u16-mblen'.
32609         * modules/unistr/u16-mblen-tests: New file.
32610         * tests/unistr/test-u16-mblen.c: New file.
32611
32612         Tests for module 'unistr/u8-mblen'.
32613         * modules/unistr/u8-mblen-tests: New file.
32614         * tests/unistr/test-u8-mblen.c: New file.
32615
32616         Tests for module 'unistr/u32-to-u16'.
32617         * modules/unistr/u32-to-u16-tests: New file.
32618         * tests/unistr/test-u32-to-u16.c: New file.
32619
32620         Tests for module 'unistr/u32-to-u8'.
32621         * modules/unistr/u32-to-u8-tests: New file.
32622         * tests/unistr/test-u32-to-u8.c: New file.
32623
32624         Tests for module 'unistr/u16-to-u32'.
32625         * modules/unistr/u16-to-u32-tests: New file.
32626         * tests/unistr/test-u16-to-u32.c: New file.
32627
32628         Tests for module 'unistr/u16-to-u8'.
32629         * modules/unistr/u16-to-u8-tests: New file.
32630         * tests/unistr/test-u16-to-u8.c: New file.
32631
32632         Tests for module 'unistr/u8-to-u32'.
32633         * modules/unistr/u8-to-u32-tests: New file.
32634         * tests/unistr/test-u8-to-u32.c: New file.
32635
32636         Tests for module 'unistr/u8-to-u16'.
32637         * modules/unistr/u8-to-u16-tests: New file.
32638         * tests/unistr/test-u8-to-u16.c: New file.
32639
32640         Tests for module 'unistr/u32-check'.
32641         * modules/unistr/u32-check-tests: New file.
32642         * tests/unistr/test-u32-check.c: New file.
32643
32644         Tests for module 'unistr/u16-check'.
32645         * modules/unistr/u16-check-tests: New file.
32646         * tests/unistr/test-u16-check.c: New file.
32647
32648         Tests for module 'unistr/u8-check'.
32649         * modules/unistr/u8-check-tests: New file.
32650         * tests/unistr/test-u8-check.c: New file.
32651
32652         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
32653         (category_equals): New function.
32654         (main): Add more tests.
32655         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
32656
32657         * tests/unictype/test-bidi_byname.c (main): Add more tests.
32658
32659 2010-01-10  Bruno Haible  <bruno@clisp.org>
32660
32661         unistr/u*-strcoll: Try harder to distinguish different strings.
32662         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
32663         compare s1 and s2 to see if they are different.
32664
32665 2010-01-10  Bruno Haible  <bruno@clisp.org>
32666
32667         unistr/u*-stpncpy: Fix the return value.
32668         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
32669         description of the return value consistent with stpncpy in glibc.
32670         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
32671         written non-NUL unit.
32672
32673 2010-01-10  Bruno Haible  <bruno@clisp.org>
32674
32675         unistr/u*-next: Add missing dependencies.
32676         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
32677         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
32678         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
32679
32680 2010-01-10  Bruno Haible  <bruno@clisp.org>
32681
32682         unistr/u8-mbsnlen: Fix return value for incomplete character.
32683         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
32684         u8_mblen.
32685         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
32686         Remove unistr/u8-mblen.
32687         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
32688         u16_mblen.
32689         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
32690         Remove unistr/u16-mblen.
32691
32692 2010-01-10  Bruno Haible  <bruno@clisp.org>
32693
32694         wchar: Fix compilation error when <wchar.h> is used from coreutils.
32695         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
32696         Reported by Brian Gough <bjg@gnu.org> and
32697         Chris Clayton <chris2553@googlemail.com> via
32698         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
32699
32700 2010-01-09  Bruno Haible  <bruno@clisp.org>
32701
32702         unistr/u16-to-u32: Reject invalid input.
32703         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
32704         u16_mbtouc.
32705         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
32706         Remove unistr/u16-mbtouc.
32707
32708         unistr/u16-to-u8: Reject invalid input.
32709         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
32710         u16_mbtouc.
32711         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
32712         Remove unistr/u16-mbtouc.
32713
32714         unistr/u8-to-u32: Reject invalid input.
32715         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
32716         u8_mbtouc.
32717         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
32718         Remove unistr/u8-mbtouc.
32719
32720         unistr/u8-to-u16: Reject invalid input.
32721         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
32722         u8_mbtouc.
32723         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
32724         Remove unistr/u8-mbtouc.
32725
32726 2010-01-09  Bruno Haible  <bruno@clisp.org>
32727
32728         Tests for module 'getlogin'.
32729         * modules/getlogin-tests: New file.
32730         * tests/test-getlogin.c: New file.
32731
32732         New module 'getlogin'.
32733         * lib/unistd.in.h (getlogin): New declaration.
32734         * lib/getlogin.c: New file.
32735         * m4/getlogin.m4: New file.
32736         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
32737         HAVE_GETLOGIN.
32738         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
32739         HAVE_GETLOGIN.
32740         * modules/getlogin: New file.
32741         * doc/posix-functions/getlogin.texi: Mention the new module.
32742         Reported by John W. Eaton <jwe@gnu.org>.
32743
32744 2010-01-09  Bruno Haible  <bruno@clisp.org>
32745
32746         getlogin_r: Support for native Windows.
32747         * lib/getlogin_r.c: Include <windows.h>
32748         (getlogin_r): Implement for native Windows.
32749         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
32750         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
32751         via John W. Eaton <jwe@gnu.org>.
32752
32753 2010-01-09  Bruno Haible  <bruno@clisp.org>
32754
32755         getlogin_r: Small fixes.
32756         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
32757         succeeds.
32758         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
32759         before testing whether getlogin_r is declared. No need to set
32760         HAVE_DECL_GETLOGIN_R to 1.
32761         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
32762
32763 2010-01-09  Bruno Haible  <bruno@clisp.org>
32764
32765         * lib/unistd.in.h (getlogin_r): Add comment.
32766
32767 2010-01-09  Bruno Haible  <bruno@clisp.org>
32768
32769         Tests for module 'getlogin_r'.
32770         * modules/getlogin_r-tests: New file.
32771         * tests/test-getlogin_r.c: New file.
32772
32773 2010-01-09  Jim Meyering  <meyering@redhat.com>
32774
32775         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
32776         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
32777         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
32778
32779 2010-01-08  Simon Josefsson  <simon@josefsson.org>
32780
32781         * lib/dup2.c (rpl_dup2): Improve comment.
32782
32783 2010-01-08  Eric Blake  <ebb9@byu.net>
32784
32785         maint.mk: allow packages to add makefile @@ exceptions
32786         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
32787         (sc_makefile_check): Rename...
32788         (sc_makefile_at_at_check): ...to this, and use hook.
32789
32790         dup2: work around mingw bug
32791         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
32792         Reported by Simon Josefsson.
32793
32794 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
32795
32796         glob: Fix C++ compilation.
32797         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
32798         C++.
32799
32800 2010-01-07  Bruno Haible  <bruno@clisp.org>
32801
32802         Fix indentation of wctype.in.h, broken since 2007-01-06.
32803         * lib/wctype.in.h: Fix indentation of preprocessor directives.
32804
32805 2010-01-07  Bruno Haible  <bruno@clisp.org>
32806
32807         mbslen: Avoid collision with system function.
32808         * lib/string.in.h [MirBSD]: Include <wchar.h>.
32809         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
32810         * m4/mbslen.m4: New file.
32811         * modules/mbslen (Files): Add it.
32812         (configure.ac): Invoke gl_MBSLEN.
32813         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
32814         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
32815         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
32816         via Ian Beckwith <ianb@erislabs.net>.
32817
32818 2010-01-07  Bruno Haible  <bruno@clisp.org>
32819
32820         dirent: Document the last fix.
32821         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
32822
32823 2010-01-07  Bruno Haible  <bruno@clisp.org>
32824
32825         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
32826         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
32827         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
32828         va_list are defined.
32829         * doc/posix-headers/stdio.texi: Document the bug of missing types.
32830         Reported by Eric Blake.
32831
32832 2010-01-07  Bruno Haible  <bruno@clisp.org>
32833
32834         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
32835         * modules/xlist (Depends-on): Add 'list',
32836         * modules/xoset (Depends-on): Add 'oset'.
32837         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
32838
32839 2010-01-07  Bruno Haible  <bruno@clisp.org>
32840
32841         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
32842         * doc/posix-functions/strncasecmp.texi: Likewise.
32843
32844 2010-01-07  Bruno Haible  <bruno@clisp.org>
32845
32846         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
32847
32848 2010-01-07  John W. Eaton  <jwe@octave.org>
32849
32850         wctype: allow C++ use
32851         * lib/wctype.in.h: Add extern "C" block for C++.
32852
32853 2010-01-06  Eric Blake  <ebb9@byu.net>
32854
32855         maint.mk: detect incorrect GFDL usage
32856         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
32857
32858 2010-01-06  Jim Meyering  <meyering@redhat.com>
32859         and Eric Blake  <ebb9@byu.net>
32860
32861         maint.mk: ignore multi-line copyright in NEWS
32862         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
32863
32864 2010-01-06  Eric Blake  <ebb9@byu.net>
32865
32866         select: add missing dependency
32867         * modules/select-tests (Depends-on): Move sockets dependency...
32868         * modules/select (Depends-on): ...here.
32869         Reported by Ian Beckwith.
32870
32871         doc: regenerate INSTALL
32872         * doc/INSTALL: Reflect recent autoconf update.
32873         * doc/INSTALL.ISO: Likewise.
32874         * doc/INSTALL.UTF-8: Likewise.
32875
32876         pread: fix compilation on glibc
32877         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
32878         Reported by Ralf Wildenhues.
32879
32880         dirent: fix test failure
32881         * lib/dirent.in.h (includes): Guarantee ino_t.
32882         Reported by Ralf Wildenhues.
32883
32884 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
32885
32886         linkat, renameat: avoid bad free
32887         * lib/at-func2.c (at_func2): Fix typo.
32888         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
32889
32890 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32891
32892         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
32893         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
32894         to avoid failure of symlink test later.
32895
32896 2010-01-06  Eric Blake  <ebb9@byu.net>
32897
32898         stdio, unistd: guarantee ssize_t
32899         * lib/unistd.in.h (includes): Ensure that types required by POSIX
32900         2008 are exposed when needed.
32901         * lib/stdio.in.h (includes): Likewise.
32902         Reported by Ralf Wildenhues.
32903
32904 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
32905
32906         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
32907         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
32908         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
32909
32910 2010-01-06  Jim Meyering  <meyering@redhat.com>
32911
32912         readtokens: this module *does* require xalloc.h
32913         It uses only functions that were omitted by the old syntax-check rule.
32914         * lib/readtokens.c: Include "xalloc.h" once again.
32915         * modules/readtokens (Depends-on): Add xalloc.
32916         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
32917
32918 2010-01-05  Eric Blake  <ebb9@byu.net>
32919
32920         maint: support 'make announcement' from a VPATH build
32921         * top/maint.mk (announcement): Look for correct NEWS file.
32922
32923 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
32924
32925         utimens (fdutimens): ignore a negative FD, per contract
32926         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
32927         when we have a valid file descriptor.  Otherwise, using a brand
32928         new glibc (with just-patched futimens that now fails with EBADF)
32929         would cause this function to fail with ENOSYS.
32930         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
32931         See also http://bugzilla.redhat.com/552320.
32932
32933 2010-01-05  Eric Blake  <ebb9@byu.net>
32934
32935         strcase: document what it provides
32936         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
32937         gnulib module.
32938         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
32939         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
32940
32941 2010-01-05  Jim Meyering  <meyering@redhat.com>
32942
32943         maint: remove useless inclusions of "xalloc.h"
32944         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
32945         * lib/readtokens.c: Likewise.
32946         * lib/same.c: Likewise.
32947         * modules/getloadavg (Depends-on): Remove xalloc.
32948         * modules/readtokens: Likewise.
32949         * modules/same: Likewise.
32950
32951         maint.mk: include 4 more function names in alloca.h-checking regexp
32952         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
32953         regexp.  Before, we would give a false-positive (saying alloca.h
32954         is included unnecessarily) when the only uses involved omitted symbols.
32955
32956         xalloc.h: use consistent formatting
32957         * lib/xalloc.h: Move declarations to start in the first column.
32958
32959 2010-01-05  Eric Blake  <ebb9@byu.net>
32960
32961         mkdir: avoid xalloc
32962         * lib/mkdir.c (includes): Drop unused header.
32963         Reported by John W. Eaton.
32964
32965 2010-01-04  Jim Meyering  <meyering@redhat.com>
32966
32967         nl_langinfo: avoid configure-time syntax error
32968         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
32969         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
32970         the empty string.  Don't let that provoke a shell syntax error.
32971
32972         regcomp, regexec, fnmatch: avoid array bounds read error
32973         * lib/regcomp.c (build_equiv_class): From glibc:
32974         Use only the low 24 bits of a findidx return value as an index
32975         into the weights array.  Patch by Ulrich Drepper:
32976         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
32977         * lib/regexec.c (check_node_accept_bytes): Likewise.
32978         * lib/fnmatch_loop.c (FCT): Likewise.
32979
32980         regcomp: skip collseq lookup when there are no rules
32981         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
32982         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
32983
32984         regcomp: recognize ill-formed { } expressions
32985         * lib/regcomp.c (parse_dup_op): From glibc:
32986         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
32987
32988         regcomp: fix typo in comment
32989         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
32990         s/satisfy/satisfies/.
32991
32992         regcomp: sync from glibc: remove dead store
32993         * lib/regcomp.c (duplicate_node_closure): Remove useless
32994         search_duplicated_node call and dead store.
32995
32996         regcomp: sync from glibc; always use nl_langinfo
32997         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
32998         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
32999         * modules/regex (Depends-on): Add nl_langinfo.
33000
33001 2010-01-04  Eric Blake  <ebb9@byu.net>
33002
33003         fdopendir: fix configure test
33004         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
33005
33006 2010-01-01  Bruno Haible  <bruno@clisp.org>
33007
33008         wchar: Remove unused configure check.
33009         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
33010
33011 2010-01-01  Eric Blake  <ebb9@byu.net>
33012
33013         headers: make check of system header explicit
33014         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
33015         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
33016         ourselves.
33017         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
33018         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
33019         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
33020         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
33021         internals.
33022         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
33023         missing.
33024         Suggested by Bruno Haible.
33025
33026 2010-01-01  Jim Meyering  <meyering@redhat.com>
33027
33028         ChangeLog: tweak to eliminate unnecessary copyright line
33029         * ChangeLog: Remove a copyright line that was mistakenly updated
33030         by today's update-copyright run.  Reported by Eric Blake.
33031
33032         test-update-copyright: don't let envvar setting cause test failure
33033         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
33034
33035 2010-01-01  Bruno Haible  <bruno@clisp.org>
33036
33037         localename: Avoid gcc warning.
33038         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
33039         function if it is not used.
33040
33041 2010-01-01  Jim Meyering  <meyering@redhat.com>
33042
33043         update nearly all FSF copyright year lists to include 2010
33044         Use the same procedure as for 2009, outlined in
33045         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
33046
33047         version-etc: set COPYRIGHT_YEAR to 2010
33048         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
33049
33050 2009-12-31  Eric Blake  <ebb9@byu.net>
33051
33052         doc: correct availability of cygwin 1.5.x getopt
33053         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
33054         variables.
33055         * doc/posix-functions/opterr.texi (opterr): Likewise.
33056         * doc/posix-functions/optind.texi (optind): Likewise.
33057         * doc/posix-functions/optopt.texi (optopt): Likewise.
33058         * doc/posix-functions/tzname.texi (tzname): Likewise.
33059
33060         openat: update maintainer
33061         * modules/openat (Maintainer): Add myself.
33062
33063         utimens: avoid shadowing warning
33064         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
33065         buffers into one, to avoid shadowing, as well as avoiding a
33066         redundant stat.
33067         Reported by Jim Meyering.
33068
33069         test-dup2: avoid compiler warning
33070         * tests/test-dup2.c (is_inheritable): Only define if used.
33071
33072 2010-01-01  Bruno Haible  <bruno@clisp.org>
33073
33074         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
33075         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
33076         defined, use wctomb instead of wcrtomb.
33077
33078 2010-01-01  Bruno Haible  <bruno@clisp.org>
33079
33080         iconv: Reject native Solaris iconv.
33081         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
33082         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
33083
33084 2009-12-31  Bruno Haible  <bruno@clisp.org>
33085
33086         * tests/test-signal.c (main): Remove test of 'SIG'.
33087
33088 2009-12-31  Bruno Haible  <bruno@clisp.org>
33089
33090         spawn: Fix incomplete fix.
33091         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
33092         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
33093         warnings for GNULIB_POSIXCHECK again.
33094         Reported by Eric Blake.
33095
33096 2009-12-31  Bruno Haible  <bruno@clisp.org>
33097
33098         Avoid namespace pollution on glibc systems.
33099         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
33100         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
33101         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
33102         glibc systems.
33103
33104 2009-12-31  Bruno Haible  <bruno@clisp.org>
33105
33106         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
33107         (gl_REPLACE_WCHAR_H): Turn into a no-op.
33108         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
33109         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
33110         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
33111         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
33112         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
33113
33114 2009-12-31  Bruno Haible  <bruno@clisp.org>
33115
33116         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
33117         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
33118         afterwards.
33119
33120 2009-12-31  Bruno Haible  <bruno@clisp.org>
33121
33122         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
33123         SYS_UTSNAME_H.
33124
33125 2009-12-31  Bruno Haible  <bruno@clisp.org>
33126
33127         spawn: Fix misapplied patch.
33128         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
33129         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
33130         warnings for GNULIB_POSIXCHECK.
33131
33132 2009-12-31  Bruno Haible  <bruno@clisp.org>
33133
33134         times: Update after sys_times changed.
33135         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
33136         * modules/times (Files): Add it.
33137         (configure.ac): Invoke gl_FUNC_TIMES.
33138
33139 2009-12-31  Bruno Haible  <bruno@clisp.org>
33140
33141         Use AC_C_INLINE where necessary.
33142         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
33143         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
33144         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
33145         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
33146         * m4/mbfile.m4 (gl_MBFILE): Likewise.
33147         * m4/mbiter.m4 (gl_MBITER): Likewise.
33148         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
33149         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
33150         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
33151         * modules/u64 (configure.ac): Likewise.
33152
33153 2009-12-31  Bruno Haible  <bruno@clisp.org>
33154
33155         Use AC_C_INLINE instead of module 'inline' where possible.
33156         * modules/inline (Description): Clarify purpose.
33157         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
33158         * modules/count-one-bits (Depends-on): Remove inline.
33159         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
33160         * modules/openat (Depends-on): Remove inline.
33161         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
33162         instead of depending on module 'inline'.
33163         * modules/filevercmp (Depends-on, configure.ac): Likewise.
33164         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
33165         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
33166         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
33167         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
33168         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
33169         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
33170         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
33171         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
33172         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
33173         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
33174         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
33175         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
33176         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
33177         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
33178         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
33179         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
33180         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
33181         Likewise.
33182         * modules/unictype/property-ascii-hex-digit (Depends-on,
33183         configure.ac): Likewise.
33184         * modules/unictype/property-bidi-arabic-digit (Depends-on,
33185         configure.ac): Likewise.
33186         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
33187         configure.ac): Likewise.
33188         * modules/unictype/property-bidi-block-separator (Depends-on,
33189         configure.ac): Likewise.
33190         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
33191         configure.ac): Likewise.
33192         * modules/unictype/property-bidi-common-separator (Depends-on,
33193         configure.ac): Likewise.
33194         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
33195         Likewise.
33196         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
33197         configure.ac): Likewise.
33198         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
33199         configure.ac): Likewise.
33200         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
33201         configure.ac): Likewise.
33202         * modules/unictype/property-bidi-european-digit (Depends-on,
33203         configure.ac): Likewise.
33204         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
33205         configure.ac): Likewise.
33206         * modules/unictype/property-bidi-left-to-right (Depends-on,
33207         configure.ac): Likewise.
33208         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
33209         configure.ac): Likewise.
33210         * modules/unictype/property-bidi-other-neutral (Depends-on,
33211         configure.ac): Likewise.
33212         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
33213         Likewise.
33214         * modules/unictype/property-bidi-segment-separator (Depends-on,
33215         configure.ac): Likewise.
33216         * modules/unictype/property-bidi-whitespace (Depends-on,
33217         configure.ac): Likewise.
33218         * modules/unictype/property-combining (Depends-on, configure.ac):
33219         Likewise.
33220         * modules/unictype/property-composite (Depends-on, configure.ac):
33221         Likewise.
33222         * modules/unictype/property-currency-symbol (Depends-on,
33223         configure.ac): Likewise.
33224         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
33225         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
33226         Likewise.
33227         * modules/unictype/property-default-ignorable-code-point (Depends-on,
33228         configure.ac): Likewise.
33229         * modules/unictype/property-deprecated (Depends-on, configure.ac):
33230         Likewise.
33231         * modules/unictype/property-diacritic (Depends-on, configure.ac):
33232         Likewise.
33233         * modules/unictype/property-extender (Depends-on, configure.ac):
33234         Likewise.
33235         * modules/unictype/property-format-control (Depends-on, configure.ac):
33236         Likewise.
33237         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
33238         Likewise.
33239         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
33240         Likewise.
33241         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
33242         Likewise.
33243         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
33244         Likewise.
33245         * modules/unictype/property-hyphen (Depends-on, configure.ac):
33246         Likewise.
33247         * modules/unictype/property-id-continue (Depends-on, configure.ac):
33248         Likewise.
33249         * modules/unictype/property-id-start (Depends-on, configure.ac):
33250         Likewise.
33251         * modules/unictype/property-ideographic (Depends-on, configure.ac):
33252         Likewise.
33253         * modules/unictype/property-ids-binary-operator (Depends-on,
33254         configure.ac): Likewise.
33255         * modules/unictype/property-ids-trinary-operator (Depends-on,
33256         configure.ac): Likewise.
33257         * modules/unictype/property-ignorable-control (Depends-on,
33258         configure.ac): Likewise.
33259         * modules/unictype/property-iso-control (Depends-on, configure.ac):
33260         Likewise.
33261         * modules/unictype/property-join-control (Depends-on, configure.ac):
33262         Likewise.
33263         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
33264         Likewise.
33265         * modules/unictype/property-line-separator (Depends-on, configure.ac):
33266         Likewise.
33267         * modules/unictype/property-logical-order-exception (Depends-on,
33268         configure.ac): Likewise.
33269         * modules/unictype/property-lowercase (Depends-on, configure.ac):
33270         Likewise.
33271         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
33272         * modules/unictype/property-non-break (Depends-on, configure.ac):
33273         Likewise.
33274         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
33275         Likewise.
33276         * modules/unictype/property-numeric (Depends-on, configure.ac):
33277         Likewise.
33278         * modules/unictype/property-other-alphabetic (Depends-on,
33279         configure.ac): Likewise.
33280         * modules/unictype/property-other-default-ignorable-code-point
33281         (Depends-on, configure.ac): Likewise.
33282         * modules/unictype/property-other-grapheme-extend (Depends-on,
33283         configure.ac): Likewise.
33284         * modules/unictype/property-other-id-continue (Depends-on,
33285         configure.ac): Likewise.
33286         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
33287         Likewise.
33288         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
33289         Likewise.
33290         * modules/unictype/property-other-math (Depends-on, configure.ac):
33291         Likewise.
33292         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
33293         Likewise.
33294         * modules/unictype/property-paired-punctuation (Depends-on,
33295         configure.ac): Likewise.
33296         * modules/unictype/property-paragraph-separator (Depends-on,
33297         configure.ac): Likewise.
33298         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
33299         Likewise.
33300         * modules/unictype/property-pattern-white-space (Depends-on,
33301         configure.ac): Likewise.
33302         * modules/unictype/property-private-use (Depends-on, configure.ac):
33303         Likewise.
33304         * modules/unictype/property-punctuation (Depends-on, configure.ac):
33305         Likewise.
33306         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
33307         Likewise.
33308         * modules/unictype/property-radical (Depends-on, configure.ac):
33309         Likewise.
33310         * modules/unictype/property-sentence-terminal (Depends-on,
33311         configure.ac): Likewise.
33312         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
33313         Likewise.
33314         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
33315         * modules/unictype/property-terminal-punctuation (Depends-on,
33316         configure.ac): Likewise.
33317         * modules/unictype/property-titlecase (Depends-on, configure.ac):
33318         Likewise.
33319         * modules/unictype/property-unassigned-code-value (Depends-on,
33320         configure.ac): Likewise.
33321         * modules/unictype/property-unified-ideograph (Depends-on,
33322         configure.ac): Likewise.
33323         * modules/unictype/property-uppercase (Depends-on, configure.ac):
33324         Likewise.
33325         * modules/unictype/property-variation-selector (Depends-on,
33326         configure.ac): Likewise.
33327         * modules/unictype/property-white-space (Depends-on, configure.ac):
33328         Likewise.
33329         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
33330         Likewise.
33331         * modules/unictype/property-xid-start (Depends-on, configure.ac):
33332         Likewise.
33333         * modules/unictype/property-zero-width (Depends-on, configure.ac):
33334         Likewise.
33335         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
33336         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
33337         Likewise.
33338
33339 2009-12-31  Bruno Haible  <bruno@clisp.org>
33340
33341         Remove unnecessary AC_C_INLINE invocation.
33342         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
33343         since 2009-08-21.
33344
33345 2009-12-31  Jim Meyering  <meyering@redhat.com>
33346
33347         maint.mk: don't require explicit gpg_key_ID in cfg.mk
33348         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
33349         With this change, we can all remove the gpg_key_ID = ... definition
33350         from our respective cfg.mk files.
33351
33352         maint.mk: create announcement template in ~/, not in /tmp
33353         * top/maint.mk (emit_upload_commands): Adjust.
33354         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
33355         Remove temporary file, .ci-msg.
33356
33357 2009-12-31  Eric Blake  <ebb9@byu.net>
33358
33359         link-warning: always build headers with link warnings
33360         * modules/arpa_inet (Makefile.am): Always build replacement
33361         header.
33362         * modules/ctype (Makefile.am): Likewise.
33363         * modules/dirent (Makefile.am): Likewise.
33364         * modules/inttypes (Makefile.am): Likewise.
33365         * modules/langinfo (Makefile.am): Likewise.
33366         * modules/locale (Makefile.am): Likewise.
33367         * modules/spawn (Makefile.am): Likewise.
33368         * modules/sys_file (Makefile.am): Likewise.
33369         * modules/sys_ioctl (Makefile.am): Likewise.
33370         * modules/sys_select (Makefile.am): Likewise.
33371         * modules/sys_socket (Makefile.am): Likewise.
33372         * modules/sys_times (Makefile.am): Likewise.
33373         * modules/sys_utsname (Makefile.am): Likewise.
33374         * modules/sys_wait (Makefile.am): Likewise.
33375         * modules/wchar (Makefile.am): Likewise.
33376         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
33377         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
33378         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
33379         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
33380         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
33381         Likewise.
33382         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
33383         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
33384         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
33385         Likewise.
33386         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
33387         Likewise.
33388         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
33389         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
33390         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
33391         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
33392         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
33393         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
33394         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
33395         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
33396         (gl_WCHAR_H_DEFAULTS): Likewise.
33397
33398 2009-12-31  Eric Blake  <ebb9@byu.net>
33399
33400         signal, spawn: use link warnings
33401         * lib/signal.in.h (sigset_t): Make unconditional.
33402         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
33403         (sigpending, sigprocmask, sigaction): Add link warnings.
33404         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
33405         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
33406         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
33407         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
33408         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
33409         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
33410         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
33411         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
33412         (posix_spawn_file_actions_destroy)
33413         (posix_spawn_file_actions_addopen)
33414         (posix_spawn_file_actions_addclose)
33415         (posix_spawn_file_actions_adddup2): Likewise.
33416         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
33417         * tests/test-signal.c (main): Enhance test.
33418
33419         spawn: improve wrapper support
33420         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
33421         (gl_SPAWN_H_DEFAULTS): New defaults.
33422         * modules/spawn (Makefile.am): Substitute them.
33423         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
33424         Only declare if missing or broken.
33425
33426         sys_times, sys_utsname: use include_next
33427         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
33428         header.
33429         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
33430         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
33431         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
33432         * modules/sys_times (Depends-on): Add include_next.
33433         (Makefile.am): Substitute additional values.
33434         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
33435         * lib/sys_times.in.h (includes): Include native header, if
33436         available.
33437         * lib/sys_utsname.in.h (includes): Likewise.
33438         * tests/test-sys_times.c (main): Enhance test.
33439
33440         fdutimensat: revert prior patch
33441         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
33442         utimens.h.
33443         Reported by Bruno Haible.
33444
33445 2009-12-30  Eric Blake  <ebb9@byu.net>
33446
33447         sys_wait: drop link-warning dependency
33448         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
33449         link-warning efforts.
33450         * lib/sys_wait.in.h: Likewise.
33451
33452         fdutimensat: remove bogus dependency
33453         * modules/fdutimensat (Depends-on): Drop inline.
33454
33455         unistd: fix typo
33456         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
33457
33458 2009-12-30  Bruno Haible  <bruno@clisp.org>
33459
33460         Fix compilation error with Solaris cc.
33461         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
33462         * lib/unicase/u16-is-invariant.c: Likewise.
33463         * lib/unicase/u32-is-invariant.c: Likewise.
33464         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
33465
33466 2009-12-30  Bruno Haible  <bruno@clisp.org>
33467
33468         Fix test crash.
33469         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
33470         locales.
33471         Reported by Simon Josefsson <simon@josefsson.org>.
33472
33473 2009-12-30  Bruno Haible  <bruno@clisp.org>
33474
33475         Fix compilation error on most platforms.
33476         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
33477         Reported by Simon Josefsson <simon@josefsson.org>
33478         and Nelson H. F. Beebe <beebe@math.utah.edu>.
33479
33480 2009-12-30  Eric Blake  <ebb9@byu.net>
33481
33482         futimens, utimensat: work around ntfs-3g bug
33483         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
33484         a ctime bug is present, and expand workaround to cover ntfs-3g.
33485         * lib/utimens.c (fdutimens, lutimens): Likewise.
33486         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
33487         (validate_timespec): Adjust return value.
33488         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
33489         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
33490         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
33491
33492 2009-12-29  Eric Blake  <ebb9@byu.net>
33493
33494         link-warning: make usage consistent
33495         * modules/ctype (Depends-on): Add link-warning.
33496         (Makefile.am): Update rules accordingly.
33497         * modules/langinfo (Depends-on, Makefile.am): Likewise.
33498         * modules/locale (Depends-on, Makefile.am): Likewise.
33499         * modules/sys_file (Makefile.am): Likewise.
33500         * modules/getopt-posix (Makefile.am): Delete unused link warning
33501         efforts.
33502         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
33503         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
33504         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
33505         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
33506
33507         stdio: remove unused variables
33508         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
33509         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
33510         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
33511
33512         tests: test more substitute headers
33513         * modules/ctype-tests: New file.
33514         * modules/dirent-tests: Likewise.
33515         * modules/spawn-tests: Likewise.
33516         * modules/sys_file-tests: Likewise.
33517         * modules/sys_ioctl-tests: Likewise.
33518         * modules/sys_wait-tests: Likewise.
33519         * tests/test-ctype.c: Likewise.
33520         * tests/test-dirent.c: Likewise.
33521         * tests/test-spawn.c: Likewise.
33522         * tests/test-sys_file.c: Likewise.
33523         * tests/test-sys_ioctl.c: Likewise.
33524         * tests/test-sys_wait.c: Likewise.
33525         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
33526         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
33527         whether or not flock is in use.
33528
33529         tests: remove License section from module
33530         * modules/arpa_inet-tests: Remove unneeded section.
33531         * modules/byteswap-tests: Likewise.
33532         * modules/ceilf-tests: Likewise.
33533         * modules/ceill-tests: Likewise.
33534         * modules/crypto/des-tests: Likewise.
33535         * modules/crypto/gc-arcfour-tests: Likewise.
33536         * modules/crypto/gc-arctwo-tests: Likewise.
33537         * modules/crypto/gc-des-tests: Likewise.
33538         * modules/crypto/gc-hmac-md5-tests: Likewise.
33539         * modules/crypto/gc-hmac-sha1-tests: Likewise.
33540         * modules/crypto/gc-md2-tests: Likewise.
33541         * modules/crypto/gc-md4-tests: Likewise.
33542         * modules/crypto/gc-md5-tests: Likewise.
33543         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
33544         * modules/crypto/gc-rijndael-tests: Likewise.
33545         * modules/crypto/gc-sha1-tests: Likewise.
33546         * modules/crypto/gc-tests: Likewise.
33547         * modules/crypto/md2-tests: Likewise.
33548         * modules/crypto/md4-tests: Likewise.
33549         * modules/fcntl-h-tests: Likewise.
33550         * modules/floorf-tests: Likewise.
33551         * modules/floorl-tests: Likewise.
33552         * modules/frexp-nolibm-tests: Likewise.
33553         * modules/frexp-tests: Likewise.
33554         * modules/frexpl-nolibm-tests: Likewise.
33555         * modules/frexpl-tests: Likewise.
33556         * modules/getaddrinfo-tests: Likewise.
33557         * modules/inttypes-tests: Likewise.
33558         * modules/isfinite-tests: Likewise.
33559         * modules/isinf-tests: Likewise.
33560         * modules/ldexpl-tests: Likewise.
33561         * modules/locale-tests: Likewise.
33562         * modules/math-tests: Likewise.
33563         * modules/netdb-tests: Likewise.
33564         * modules/netinet_in-tests: Likewise.
33565         * modules/printf-frexp-tests: Likewise.
33566         * modules/printf-frexpl-tests: Likewise.
33567         * modules/priv-set-tests: Likewise.
33568         * modules/random_r-tests: Likewise.
33569         * modules/round-tests: Likewise.
33570         * modules/roundf-tests: Likewise.
33571         * modules/roundl-tests: Likewise.
33572         * modules/search-tests: Likewise.
33573         * modules/select-tests: Likewise.
33574         * modules/signal-tests: Likewise.
33575         * modules/stdbool-tests: Likewise.
33576         * modules/stddef-tests: Likewise.
33577         * modules/stdint-tests: Likewise.
33578         * modules/stdio-tests: Likewise.
33579         * modules/stdlib-tests: Likewise.
33580         * modules/string-tests: Likewise.
33581         * modules/strings-tests: Likewise.
33582         * modules/sys_select-tests: Likewise.
33583         * modules/sys_socket-tests: Likewise.
33584         * modules/sys_stat-tests: Likewise.
33585         * modules/sys_time-tests: Likewise.
33586         * modules/sys_utsname-tests: Likewise.
33587         * modules/sysexits-tests: Likewise.
33588         * modules/time-tests: Likewise.
33589         * modules/trunc-tests: Likewise.
33590         * modules/truncf-tests: Likewise.
33591         * modules/truncl-tests: Likewise.
33592         * modules/tsearch-tests: Likewise.
33593         * modules/unistd-tests: Likewise.
33594         * modules/wchar-tests: Likewise.
33595         * modules/wctype-tests: Likewise.
33596
33597         tests: fix license on several tests
33598         * tests/test-des.c: Update to GPLv3+.
33599         * tests/test-flock.c: Likewise.
33600         * tests/test-fsync.c: Likewise.
33601         * tests/test-futimens.h: Likewise.
33602         * tests/test-gc-arcfour.c: Likewise.
33603         * tests/test-gc-arctwo.c: Likewise.
33604         * tests/test-gc-des.c: Likewise.
33605         * tests/test-gc-hmac-md5.c: Likewise.
33606         * tests/test-gc-hmac-sha1.c: Likewise.
33607         * tests/test-gc-md2.c: Likewise.
33608         * tests/test-gc-md4.c: Likewise.
33609         * tests/test-gc-md5.c: Likewise.
33610         * tests/test-gc-pbkdf2-sha1.c: Likewise.
33611         * tests/test-gc-rijndael.c: Likewise.
33612         * tests/test-gc-sha1.c: Likewise.
33613         * tests/test-gc.c: Likewise.
33614         * tests/test-getcwd.c: Likewise.
33615         * tests/test-link.c: Likewise.
33616         * tests/test-link.h: Likewise.
33617         * tests/test-lutimens.h: Likewise.
33618         * tests/test-md2.c: Likewise.
33619         * tests/test-md4.c: Likewise.
33620         * tests/test-mkdir.h: Likewise.
33621         * tests/test-rename.c: Likewise.
33622         * tests/test-rename.h: Likewise.
33623         * tests/test-safe-alloc.c: Likewise.
33624         * tests/test-utimens-common.h: Likewise.
33625         * tests/test-utimens.h: Likewise.
33626
33627         maint: sync license texts
33628         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
33629         * doc/gpl-3.0.texi: Revert copyright year update.
33630         * doc/lgpl-3.0.texi: Likewise.
33631
33632 2009-12-29  Jim Meyering  <meyering@redhat.com>
33633
33634         update nearly all FSF copyright year lists to include 2009
33635         The files named by the following are exempted:
33636             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
33637               test -f "$dst" && { echo "$dst"; continue; }
33638               test -d "$dst" || continue
33639               echo "$dst"/$(basename "$src")
33640             done > exempt
33641             git ls-files tests/unictype >> exempt
33642         In the remaining files, convert to all-interval notation if
33643         - there is already at least one year interval like 2000-2003
33644         - the file is maintained by me
33645         - the file is in lib/uni*/, where that style already prevails
33646         Otherwise, use update-copyright's default.
33647
33648 2009-12-29  Simon Josefsson  <simon@josefsson.org>
33649         and Eric Blake  <ebb9@byu.net>
33650
33651         tests: don't require debug system() to pass
33652         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
33653         * tests/test-rmdir.h (test_rmdir_func): Likewise.
33654         * tests/test-unlink.h (test_unlink_func): Likewise.
33655         * tests/test-fstatat.c (main): ...into callers.
33656         * tests/test-lstat.c (main): Likewise.
33657         * tests/test-rmdir.c (main): Likewise.
33658         * tests/test-unlink.c (main): Likewise.
33659         * tests/test-unlinkat.c (main): Likewise.
33660         * tests/test-areadlink-with-size.c (main): Don't require a
33661         debug-only system call to pass, aiding cross-testing to mingw.
33662         * tests/test-areadlink.c (main): Likewise.
33663         * tests/test-areadlinkat-with-size.c (main): Likewise.
33664         * tests/test-areadlinkat.c (main): Likewise.
33665         * tests/test-canonicalize-lgpl.c (main): Likewise.
33666         * tests/test-canonicalize.c (main): Likewise.
33667         * tests/test-chown.c (main): Likewise.
33668         * tests/test-fchownat.c (main): Likewise.
33669         * tests/test-lchown.c (main): Likewise.
33670         * tests/test-fdutimensat.c (main): Likewise.
33671         * tests/test-futimens.c (main): Likewise.
33672         * tests/test-link.c (main): Likewise.
33673         * tests/test-linkat.c (main): Likewise.
33674         * tests/test-mkdir.c (main): Likewise.
33675         * tests/test-mkdirat.c (main): Likewise.
33676         * tests/test-mkfifo.c (main): Likewise.
33677         * tests/test-mkfifoat.c (main): Likewise.
33678         * tests/test-mknod.c (main): Likewise.
33679         * tests/test-readlink.c (main): Likewise.
33680         * tests/test-remove.c (main): Likewise.
33681         * tests/test-rename.c (main): Likewise.
33682         * tests/test-renameat.c (main): Likewise.
33683         * tests/test-symlink.c (main): Likewise.
33684         * tests/test-symlinkat.c (main): Likewise.
33685         * tests/test-utimens.c (main): Likewise.
33686         * tests/test-utimensat.c (main): Likewise.
33687
33688 2009-12-29  Simon Josefsson  <simon@josefsson.org>
33689
33690         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
33691         on $(UNUSED_PARAMETER_H) to avoid build failure.
33692
33693 2009-12-28  Jim Meyering  <meyering@redhat.com>
33694
33695         update-copyright: you may specify a max. line length other than 72
33696         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
33697
33698         maint: use consistent FSF copyright line syntax
33699         * lib/posixtm.c: Add missing comma in FSF copyright line.
33700         * lib/posixtm.h: Likewise.
33701         * lib/getugroups.c: Add missing ", Inc.".
33702
33703         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
33704         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
33705         FSF copyright line.  Remove trailing blanks.
33706
33707 2009-12-28  Eric Blake  <ebb9@byu.net>
33708
33709         test-dup2: reduce dependencies
33710         * modules/cloexec (Configure.ac): Set witness.
33711         * modules/dup2-tests (Depends-on): Drop cloexec.
33712         * tests/test-dup2.c (main): Skip portion of test if cloexec module
33713         not present.
33714         Suggested by Bruno Haible.
33715
33716 2009-12-26  Bruno Haible  <bruno@clisp.org>
33717
33718         Remove an unneeded dependency.
33719         * modules/fseterr (Depends-on): Remove dup2.
33720
33721 2009-12-26  Eric Blake  <ebb9@byu.net>
33722
33723         tests: use macros.h in more places
33724         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
33725         (ASSERT_STREAM): Provide default of stderr.
33726         * tests/test-dirent-safer.c: Include macros.h, using alternate
33727         stream for assertions.
33728         * tests/test-dup-safer.c: Likewise.
33729         * tests/test-freopen-safer.c: Likewise.
33730         * tests/test-getopt.c: Likewise.
33731         * tests/test-openat-safer.c: Likewise.
33732         * tests/test-pipe.c: Likewise.
33733         * tests/test-popen-safer.c: Likewise.
33734         * modules/dirent-safer-tests (Files): Include macros.h.
33735         * modules/unistd-safer-tests (Files): Likewise.
33736         * modules/freopen-safer-tests (Files): Likewise.
33737         * modules/getopt-posix-tests (Files): Likewise.
33738         * modules/openat-safer-tests (Files): Likewise.
33739         * modules/pipe-tests (Files): Likewise.
33740
33741 2009-12-26  Bruno Haible  <bruno@clisp.org>
33742
33743         javacomp: Portability fix.
33744         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
33745         that it also works on Solaris.
33746
33747 2009-12-26  Bruno Haible  <bruno@clisp.org>
33748
33749         localename: Fix storage allocation of gl_locale_name_thread's result.
33750         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
33751         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
33752         all platforms that have 'uselocale'.
33753         (gl_locale_name_thread_unsafe): New function, extracted from
33754         gl_locale_name_thread.
33755         (gl_locale_name_thread): Call struniq on all platforms that have
33756         'uselocale'.
33757         * tests/test-localename.c (test_locale_name_thread): Check that the
33758         resulting strings are permanently allocated.
33759         * modules/localename-tests (Depends-on): Add strdup.
33760
33761 2009-12-26  Bruno Haible  <bruno@clisp.org>
33762
33763         * tests/test-localename.c (categories): Fill in the strings.
33764
33765 2009-12-26  Jim Meyering  <meyering@redhat.com>
33766
33767         isdir: complete the removal of m4/isdir.m4
33768         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
33769
33770         isdir: clean up, since at least grep still uses it
33771         * lib/isdir.c: Include "isdir.h".
33772         (S_ISDIR): Remove now-unneeded definition.
33773         * modules/isdir (Files): Add lib/isdir.h.
33774         * lib/isdir.h: New file, with declaration.
33775         * m4/isdir.m4: Remove file -- unneeded.
33776
33777 2009-12-25  Bruno Haible  <bruno@clisp.org>
33778
33779         selinux-h: Make generated .h files standalone.
33780         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
33781         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
33782         * lib/se-selinux.in.h: Likewise.
33783         * modules/selinux-h (Depends-on): Add unused-parameter.
33784         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
33785         selinux/selinux.h and selinux/context.h.
33786         Suggested by Eric Blake.
33787
33788 2009-12-25  Bruno Haible  <bruno@clisp.org>
33789
33790         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
33791         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
33792         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
33793         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
33794         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
33795
33796 2009-12-24  Bruno Haible  <bruno@clisp.org>
33797
33798         openat: Fix warning.
33799         * lib/openat-proc.c: Include <unistd.h>.
33800
33801 2009-12-24  Bruno Haible  <bruno@clisp.org>
33802
33803         New module 'unused-parameter'.
33804         * build-aux/unused-parameter.h: New file, extracted from earlier
33805         gnulib-common.m4.
33806         * modules/unused-parameter: New file.
33807         * lib/unistr.h: Include unused-parameter.h.
33808         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
33809         _GL_UNUSED.
33810         * modules/unistr/base (Depends-on): Add unused-parameter.
33811
33812 2009-12-24  Bruno Haible  <bruno@clisp.org>
33813
33814         Add missing dependencies to 'extensions' module.
33815         * m4/extensions.m4: Add comment.
33816         * modules/accept4 (Depends-on): Add extensions.
33817         * modules/dup3 (Depends-on): Likewise.
33818         * modules/fcntl (Depends-on): Likewise.
33819         * modules/futimens (Depends-on): Likewise.
33820         * modules/mknod (Depends-on): Likewise.
33821         * modules/pipe2 (Depends-on): Likewise.
33822         * modules/stat-time (Depends-on): Likewise.
33823         * modules/strcasestr-simple (Depends-on): Likewise.
33824         * modules/strsignal (Depends-on): Likewise.
33825         * modules/utimensat (Depends-on): Likewise.
33826         * modules/localcharset (Depends-on): Likewise. Needed because of
33827         gl_FCNTL_O_FLAGS.
33828         * modules/wcrtomb (Depends-on): Likewise. Needed because of
33829         AC_TYPE_MBSTATE_T.
33830         * modules/wcsnrtombs (Depends-on): Likewise.
33831         * modules/wcsrtombs (Depends-on): Likewise.
33832
33833 2009-12-24  Bruno Haible  <bruno@clisp.org>
33834
33835         binary-io: Avoid gcc warning due to SET_BINARY.
33836         * lib/binary-io.h (SET_BINARY): Cast the result to void.
33837         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
33838
33839 2009-12-24  Bruno Haible  <bruno@clisp.org>
33840
33841         Avoid future namespace pollution on glibc systems.
33842         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
33843         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
33844         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
33845         glibc systems.
33846
33847 2009-12-24  Bruno Haible  <bruno@clisp.org>
33848
33849         Refactor common macros used in tests.
33850         * tests/macros.h: New file.
33851         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
33852         and/or <stdlib.h>, if appropriate.
33853         (ASSERT, SIZEOF): Remove macros.
33854         * tests/test-areadlink-with-size.c: Likewise.
33855         * tests/test-areadlinkat.c: Likewise.
33856         * tests/test-areadlinkat-with-size.c: Likewise.
33857         * tests/test-argmatch.c: Likewise.
33858         * tests/test-argv-iter.c: Likewise.
33859         * tests/test-array-mergesort.c: Likewise.
33860         * tests/test-array_list.c: Likewise.
33861         * tests/test-array_oset.c: Likewise.
33862         * tests/test-avltree_list.c: Likewise.
33863         * tests/test-avltree_oset.c: Likewise.
33864         * tests/test-avltreehash_list.c: Likewise.
33865         * tests/test-base64.c: Likewise.
33866         * tests/test-binary-io.c: Likewise.
33867         * tests/test-bitrotate.c: Likewise.
33868         * tests/test-btowc.c: Likewise.
33869         * tests/test-byteswap.c: Likewise.
33870         * tests/test-c-ctype.c: Likewise.
33871         * tests/test-c-stack.c: Likewise.
33872         * tests/test-c-strcasecmp.c: Likewise.
33873         * tests/test-c-strcasestr.c: Likewise.
33874         * tests/test-c-strncasecmp.c: Likewise.
33875         * tests/test-c-strstr.c: Likewise.
33876         * tests/test-canonicalize-lgpl.c: Likewise.
33877         * tests/test-canonicalize.c: Likewise.
33878         * tests/test-carray_list.c: Likewise.
33879         * tests/test-ceilf1.c: Likewise.
33880         * tests/test-ceilf2.c: Likewise.
33881         * tests/test-ceill.c: Likewise.
33882         * tests/test-chown.c: Likewise.
33883         * tests/test-cloexec.c: Likewise.
33884         * tests/test-copy-acl.c: Likewise.
33885         * tests/test-copy-file.c: Likewise.
33886         * tests/test-count-one-bits.c: Likewise.
33887         * tests/test-dprintf-posix.c: Likewise.
33888         * tests/test-dup2.c: Likewise.
33889         * tests/test-dup3.c: Likewise.
33890         * tests/test-duplocale.c: Likewise.
33891         * tests/test-fbufmode.c: Likewise.
33892         * tests/test-fchdir.c: Likewise.
33893         * tests/test-fchownat.c: Likewise.
33894         * tests/test-fcntl-safer.c: Likewise.
33895         * tests/test-fcntl.c: Likewise.
33896         * tests/test-fdopendir.c: Likewise.
33897         * tests/test-fdutimensat.c: Likewise.
33898         * tests/test-fflush2.c: Likewise.
33899         * tests/test-file-has-acl.c: Likewise.
33900         * tests/test-filevercmp.c: Likewise.
33901         * tests/test-flock.c: Likewise.
33902         * tests/test-floorf1.c: Likewise.
33903         * tests/test-floorf2.c: Likewise.
33904         * tests/test-floorl.c: Likewise.
33905         * tests/test-fnmatch.c: Likewise.
33906         * tests/test-fopen.h: Likewise.
33907         * tests/test-fpending.c: Likewise.
33908         * tests/test-fprintf-posix.c: Likewise.
33909         * tests/test-fpurge.c: Likewise.
33910         * tests/test-freadable.c: Likewise.
33911         * tests/test-freadahead.c: Likewise.
33912         * tests/test-freading.c: Likewise.
33913         * tests/test-freadptr.c: Likewise.
33914         * tests/test-freadptr2.c: Likewise.
33915         * tests/test-freadseek.c: Likewise.
33916         * tests/test-freopen.c: Likewise.
33917         * tests/test-frexp.c: Likewise.
33918         * tests/test-frexpl.c: Likewise.
33919         * tests/test-fseek.c: Likewise.
33920         * tests/test-fseeko.c: Likewise.
33921         * tests/test-fstatat.c: Likewise.
33922         * tests/test-fstrcmp.c: Likewise.
33923         * tests/test-fsync.c: Likewise.
33924         * tests/test-ftell.c: Likewise.
33925         * tests/test-ftello.c: Likewise.
33926         * tests/test-func.c: Likewise.
33927         * tests/test-futimens.c: Likewise.
33928         * tests/test-fwritable.c: Likewise.
33929         * tests/test-fwriting.c: Likewise.
33930         * tests/test-getcwd.c: Likewise.
33931         * tests/test-getdate.c: Likewise.
33932         * tests/test-getdelim.c: Likewise.
33933         * tests/test-getdtablesize.c: Likewise.
33934         * tests/test-getgroups.c: Likewise.
33935         * tests/test-getline.c: Likewise.
33936         * tests/test-getndelim2.c: Likewise.
33937         * tests/test-glob.c: Likewise.
33938         * tests/test-hash.c: Likewise.
33939         * tests/test-i-ring.c: Likewise.
33940         * tests/test-iconv-utf.c: Likewise.
33941         * tests/test-iconv.c: Likewise.
33942         * tests/test-idpriv-drop.c: Likewise.
33943         * tests/test-idpriv-droptemp.c: Likewise.
33944         * tests/test-inet_ntop.c: Likewise.
33945         * tests/test-inet_pton.c: Likewise.
33946         * tests/test-isblank.c: Likewise.
33947         * tests/test-isfinite.c: Likewise.
33948         * tests/test-isinf.c: Likewise.
33949         * tests/test-isnan.c: Likewise.
33950         * tests/test-isnand.h: Likewise.
33951         * tests/test-isnanf.h: Likewise.
33952         * tests/test-isnanl.h: Likewise.
33953         * tests/test-lchown.c: Likewise.
33954         * tests/test-ldexpl.c: Likewise.
33955         * tests/test-link.c: Likewise.
33956         * tests/test-linkat.c: Likewise.
33957         * tests/test-linked_list.c: Likewise.
33958         * tests/test-linkedhash_list.c: Likewise.
33959         * tests/test-localename.c: Likewise.
33960         * tests/test-lseek.c: Likewise.
33961         * tests/test-lstat.c: Likewise.
33962         * tests/test-mbmemcasecmp.c: Likewise.
33963         * tests/test-mbmemcasecoll.c: Likewise.
33964         * tests/test-mbrtowc.c: Likewise.
33965         * tests/test-mbscasecmp.c: Likewise.
33966         * tests/test-mbscasestr1.c: Likewise.
33967         * tests/test-mbscasestr2.c: Likewise.
33968         * tests/test-mbscasestr3.c: Likewise.
33969         * tests/test-mbscasestr4.c: Likewise.
33970         * tests/test-mbschr.c: Likewise.
33971         * tests/test-mbscspn.c: Likewise.
33972         * tests/test-mbsinit.c: Likewise.
33973         * tests/test-mbsncasecmp.c: Likewise.
33974         * tests/test-mbsnrtowcs.c: Likewise.
33975         * tests/test-mbspbrk.c: Likewise.
33976         * tests/test-mbspcasecmp.c: Likewise.
33977         * tests/test-mbsrchr.c: Likewise.
33978         * tests/test-mbsrtowcs.c: Likewise.
33979         * tests/test-mbsspn.c: Likewise.
33980         * tests/test-mbsstr1.c: Likewise.
33981         * tests/test-mbsstr2.c: Likewise.
33982         * tests/test-mbsstr3.c: Likewise.
33983         * tests/test-memchr.c: Likewise.
33984         * tests/test-memchr2.c: Likewise.
33985         * tests/test-memcmp.c: Likewise.
33986         * tests/test-memmem.c: Likewise.
33987         * tests/test-memrchr.c: Likewise.
33988         * tests/test-mkdir.c: Likewise.
33989         * tests/test-mkdirat.c: Likewise.
33990         * tests/test-mkfifo.c: Likewise.
33991         * tests/test-mkfifoat.c: Likewise.
33992         * tests/test-mknod.c: Likewise.
33993         * tests/test-nanosleep.c: Likewise.
33994         * tests/test-nl_langinfo.c: Likewise.
33995         * tests/test-obstack-printf.c: Likewise.
33996         * tests/test-open.c: Likewise.
33997         * tests/test-openat.c: Likewise.
33998         * tests/test-pipe-filter-gi1.c: Likewise.
33999         * tests/test-pipe-filter-gi2-main.c: Likewise.
34000         * tests/test-pipe-filter-ii1.c: Likewise.
34001         * tests/test-pipe-filter-ii2-main.c: Likewise.
34002         * tests/test-pipe2.c: Likewise.
34003         * tests/test-popen.h: Likewise.
34004         * tests/test-posixtm.c: Likewise.
34005         * tests/test-pread.c: Likewise.
34006         * tests/test-printf-frexp.c: Likewise.
34007         * tests/test-printf-frexpl.c: Likewise.
34008         * tests/test-printf-posix.c: Likewise.
34009         * tests/test-priv-set.c: Likewise.
34010         * tests/test-quotearg.c: Likewise.
34011         * tests/test-random_r.c: Likewise.
34012         * tests/test-rawmemchr.c: Likewise.
34013         * tests/test-rbtree_list.c: Likewise.
34014         * tests/test-rbtree_oset.c: Likewise.
34015         * tests/test-rbtreehash_list.c: Likewise.
34016         * tests/test-readlink.c: Likewise.
34017         * tests/test-remove.c: Likewise.
34018         * tests/test-rename.c: Likewise.
34019         * tests/test-renameat.c: Likewise.
34020         * tests/test-rmdir.c: Likewise.
34021         * tests/test-round1.c: Likewise.
34022         * tests/test-roundf1.c: Likewise.
34023         * tests/test-roundl.c: Likewise.
34024         * tests/test-safe-alloc.c: Likewise.
34025         * tests/test-sameacls.c: Likewise.
34026         * tests/test-set-mode-acl.c: Likewise.
34027         * tests/test-setenv.c: Likewise.
34028         * tests/test-sigaction.c: Likewise.
34029         * tests/test-signbit.c: Likewise.
34030         * tests/test-sleep.c: Likewise.
34031         * tests/test-snprintf-posix.c: Likewise.
34032         * tests/test-snprintf.c: Likewise.
34033         * tests/test-sprintf-posix.c: Likewise.
34034         * tests/test-stat-time.c: Likewise.
34035         * tests/test-stat.c: Likewise.
34036         * tests/test-strcasestr.c: Likewise.
34037         * tests/test-strchrnul.c: Likewise.
34038         * tests/test-strerror.c: Likewise.
34039         * tests/test-striconv.c: Likewise.
34040         * tests/test-striconveh.c: Likewise.
34041         * tests/test-striconveha.c: Likewise.
34042         * tests/test-strsignal.c: Likewise.
34043         * tests/test-strstr.c: Likewise.
34044         * tests/test-strtod.c: Likewise.
34045         * tests/test-strverscmp.c: Likewise.
34046         * tests/test-symlink.c: Likewise.
34047         * tests/test-symlinkat.c: Likewise.
34048         * tests/test-trunc1.c: Likewise.
34049         * tests/test-trunc2.c: Likewise.
34050         * tests/test-truncf1.c: Likewise.
34051         * tests/test-truncf2.c: Likewise.
34052         * tests/test-truncl.c: Likewise.
34053         * tests/test-uname.c: Likewise.
34054         * tests/test-unlink.c: Likewise.
34055         * tests/test-unlinkat.c: Likewise.
34056         * tests/test-unsetenv.c: Likewise.
34057         * tests/test-usleep.c: Likewise.
34058         * tests/test-utimens.c: Likewise.
34059         * tests/test-utimensat.c: Likewise.
34060         * tests/test-vasnprintf-posix.c: Likewise.
34061         * tests/test-vasnprintf-posix2.c: Likewise.
34062         * tests/test-vasnprintf.c: Likewise.
34063         * tests/test-vasprintf-posix.c: Likewise.
34064         * tests/test-vasprintf.c: Likewise.
34065         * tests/test-vdprintf-posix.c: Likewise.
34066         * tests/test-vfprintf-posix.c: Likewise.
34067         * tests/test-vprintf-posix.c: Likewise.
34068         * tests/test-vsnprintf-posix.c: Likewise.
34069         * tests/test-vsnprintf.c: Likewise.
34070         * tests/test-vsprintf-posix.c: Likewise.
34071         * tests/test-wcrtomb.c: Likewise.
34072         * tests/test-wcsnrtombs.c: Likewise.
34073         * tests/test-wcsrtombs.c: Likewise.
34074         * tests/test-wctype.c: Likewise.
34075         * tests/test-wcwidth.c: Likewise.
34076         * tests/test-xfprintf-posix.c: Likewise.
34077         * tests/test-xmemdup0.c: Likewise.
34078         * tests/test-xprintf-posix.c: Likewise.
34079         * tests/test-xvasprintf.c: Likewise.
34080         * tests/unicase/test-locale-language.c: Likewise.
34081         * tests/unicase/test-mapping-part1.h: Likewise.
34082         * tests/unicase/test-predicate-part1.h: Likewise.
34083         * tests/unicase/test-u8-casecmp.c: Likewise.
34084         * tests/unicase/test-u8-casecoll.c: Likewise.
34085         * tests/unicase/test-u8-casefold.c: Likewise.
34086         * tests/unicase/test-u8-is-cased.c: Likewise.
34087         * tests/unicase/test-u8-is-casefolded.c: Likewise.
34088         * tests/unicase/test-u8-is-lowercase.c: Likewise.
34089         * tests/unicase/test-u8-is-titlecase.c: Likewise.
34090         * tests/unicase/test-u8-is-uppercase.c: Likewise.
34091         * tests/unicase/test-u8-tolower.c: Likewise.
34092         * tests/unicase/test-u8-totitle.c: Likewise.
34093         * tests/unicase/test-u8-toupper.c: Likewise.
34094         * tests/unicase/test-u16-casecmp.c: Likewise.
34095         * tests/unicase/test-u16-casecoll.c: Likewise.
34096         * tests/unicase/test-u16-casefold.c: Likewise.
34097         * tests/unicase/test-u16-is-cased.c: Likewise.
34098         * tests/unicase/test-u16-is-casefolded.c: Likewise.
34099         * tests/unicase/test-u16-is-lowercase.c: Likewise.
34100         * tests/unicase/test-u16-is-titlecase.c: Likewise.
34101         * tests/unicase/test-u16-is-uppercase.c: Likewise.
34102         * tests/unicase/test-u16-tolower.c: Likewise.
34103         * tests/unicase/test-u16-totitle.c: Likewise.
34104         * tests/unicase/test-u16-toupper.c: Likewise.
34105         * tests/unicase/test-u32-casecmp.c: Likewise.
34106         * tests/unicase/test-u32-casecoll.c: Likewise.
34107         * tests/unicase/test-u32-casefold.c: Likewise.
34108         * tests/unicase/test-u32-is-cased.c: Likewise.
34109         * tests/unicase/test-u32-is-casefolded.c: Likewise.
34110         * tests/unicase/test-u32-is-lowercase.c: Likewise.
34111         * tests/unicase/test-u32-is-titlecase.c: Likewise.
34112         * tests/unicase/test-u32-is-uppercase.c: Likewise.
34113         * tests/unicase/test-u32-tolower.c: Likewise.
34114         * tests/unicase/test-u32-totitle.c: Likewise.
34115         * tests/unicase/test-u32-toupper.c: Likewise.
34116         * tests/unicase/test-ulc-casecmp.c: Likewise.
34117         * tests/unicase/test-ulc-casecoll.c: Likewise.
34118         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
34119         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
34120         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
34121         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
34122         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
34123         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
34124         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
34125         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
34126         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
34127         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
34128         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
34129         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
34130         * tests/unictype/test-bidi_byname.c: Likewise.
34131         * tests/unictype/test-bidi_name.c: Likewise.
34132         * tests/unictype/test-bidi_of.c: Likewise.
34133         * tests/unictype/test-bidi_test.c: Likewise.
34134         * tests/unictype/test-block_list.c: Likewise.
34135         * tests/unictype/test-block_of.c: Likewise.
34136         * tests/unictype/test-block_test.c: Likewise.
34137         * tests/unictype/test-categ_and.c: Likewise.
34138         * tests/unictype/test-categ_and_not.c: Likewise.
34139         * tests/unictype/test-categ_byname.c: Likewise.
34140         * tests/unictype/test-categ_name.c: Likewise.
34141         * tests/unictype/test-categ_none.c: Likewise.
34142         * tests/unictype/test-categ_of.c: Likewise.
34143         * tests/unictype/test-categ_or.c: Likewise.
34144         * tests/unictype/test-categ_test_withtable.c: Likewise.
34145         * tests/unictype/test-combining.c: Likewise.
34146         * tests/unictype/test-decdigit.c: Likewise.
34147         * tests/unictype/test-digit.c: Likewise.
34148         * tests/unictype/test-mirror.c: Likewise.
34149         * tests/unictype/test-numeric.c: Likewise.
34150         * tests/unictype/test-pr_byname.c: Likewise.
34151         * tests/unictype/test-pr_test.c: Likewise.
34152         * tests/unictype/test-predicate-part1.h: Likewise.
34153         * tests/unictype/test-scripts.c: Likewise.
34154         * tests/unictype/test-sy_c_ident.c: Likewise.
34155         * tests/unictype/test-sy_java_ident.c: Likewise.
34156         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
34157         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
34158         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
34159         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
34160         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
34161         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
34162         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
34163         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
34164         * tests/uninorm/test-canonical-decomposition.c: Likewise.
34165         * tests/uninorm/test-compat-decomposition.c: Likewise.
34166         * tests/uninorm/test-composition.c: Likewise.
34167         * tests/uninorm/test-decomposing-form.c: Likewise.
34168         * tests/uninorm/test-decomposition.c: Likewise.
34169         * tests/uninorm/test-u8-nfc.c: Likewise.
34170         * tests/uninorm/test-u8-nfd.c: Likewise.
34171         * tests/uninorm/test-u8-nfkc.c: Likewise.
34172         * tests/uninorm/test-u8-nfkd.c: Likewise.
34173         * tests/uninorm/test-u8-normcmp.c: Likewise.
34174         * tests/uninorm/test-u8-normcoll.c: Likewise.
34175         * tests/uninorm/test-u16-nfc.c: Likewise.
34176         * tests/uninorm/test-u16-nfd.c: Likewise.
34177         * tests/uninorm/test-u16-nfkc.c: Likewise.
34178         * tests/uninorm/test-u16-nfkd.c: Likewise.
34179         * tests/uninorm/test-u16-normcmp.c: Likewise.
34180         * tests/uninorm/test-u16-normcoll.c: Likewise.
34181         * tests/uninorm/test-u32-nfc.c: Likewise.
34182         * tests/uninorm/test-u32-nfd.c: Likewise.
34183         * tests/uninorm/test-u32-nfkc.c: Likewise.
34184         * tests/uninorm/test-u32-nfkd.c: Likewise.
34185         * tests/uninorm/test-u32-normalize-big.c: Likewise.
34186         * tests/uninorm/test-u32-normcmp.c: Likewise.
34187         * tests/uninorm/test-u32-normcoll.c: Likewise.
34188         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
34189         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
34190         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
34191         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
34192         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
34193         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
34194         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
34195         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
34196         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
34197         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
34198         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
34199         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
34200         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
34201         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
34202         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
34203         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
34204         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
34205         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
34206         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
34207         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
34208         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
34209         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
34210         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
34211         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
34212         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
34213         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
34214         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
34215         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
34216         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
34217         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
34218         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
34219         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
34220         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
34221         * tests/uniwidth/test-u8-strwidth.c: Likewise.
34222         * tests/uniwidth/test-u8-width.c: Likewise.
34223         * tests/uniwidth/test-u16-strwidth.c: Likewise.
34224         * tests/uniwidth/test-u16-width.c: Likewise.
34225         * tests/uniwidth/test-u32-strwidth.c: Likewise.
34226         * tests/uniwidth/test-u32-width.c: Likewise.
34227         * tests/uniwidth/test-uc_width.c: Likewise.
34228         * tests/uniwidth/test-uc_width2.c: Likewise.
34229         * modules/acl-tests (Files): Add tests/macros.h.
34230         * modules/areadlink-tests (Files): Likewise.
34231         * modules/areadlink-with-size-tests (Files): Likewise.
34232         * modules/areadlinkat-tests (Files): Likewise.
34233         * modules/areadlinkat-with-size-tests (Files): Likewise.
34234         * modules/argmatch-tests (Files): Likewise.
34235         * modules/argv-iter-tests (Files): Likewise.
34236         * modules/array-list-tests (Files): Likewise.
34237         * modules/array-mergesort-tests (Files): Likewise.
34238         * modules/array-oset-tests (Files): Likewise.
34239         * modules/avltree-list-tests (Files): Likewise.
34240         * modules/avltree-oset-tests (Files): Likewise.
34241         * modules/avltreehash-list-tests (Files): Likewise.
34242         * modules/base64-tests (Files): Likewise.
34243         * modules/binary-io-tests (Files): Likewise.
34244         * modules/bitrotate-tests (Files): Likewise.
34245         * modules/btowc-tests (Files): Likewise.
34246         * modules/byteswap-tests (Files): Likewise.
34247         * modules/c-ctype-tests (Files): Likewise.
34248         * modules/c-stack-tests (Files): Likewise.
34249         * modules/c-strcase-tests (Files): Likewise.
34250         * modules/c-strcasestr-tests (Files): Likewise.
34251         * modules/c-strstr-tests (Files): Likewise.
34252         * modules/canonicalize-lgpl-tests (Files): Likewise.
34253         * modules/canonicalize-tests (Files): Likewise.
34254         * modules/carray-list-tests (Files): Likewise.
34255         * modules/ceilf-tests (Files): Likewise.
34256         * modules/ceill-tests (Files): Likewise.
34257         * modules/chown-tests (Files): Likewise.
34258         * modules/cloexec-tests (Files): Likewise.
34259         * modules/copy-file-tests (Files): Likewise.
34260         * modules/count-one-bits-tests (Files): Likewise.
34261         * modules/dprintf-posix-tests (Files): Likewise.
34262         * modules/dup2-tests (Files): Likewise.
34263         * modules/dup3-tests (Files): Likewise.
34264         * modules/duplocale-tests (Files): Likewise.
34265         * modules/fbufmode-tests (Files): Likewise.
34266         * modules/fchdir-tests (Files): Likewise.
34267         * modules/fcntl-safer-tests (Files): Likewise.
34268         * modules/fcntl-tests (Files): Likewise.
34269         * modules/fdopendir-tests (Files): Likewise.
34270         * modules/fdutimensat-tests (Files): Likewise.
34271         * modules/fflush-tests (Files): Likewise.
34272         * modules/filevercmp-tests (Files): Likewise.
34273         * modules/flock-tests (Files): Likewise.
34274         * modules/floorf-tests (Files): Likewise.
34275         * modules/floorl-tests (Files): Likewise.
34276         * modules/fnmatch-tests (Files): Likewise.
34277         * modules/fopen-safer-tests (Files): Likewise.
34278         * modules/fopen-tests (Files): Likewise.
34279         * modules/fpending-tests (Files): Likewise.
34280         * modules/fprintf-posix-tests (Files): Likewise.
34281         * modules/fpurge-tests (Files): Likewise.
34282         * modules/freadable-tests (Files): Likewise.
34283         * modules/freadahead-tests (Files): Likewise.
34284         * modules/freading-tests (Files): Likewise.
34285         * modules/freadptr-tests (Files): Likewise.
34286         * modules/freadseek-tests (Files): Likewise.
34287         * modules/freopen-tests (Files): Likewise.
34288         * modules/frexp-nolibm-tests (Files): Likewise.
34289         * modules/frexp-tests (Files): Likewise.
34290         * modules/frexpl-nolibm-tests (Files): Likewise.
34291         * modules/frexpl-tests (Files): Likewise.
34292         * modules/fseek-tests (Files): Likewise.
34293         * modules/fseeko-tests (Files): Likewise.
34294         * modules/fstrcmp-tests (Files): Likewise.
34295         * modules/fsync-tests (Files): Likewise.
34296         * modules/ftell-tests (Files): Likewise.
34297         * modules/ftello-tests (Files): Likewise.
34298         * modules/func-tests (Files): Likewise.
34299         * modules/futimens-tests (Files): Likewise.
34300         * modules/fwritable-tests (Files): Likewise.
34301         * modules/fwriting-tests (Files): Likewise.
34302         * modules/getcwd-tests (Files): Likewise.
34303         * modules/getdate-tests (Files): Likewise.
34304         * modules/getdelim-tests (Files): Likewise.
34305         * modules/getdtablesize-tests (Files): Likewise.
34306         * modules/getgroups-tests (Files): Likewise.
34307         * modules/getline-tests (Files): Likewise.
34308         * modules/getndelim2-tests (Files): Likewise.
34309         * modules/glob-tests (Files): Likewise.
34310         * modules/hash-tests (Files): Likewise.
34311         * modules/i-ring-tests (Files): Likewise.
34312         * modules/iconv-tests (Files): Likewise.
34313         * modules/iconv_open-utf-tests (Files): Likewise.
34314         * modules/idpriv-drop-tests (Files): Likewise.
34315         * modules/idpriv-droptemp-tests (Files): Likewise.
34316         * modules/inet_ntop-tests (Files): Likewise.
34317         * modules/inet_pton-tests (Files): Likewise.
34318         * modules/isblank-tests (Files): Likewise.
34319         * modules/isfinite-tests (Files): Likewise.
34320         * modules/isinf-tests (Files): Likewise.
34321         * modules/isnan-tests (Files): Likewise.
34322         * modules/isnand-nolibm-tests (Files): Likewise.
34323         * modules/isnand-tests (Files): Likewise.
34324         * modules/isnanf-nolibm-tests (Files): Likewise.
34325         * modules/isnanf-tests (Files): Likewise.
34326         * modules/isnanl-nolibm-tests (Files): Likewise.
34327         * modules/isnanl-tests (Files): Likewise.
34328         * modules/lchown-tests (Files): Likewise.
34329         * modules/ldexpl-tests (Files): Likewise.
34330         * modules/link-tests (Files): Likewise.
34331         * modules/linkat-tests (Files): Likewise.
34332         * modules/linked-list-tests (Files): Likewise.
34333         * modules/linkedhash-list-tests (Files): Likewise.
34334         * modules/localename-tests (Files): Likewise.
34335         * modules/lseek-tests (Files): Likewise.
34336         * modules/lstat-tests (Files): Likewise.
34337         * modules/mbmemcasecmp-tests (Files): Likewise.
34338         * modules/mbmemcasecoll-tests (Files): Likewise.
34339         * modules/mbrtowc-tests (Files): Likewise.
34340         * modules/mbscasecmp-tests (Files): Likewise.
34341         * modules/mbscasestr-tests (Files): Likewise.
34342         * modules/mbschr-tests (Files): Likewise.
34343         * modules/mbscspn-tests (Files): Likewise.
34344         * modules/mbsinit-tests (Files): Likewise.
34345         * modules/mbsncasecmp-tests (Files): Likewise.
34346         * modules/mbsnrtowcs-tests (Files): Likewise.
34347         * modules/mbspbrk-tests (Files): Likewise.
34348         * modules/mbspcasecmp-tests (Files): Likewise.
34349         * modules/mbsrchr-tests (Files): Likewise.
34350         * modules/mbsrtowcs-tests (Files): Likewise.
34351         * modules/mbsspn-tests (Files): Likewise.
34352         * modules/mbsstr-tests (Files): Likewise.
34353         * modules/memchr-tests (Files): Likewise.
34354         * modules/memchr2-tests (Files): Likewise.
34355         * modules/memcmp-tests (Files): Likewise.
34356         * modules/memmem-tests (Files): Likewise.
34357         * modules/memrchr-tests (Files): Likewise.
34358         * modules/mkdir-tests (Files): Likewise.
34359         * modules/mkfifo-tests (Files): Likewise.
34360         * modules/mkfifoat-tests (Files): Likewise.
34361         * modules/mknod-tests (Files): Likewise.
34362         * modules/nanosleep-tests (Files): Likewise.
34363         * modules/nl_langinfo-tests (Files): Likewise.
34364         * modules/obstack-printf-tests (Files): Likewise.
34365         * modules/open-tests (Files): Likewise.
34366         * modules/openat-tests (Files): Likewise.
34367         * modules/pipe-filter-gi-tests (Files): Likewise.
34368         * modules/pipe-filter-ii-tests (Files): Likewise.
34369         * modules/pipe2-tests (Files): Likewise.
34370         * modules/popen-safer-tests (Files): Likewise.
34371         * modules/popen-tests (Files): Likewise.
34372         * modules/posixtm-tests (Files): Likewise.
34373         * modules/pread-tests (Files): Likewise.
34374         * modules/printf-frexp-tests (Files): Likewise.
34375         * modules/printf-frexpl-tests (Files): Likewise.
34376         * modules/printf-posix-tests (Files): Likewise.
34377         * modules/priv-set-tests (Files): Likewise.
34378         * modules/quotearg-tests (Files): Likewise.
34379         * modules/random_r-tests (Files): Likewise.
34380         * modules/rawmemchr-tests (Files): Likewise.
34381         * modules/rbtree-list-tests (Files): Likewise.
34382         * modules/rbtree-oset-tests (Files): Likewise.
34383         * modules/rbtreehash-list-tests (Files): Likewise.
34384         * modules/readlink-tests (Files): Likewise.
34385         * modules/remove-tests (Files): Likewise.
34386         * modules/rename-tests (Files): Likewise.
34387         * modules/renameat-tests (Files): Likewise.
34388         * modules/rmdir-tests (Files): Likewise.
34389         * modules/round-tests (Files): Likewise.
34390         * modules/roundf-tests (Files): Likewise.
34391         * modules/roundl-tests (Files): Likewise.
34392         * modules/safe-alloc-tests (Files): Likewise.
34393         * modules/setenv-tests (Files): Likewise.
34394         * modules/sigaction-tests (Files): Likewise.
34395         * modules/signbit-tests (Files): Likewise.
34396         * modules/sleep-tests (Files): Likewise.
34397         * modules/snprintf-posix-tests (Files): Likewise.
34398         * modules/snprintf-tests (Files): Likewise.
34399         * modules/sprintf-posix-tests (Files): Likewise.
34400         * modules/stat-tests (Files): Likewise.
34401         * modules/stat-time-tests (Files): Likewise.
34402         * modules/strcasestr-tests (Files): Likewise.
34403         * modules/strchrnul-tests (Files): Likewise.
34404         * modules/strerror-tests (Files): Likewise.
34405         * modules/striconv-tests (Files): Likewise.
34406         * modules/striconveh-tests (Files): Likewise.
34407         * modules/striconveha-tests (Files): Likewise.
34408         * modules/strsignal-tests (Files): Likewise.
34409         * modules/strstr-tests (Files): Likewise.
34410         * modules/strtod-tests (Files): Likewise.
34411         * modules/strverscmp-tests (Files): Likewise.
34412         * modules/symlink-tests (Files): Likewise.
34413         * modules/symlinkat-tests (Files): Likewise.
34414         * modules/trunc-tests (Files): Likewise.
34415         * modules/truncf-tests (Files): Likewise.
34416         * modules/truncl-tests (Files): Likewise.
34417         * modules/uname-tests (Files): Likewise.
34418         * modules/unicase/cased-tests (Files): Likewise.
34419         * modules/unicase/ignorable-tests (Files): Likewise.
34420         * modules/unicase/locale-language-tests (Files): Likewise.
34421         * modules/unicase/tolower-tests (Files): Likewise.
34422         * modules/unicase/totitle-tests (Files): Likewise.
34423         * modules/unicase/toupper-tests (Files): Likewise.
34424         * modules/unicase/u8-casecmp-tests (Files): Likewise.
34425         * modules/unicase/u8-casecoll-tests (Files): Likewise.
34426         * modules/unicase/u8-casefold-tests (Files): Likewise.
34427         * modules/unicase/u8-is-cased-tests (Files): Likewise.
34428         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
34429         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
34430         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
34431         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
34432         * modules/unicase/u8-tolower-tests (Files): Likewise.
34433         * modules/unicase/u8-totitle-tests (Files): Likewise.
34434         * modules/unicase/u8-toupper-tests (Files): Likewise.
34435         * modules/unicase/u16-casecmp-tests (Files): Likewise.
34436         * modules/unicase/u16-casecoll-tests (Files): Likewise.
34437         * modules/unicase/u16-casefold-tests (Files): Likewise.
34438         * modules/unicase/u16-is-cased-tests (Files): Likewise.
34439         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
34440         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
34441         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
34442         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
34443         * modules/unicase/u16-tolower-tests (Files): Likewise.
34444         * modules/unicase/u16-totitle-tests (Files): Likewise.
34445         * modules/unicase/u16-toupper-tests (Files): Likewise.
34446         * modules/unicase/u32-casecmp-tests (Files): Likewise.
34447         * modules/unicase/u32-casecoll-tests (Files): Likewise.
34448         * modules/unicase/u32-casefold-tests (Files): Likewise.
34449         * modules/unicase/u32-is-cased-tests (Files): Likewise.
34450         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
34451         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
34452         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
34453         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
34454         * modules/unicase/u32-tolower-tests (Files): Likewise.
34455         * modules/unicase/u32-totitle-tests (Files): Likewise.
34456         * modules/unicase/u32-toupper-tests (Files): Likewise.
34457         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
34458         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
34459         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
34460         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
34461         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
34462         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
34463         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
34464         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
34465         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
34466         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
34467         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
34468         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
34469         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
34470         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
34471         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
34472         * modules/unictype/bidicategory-name-tests (Files): Likewise.
34473         * modules/unictype/bidicategory-of-tests (Files): Likewise.
34474         * modules/unictype/bidicategory-test-tests (Files): Likewise.
34475         * modules/unictype/block-list-tests (Files): Likewise.
34476         * modules/unictype/block-of-tests (Files): Likewise.
34477         * modules/unictype/block-test-tests (Files): Likewise.
34478         * modules/unictype/category-C-tests (Files): Likewise.
34479         * modules/unictype/category-Cc-tests (Files): Likewise.
34480         * modules/unictype/category-Cf-tests (Files): Likewise.
34481         * modules/unictype/category-Cn-tests (Files): Likewise.
34482         * modules/unictype/category-Co-tests (Files): Likewise.
34483         * modules/unictype/category-Cs-tests (Files): Likewise.
34484         * modules/unictype/category-L-tests (Files): Likewise.
34485         * modules/unictype/category-Ll-tests (Files): Likewise.
34486         * modules/unictype/category-Lm-tests (Files): Likewise.
34487         * modules/unictype/category-Lo-tests (Files): Likewise.
34488         * modules/unictype/category-Lt-tests (Files): Likewise.
34489         * modules/unictype/category-Lu-tests (Files): Likewise.
34490         * modules/unictype/category-M-tests (Files): Likewise.
34491         * modules/unictype/category-Mc-tests (Files): Likewise.
34492         * modules/unictype/category-Me-tests (Files): Likewise.
34493         * modules/unictype/category-Mn-tests (Files): Likewise.
34494         * modules/unictype/category-N-tests (Files): Likewise.
34495         * modules/unictype/category-Nd-tests (Files): Likewise.
34496         * modules/unictype/category-Nl-tests (Files): Likewise.
34497         * modules/unictype/category-No-tests (Files): Likewise.
34498         * modules/unictype/category-P-tests (Files): Likewise.
34499         * modules/unictype/category-Pc-tests (Files): Likewise.
34500         * modules/unictype/category-Pd-tests (Files): Likewise.
34501         * modules/unictype/category-Pe-tests (Files): Likewise.
34502         * modules/unictype/category-Pf-tests (Files): Likewise.
34503         * modules/unictype/category-Pi-tests (Files): Likewise.
34504         * modules/unictype/category-Po-tests (Files): Likewise.
34505         * modules/unictype/category-Ps-tests (Files): Likewise.
34506         * modules/unictype/category-S-tests (Files): Likewise.
34507         * modules/unictype/category-Sc-tests (Files): Likewise.
34508         * modules/unictype/category-Sk-tests (Files): Likewise.
34509         * modules/unictype/category-Sm-tests (Files): Likewise.
34510         * modules/unictype/category-So-tests (Files): Likewise.
34511         * modules/unictype/category-Z-tests (Files): Likewise.
34512         * modules/unictype/category-Zl-tests (Files): Likewise.
34513         * modules/unictype/category-Zp-tests (Files): Likewise.
34514         * modules/unictype/category-Zs-tests (Files): Likewise.
34515         * modules/unictype/category-and-not-tests (Files): Likewise.
34516         * modules/unictype/category-and-tests (Files): Likewise.
34517         * modules/unictype/category-byname-tests (Files): Likewise.
34518         * modules/unictype/category-name-tests (Files): Likewise.
34519         * modules/unictype/category-none-tests (Files): Likewise.
34520         * modules/unictype/category-of-tests (Files): Likewise.
34521         * modules/unictype/category-or-tests (Files): Likewise.
34522         * modules/unictype/category-test-withtable-tests (Files): Likewise.
34523         * modules/unictype/combining-class-tests (Files): Likewise.
34524         * modules/unictype/ctype-alnum-tests (Files): Likewise.
34525         * modules/unictype/ctype-alpha-tests (Files): Likewise.
34526         * modules/unictype/ctype-blank-tests (Files): Likewise.
34527         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
34528         * modules/unictype/ctype-digit-tests (Files): Likewise.
34529         * modules/unictype/ctype-graph-tests (Files): Likewise.
34530         * modules/unictype/ctype-lower-tests (Files): Likewise.
34531         * modules/unictype/ctype-print-tests (Files): Likewise.
34532         * modules/unictype/ctype-punct-tests (Files): Likewise.
34533         * modules/unictype/ctype-space-tests (Files): Likewise.
34534         * modules/unictype/ctype-upper-tests (Files): Likewise.
34535         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
34536         * modules/unictype/decimal-digit-tests (Files): Likewise.
34537         * modules/unictype/digit-tests (Files): Likewise.
34538         * modules/unictype/mirror-tests (Files): Likewise.
34539         * modules/unictype/numeric-tests (Files): Likewise.
34540         * modules/unictype/property-alphabetic-tests (Files): Likewise.
34541         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
34542         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
34543         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
34544         Likewise.
34545         * modules/unictype/property-bidi-block-separator-tests (Files):
34546         Likewise.
34547         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
34548         Likewise.
34549         * modules/unictype/property-bidi-common-separator-tests (Files):
34550         Likewise.
34551         * modules/unictype/property-bidi-control-tests (Files): Likewise.
34552         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
34553         Likewise.
34554         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
34555         Likewise.
34556         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
34557         Likewise.
34558         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
34559         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
34560         Likewise.
34561         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
34562         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
34563         Likewise.
34564         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
34565         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
34566         * modules/unictype/property-bidi-segment-separator-tests (Files):
34567         Likewise.
34568         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
34569         * modules/unictype/property-byname-tests (Files): Likewise.
34570         * modules/unictype/property-combining-tests (Files): Likewise.
34571         * modules/unictype/property-composite-tests (Files): Likewise.
34572         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
34573         * modules/unictype/property-dash-tests (Files): Likewise.
34574         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
34575         * modules/unictype/property-default-ignorable-code-point-tests (Files):
34576         Likewise.
34577         * modules/unictype/property-deprecated-tests (Files): Likewise.
34578         * modules/unictype/property-diacritic-tests (Files): Likewise.
34579         * modules/unictype/property-extender-tests (Files): Likewise.
34580         * modules/unictype/property-format-control-tests (Files): Likewise.
34581         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
34582         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
34583         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
34584         * modules/unictype/property-hex-digit-tests (Files): Likewise.
34585         * modules/unictype/property-hyphen-tests (Files): Likewise.
34586         * modules/unictype/property-id-continue-tests (Files): Likewise.
34587         * modules/unictype/property-id-start-tests (Files): Likewise.
34588         * modules/unictype/property-ideographic-tests (Files): Likewise.
34589         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
34590         * modules/unictype/property-ids-trinary-operator-tests (Files):
34591         Likewise.
34592         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
34593         * modules/unictype/property-iso-control-tests (Files): Likewise.
34594         * modules/unictype/property-join-control-tests (Files): Likewise.
34595         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
34596         * modules/unictype/property-line-separator-tests (Files): Likewise.
34597         * modules/unictype/property-logical-order-exception-tests (Files):
34598         Likewise.
34599         * modules/unictype/property-lowercase-tests (Files): Likewise.
34600         * modules/unictype/property-math-tests (Files): Likewise.
34601         * modules/unictype/property-non-break-tests (Files): Likewise.
34602         * modules/unictype/property-not-a-character-tests (Files): Likewise.
34603         * modules/unictype/property-numeric-tests (Files): Likewise.
34604         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
34605         * modules/unictype/property-other-default-ignorable-code-point-tests
34606         (Files): Likewise.
34607         * modules/unictype/property-other-grapheme-extend-tests (Files):
34608         Likewise.
34609         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
34610         * modules/unictype/property-other-id-start-tests (Files): Likewise.
34611         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
34612         * modules/unictype/property-other-math-tests (Files): Likewise.
34613         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
34614         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
34615         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
34616         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
34617         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
34618         * modules/unictype/property-private-use-tests (Files): Likewise.
34619         * modules/unictype/property-punctuation-tests (Files): Likewise.
34620         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
34621         * modules/unictype/property-radical-tests (Files): Likewise.
34622         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
34623         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
34624         * modules/unictype/property-space-tests (Files): Likewise.
34625         * modules/unictype/property-terminal-punctuation-tests (Files):
34626         Likewise.
34627         * modules/unictype/property-test-tests (Files): Likewise.
34628         * modules/unictype/property-titlecase-tests (Files): Likewise.
34629         * modules/unictype/property-unassigned-code-value-tests (Files):
34630         Likewise.
34631         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
34632         * modules/unictype/property-uppercase-tests (Files): Likewise.
34633         * modules/unictype/property-variation-selector-tests (Files): Likewise.
34634         * modules/unictype/property-white-space-tests (Files): Likewise.
34635         * modules/unictype/property-xid-continue-tests (Files): Likewise.
34636         * modules/unictype/property-xid-start-tests (Files): Likewise.
34637         * modules/unictype/property-zero-width-tests (Files): Likewise.
34638         * modules/unictype/scripts-tests (Files): Likewise.
34639         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
34640         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
34641         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
34642         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
34643         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
34644         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
34645         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
34646         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
34647         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
34648         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
34649         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
34650         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
34651         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
34652         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
34653         * modules/uninorm/composition-tests (Files): Likewise.
34654         * modules/uninorm/decomposing-form-tests (Files): Likewise.
34655         * modules/uninorm/decomposition-tests (Files): Likewise.
34656         * modules/uninorm/filter-tests (Files): Likewise.
34657         * modules/uninorm/nfc-tests (Files): Likewise.
34658         * modules/uninorm/nfd-tests (Files): Likewise.
34659         * modules/uninorm/nfkc-tests (Files): Likewise.
34660         * modules/uninorm/nfkd-tests (Files): Likewise.
34661         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
34662         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
34663         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
34664         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
34665         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
34666         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
34667         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
34668         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
34669         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
34670         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
34671         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
34672         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
34673         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
34674         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
34675         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
34676         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
34677         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
34678         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
34679         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
34680         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
34681         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
34682         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
34683         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
34684         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
34685         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
34686         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
34687         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
34688         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
34689         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
34690         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
34691         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
34692         * modules/uniwidth/u8-width-tests (Files): Likewise.
34693         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
34694         * modules/uniwidth/u16-width-tests (Files): Likewise.
34695         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
34696         * modules/uniwidth/u32-width-tests (Files): Likewise.
34697         * modules/uniwidth/width-tests (Files): Likewise.
34698         * modules/unlink-tests (Files): Likewise.
34699         * modules/unsetenv-tests (Files): Likewise.
34700         * modules/usleep-tests (Files): Likewise.
34701         * modules/utimens-tests (Files): Likewise.
34702         * modules/utimensat-tests (Files): Likewise.
34703         * modules/vasnprintf-posix-tests (Files): Likewise.
34704         * modules/vasnprintf-tests (Files): Likewise.
34705         * modules/vasprintf-posix-tests (Files): Likewise.
34706         * modules/vasprintf-tests (Files): Likewise.
34707         * modules/vdprintf-posix-tests (Files): Likewise.
34708         * modules/vfprintf-posix-tests (Files): Likewise.
34709         * modules/vprintf-posix-tests (Files): Likewise.
34710         * modules/vsnprintf-posix-tests (Files): Likewise.
34711         * modules/vsnprintf-tests (Files): Likewise.
34712         * modules/vsprintf-posix-tests (Files): Likewise.
34713         * modules/wcrtomb-tests (Files): Likewise.
34714         * modules/wcsnrtombs-tests (Files): Likewise.
34715         * modules/wcsrtombs-tests (Files): Likewise.
34716         * modules/wctype-tests (Files): Likewise.
34717         * modules/wcwidth-tests (Files): Likewise.
34718         * modules/xmemdup0-tests (Files): Likewise.
34719         * modules/xprintf-posix-tests (Files): Likewise.
34720         * modules/xvasprintf-tests (Files): Likewise.
34721
34722 2009-12-24  Eric Blake  <ebb9@byu.net>
34723
34724         test-nanosleep: fix typo
34725         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
34726         patch.
34727         Reported by Bruno Haible.
34728
34729 2009-12-24  Bruno Haible  <bruno@clisp.org>
34730
34731         Reduce namespace pollution on glibc systems.
34732         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
34733         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
34734         systems.
34735         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
34736         <getopt.h> on glibc systems.
34737         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
34738         systems.
34739         * lib/fcntl.c: Include <unistd.h> here instead.
34740
34741 2009-12-24  Bruno Haible  <bruno@clisp.org>
34742
34743         * lib/stdlib.in.h (includes): Fix typo in today's commit.
34744
34745 2009-12-24  Eric Blake  <ebb9@byu.net>
34746
34747         tests: add signature checks
34748         * tests/signature.h (SIGNATURE_CHECK): New file.
34749         * modules/atexit-tests (Files): Use it.
34750         * modules/btowc-tests (Files): Likewise.
34751         * modules/canonicalize-lgpl-tests (Files): Likewise.
34752         * modules/ceilf-tests (Files): Likewise.
34753         * modules/ceill-tests (Files): Likewise.
34754         * modules/chown-tests (Files): Likewise.
34755         * modules/dprintf-posix-tests (Files): Likewise.
34756         * modules/dup2-tests (Files): Likewise.
34757         * modules/dup3-tests (Files): Likewise.
34758         * modules/duplocale-tests (Files): Likewise.
34759         * modules/fchdir-tests (Files): Likewise.
34760         * modules/fcntl-tests (Files): Likewise.
34761         * modules/fdopendir-tests (Files): Likewise.
34762         * modules/fflush-tests (Files): Likewise.
34763         * modules/flock-tests (Files): Likewise.
34764         * modules/floorf-tests (Files): Likewise.
34765         * modules/floorl-tests (Files): Likewise.
34766         * modules/fnmatch-tests (Files): Likewise.
34767         * modules/fopen-tests (Files): Likewise.
34768         * modules/fprintf-posix-tests (Files): Likewise.
34769         * modules/freopen-tests (Files): Likewise.
34770         * modules/frexp-nolibm-tests (Files): Likewise.
34771         * modules/frexp-tests (Files): Likewise.
34772         * modules/frexpl-nolibm-tests (Files): Likewise.
34773         * modules/frexpl-tests (Files): Likewise.
34774         * modules/fseek-tests (Files): Likewise.
34775         * modules/fseeko-tests (Files): Likewise.
34776         * modules/fsync-tests (Files): Likewise.
34777         * modules/ftell-tests (Files): Likewise.
34778         * modules/ftello-tests (Files): Likewise.
34779         * modules/futimens-tests (Files): Likewise.
34780         * modules/getaddrinfo-tests (Files): Likewise.
34781         * modules/getcwd-tests (Files): Likewise.
34782         * modules/getdelim-tests (Files): Likewise.
34783         * modules/getdtablesize-tests (Files): Likewise.
34784         * modules/getgroups-tests (Files): Likewise.
34785         * modules/gethostname-tests (Files): Likewise.
34786         * modules/getline-tests (Files): Likewise.
34787         * modules/getopt-posix-tests (Files): Likewise.
34788         * modules/gettimeofday-tests (Files): Likewise.
34789         * modules/glob-tests (Files): Likewise.
34790         * modules/iconv-tests (Files): Likewise.
34791         * modules/inet_ntop-tests (Files): Likewise.
34792         * modules/inet_pton-tests (Files): Likewise.
34793         * modules/isblank-tests (Files): Likewise.
34794         * modules/lchown-tests (Files): Likewise.
34795         * modules/ldexpl-tests (Files): Likewise.
34796         * modules/link-tests (Files): Likewise.
34797         * modules/linkat-tests (Files): Likewise.
34798         * modules/lseek-tests (Files): Likewise.
34799         * modules/lstat-tests (Files): Likewise.
34800         * modules/mbrtowc-tests (Files): Likewise.
34801         * modules/mbsinit-tests (Files): Likewise.
34802         * modules/mbsnrtowcs-tests (Files): Likewise.
34803         * modules/mbsrtowcs-tests (Files): Likewise.
34804         * modules/memchr-tests (Files): Likewise.
34805         * modules/memcmp-tests (Files): Likewise.
34806         * modules/memmem-tests (Files): Likewise.
34807         * modules/memrchr-tests (Files): Likewise.
34808         * modules/mkdir-tests (Files): Likewise.
34809         * modules/mkfifo-tests (Files): Likewise.
34810         * modules/mkfifoat-tests (Files): Likewise.
34811         * modules/mknod-tests (Files): Likewise.
34812         * modules/nanosleep-tests (Files): Likewise.
34813         * modules/nl_langinfo-tests (Files): Likewise.
34814         * modules/obstack-printf-tests (Files): Likewise.
34815         * modules/open-tests (Files): Likewise.
34816         * modules/openat-tests (Files): Likewise.
34817         * modules/perror-tests (Files): Likewise.
34818         * modules/pipe2-tests (Files): Likewise.
34819         * modules/poll-tests (Files): Likewise.
34820         * modules/popen-tests (Files): Likewise.
34821         * modules/posix_spawn-tests (Files): Likewise.
34822         * modules/posix_spawnp-tests (Files): Likewise.
34823         * modules/pread-tests (Files): Likewise.
34824         * modules/printf-posix-tests (Files): Likewise.
34825         * modules/pty-tests (Files): Likewise.
34826         * modules/random_r-tests (Files): Likewise.
34827         * modules/rawmemchr-tests (Files): Likewise.
34828         * modules/readlink-tests (Files): Likewise.
34829         * modules/remove-tests (Files): Likewise.
34830         * modules/rename-tests (Files): Likewise.
34831         * modules/renameat-tests (Files): Likewise.
34832         * modules/rmdir-tests (Files): Likewise.
34833         * modules/round-tests (Files): Likewise.
34834         * modules/roundf-tests (Files): Likewise.
34835         * modules/roundl-tests (Files): Likewise.
34836         * modules/select-tests (Files): Likewise.
34837         * modules/setenv-tests (Files): Likewise.
34838         * modules/sigaction-tests (Files): Likewise.
34839         * modules/sleep-tests (Files): Likewise.
34840         * modules/snprintf-posix-tests (Files): Likewise.
34841         * modules/snprintf-tests (Files): Likewise.
34842         * modules/sprintf-posix-tests (Files): Likewise.
34843         * modules/stat-tests (Files): Likewise.
34844         * modules/strcasestr-tests (Files): Likewise.
34845         * modules/strchrnul-tests (Files): Likewise.
34846         * modules/strerror-tests (Files): Likewise.
34847         * modules/strsignal-tests (Files): Likewise.
34848         * modules/strstr-tests (Files): Likewise.
34849         * modules/strtod-tests (Files): Likewise.
34850         * modules/strverscmp-tests (Files): Likewise.
34851         * modules/symlink-tests (Files): Likewise.
34852         * modules/symlinkat-tests (Files): Likewise.
34853         * modules/times-tests (Files): Likewise.
34854         * modules/trunc-tests (Files): Likewise.
34855         * modules/truncf-tests (Files): Likewise.
34856         * modules/truncl-tests (Files): Likewise.
34857         * modules/tsearch-tests (Files): Likewise.
34858         * modules/uname-tests (Files): Likewise.
34859         * modules/unlink-tests (Files): Likewise.
34860         * modules/unsetenv-tests (Files): Likewise.
34861         * modules/usleep-tests (Files): Likewise.
34862         * modules/utimensat-tests (Files): Likewise.
34863         * modules/vasprintf-tests (Files): Likewise.
34864         * modules/vdprintf-posix-tests (Files): Likewise.
34865         * modules/vfprintf-posix-tests (Files): Likewise.
34866         * modules/vprintf-posix-tests (Files): Likewise.
34867         * modules/vsnprintf-posix-tests (Files): Likewise.
34868         * modules/vsnprintf-tests (Files): Likewise.
34869         * modules/vsprintf-posix-tests (Files): Likewise.
34870         * modules/wcrtomb-tests (Files): Likewise.
34871         * modules/wcsnrtombs-tests (Files): Likewise.
34872         * modules/wcsrtombs-tests (Files): Likewise.
34873         * modules/wcwidth-tests (Files): Likewise.
34874         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
34875         * tests/test-isinf.c (isinf): Likewise.
34876         * tests/test-isnan.c (isnan): Likewise.
34877         * tests/test-signbit.c (signbit): Likewise.
34878         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
34879         declaration, either as macro or with correct signature.
34880         (select): Ensure function under test is declared with correct
34881         signature in correct header.
34882         * tests/test-atexit.c (atexit): Likewise.
34883         * tests/test-btowc.c (btowc): Likewise.
34884         * tests/test-canonicalize-lgpl.c (realpath)
34885         (canonicalize_file_name): Likewise.
34886         * tests/test-ceilf1.c (ceilf): Likewise.
34887         * tests/test-ceill.c (ceill): Likewise.
34888         * tests/test-chown.c (chown): Likewise.
34889         * tests/test-dprintf-posix.c (dprintf): Likewise.
34890         * tests/test-dup2.c (dup2): Likewise.
34891         * tests/test-dup3.c (dup3): Likewise.
34892         * tests/test-duplocale.c (duplocale): Likewise.
34893         * tests/test-fchdir.c (fchdir): Likewise.
34894         * tests/test-fchownat.c (fchownat): Likewise.
34895         * tests/test-fcntl.c (fcntl): Likewise.
34896         * tests/test-fdopendir.c (fdopendir): Likewise.
34897         * tests/test-fflush.c (fflush): Likewise.
34898         * tests/test-flock.c (flock): Likewise.
34899         * tests/test-floorf1.c (floorf): Likewise.
34900         * tests/test-floorl.c (floorl): Likewise.
34901         * tests/test-fnmatch.c (fnmatch): Likewise.
34902         * tests/test-fopen.c (fopen): Likewise.
34903         * tests/test-fprintf-posix.c (fprintf): Likewise.
34904         * tests/test-freopen.c (freopen): Likewise.
34905         * tests/test-frexp.c (frexp): Likewise.
34906         * tests/test-frexpl.c (frexpl): Likewise.
34907         * tests/test-fseek.c (fseek): Likewise.
34908         * tests/test-fseeko.c (fseeko): Likewise.
34909         * tests/test-fstatat.c (fstatat): Likewise.
34910         * tests/test-fsync.c (fsync): Likewise.
34911         * tests/test-ftell.c (ftell): Likewise.
34912         * tests/test-ftello.c (ftello): Likewise.
34913         * tests/test-futimens.c (futimens): Likewise.
34914         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
34915         (gai_strerror): Likewise.
34916         * tests/test-getcwd.c (getcwd): Likewise.
34917         * tests/test-getdelim.c (getdelim): Likewise.
34918         * tests/test-getdtablesize.c (getdtablesize): Likewise.
34919         * tests/test-getgroups.c (getgroups): Likewise.
34920         * tests/test-gethostname.c (gethostname): Likewise.
34921         * tests/test-getline.c (getline): Likewise.
34922         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
34923         Likewise.
34924         * tests/test-gettimeofday.c (gettimeofday): Likewise.
34925         * tests/test-glob.c (glob, globfree): Likewise.
34926         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
34927         * tests/test-inet_ntop.c (inet_ntop): Likewise.
34928         * tests/test-inet_pton.c (inet_pton): Likewise.
34929         * tests/test-isblank.c (isblank): Likewise.
34930         * tests/test-lchown.c (lchown): Likewise.
34931         * tests/test-ldexpl.c (ldexpl): Likewise.
34932         * tests/test-link.c (link): Likewise.
34933         * tests/test-linkat.c (linkat): Likewise.
34934         * tests/test-lseek.c (lseek): Likewise.
34935         * tests/test-lstat.c (lstat): Likewise.
34936         * tests/test-mbrtowc.c (mbrtowc): Likewise.
34937         * tests/test-mbsinit.c (mbsinit): Likewise.
34938         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
34939         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
34940         * tests/test-memchr.c (memchr): Likewise.
34941         * tests/test-memcmp.c (memcmp): Likewise.
34942         * tests/test-memmem.c (memmem): Likewise.
34943         * tests/test-memrchr.c (memrchr): Likewise.
34944         * tests/test-mkdir.c (mkdir): Likewise.
34945         * tests/test-mkdirat.c (mkdirat): Likewise.
34946         * tests/test-mkfifo.c (mkfifo): Likewise.
34947         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
34948         * tests/test-mknod.c (mknod): Likewise.
34949         * tests/test-nanosleep.c (nanosleep): Likewise.
34950         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
34951         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
34952         Likewise.
34953         * tests/test-open.c (open): Likewise.
34954         * tests/test-openat.c (openat): Likewise.
34955         * tests/test-perror.c (perror): Likewise.
34956         * tests/test-pipe2.c (pipe2): Likewise.
34957         * tests/test-poll.c (poll): Likewise.
34958         * tests/test-popen.c (popen, pclose): Likewise.
34959         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
34960         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
34961         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
34962         (posix_spawn_file_actions_destroy)
34963         (posix_spawn_file_actions_addclose)
34964         (posix_spawn_file_actions_addopen)
34965         (posix_spawn_file_actions_adddup2): Likewise.
34966         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
34967         * tests/test-pread.c (pread): Likewise.
34968         * tests/test-printf-posix.c (printf): Likewise.
34969         * tests/test-pty.c (openpty, forkpty): Likewise.
34970         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
34971         (random_r): Likewise.
34972         * tests/test-rawmemchr.c (rawmemchr): Likewise.
34973         * tests/test-readlink.c (readlink): Likewise.
34974         * tests/test-remove.c (remove): Likewise.
34975         * tests/test-rename.c (rename): Likewise.
34976         * tests/test-renameat.c (renameat): Likewise.
34977         * tests/test-rmdir.c (rmdir): Likewise.
34978         * tests/test-round1.c (round): Likewise.
34979         * tests/test-roundf1.c (roundf): Likewise.
34980         * tests/test-roundl.c (roundl): Likewise.
34981         * tests/test-setenv.c (setenv): Likewise.
34982         * tests/test-sigaction.c (sigaction): Likewise.
34983         * tests/test-sleep.c (sleep): Likewise.
34984         * tests/test-snprintf.c (snprintf): Likewise.
34985         * tests/test-sprintf-posix.c (sprintf): Likewise.
34986         * tests/test-stat.c (stat): Likewise.
34987         * tests/test-stpncpy.c (stpncpy): Likewise.
34988         * tests/test-strcasestr.c (strcasestr): Likewise.
34989         * tests/test-strchrnul.c (strchrnul): Likewise.
34990         * tests/test-strerror.c (strerror): Likewise.
34991         * tests/test-strsignal.c (strsignal): Likewise.
34992         * tests/test-strstr.c (strstr): Likewise.
34993         * tests/test-strtod.c (strtod): Likewise.
34994         * tests/test-strverscmp.c (strverscmp): Likewise.
34995         * tests/test-symlink.c (symlink): Likewise.
34996         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
34997         * tests/test-times.c (times): Likewise.
34998         * tests/test-trunc1.c (trunc): Likewise.
34999         * tests/test-truncf1.c (truncf): Likewise.
35000         * tests/test-truncl.c (truncl): Likewise.
35001         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
35002         Likewise.
35003         * tests/test-uname.c (uname): Likewise.
35004         * tests/test-unlink.c (unlink): Likewise.
35005         * tests/test-unlinkat.c (unlinkat): Likewise.
35006         * tests/test-unsetenv.c (unsetenv): Likewise.
35007         * tests/test-usleep.c (usleep): Likewise.
35008         * tests/test-utimensat.c (utimensat): Likewise.
35009         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
35010         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
35011         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
35012         * tests/test-vprintf-posix.c (vprintf): Likewise.
35013         * tests/test-vsnprintf.c (vsnprintf): Likewise.
35014         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
35015         * tests/test-wcrtomb.c (wcrtomb): Likewise.
35016         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
35017         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
35018         * tests/test-wcwidth.c (wcwidth): Likewise.
35019
35020         build: pull in conditional headers during GNULIB_POSIXCHECK
35021         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
35022         definitions from any conditionally-included headers.
35023         * lib/stdlib.in.h (includes): Likewise.
35024         * lib/unistd.in.h (includes): Likewise.
35025
35026 2009-12-24  Bruno Haible  <bruno@clisp.org>
35027
35028         * tests/test-argv-iter.c: Include header file being tested immediately
35029         after config.h.
35030         * tests/test-base64.c: Likewise.
35031         * tests/test-flock.c: Likewise.
35032         * tests/test-fsync.c: Likewise.
35033         * tests/test-getdate.c: Likewise.
35034         * tests/test-getndelim2.c: Likewise.
35035         * tests/test-isfinite.c: Likewise.
35036         * tests/test-isinf.c: Likewise.
35037         * tests/test-strerror.c: Likewise.
35038         * tests/test-strsignal.c: Likewise.
35039
35040 2009-12-23  Eric Blake  <ebb9@byu.net>
35041
35042         unistd: work around cygwin bug
35043         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
35044         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
35045         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
35046
35047 2009-12-23  Bruno Haible  <bruno@clisp.org>
35048
35049         localename: More tests.
35050         * tests/test-localename.c (SIZEOF): New macro.
35051         (categories): New variable.
35052         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
35053         test_locale_name_default): Add test w.r.t. thread locale.
35054         (test_locale_name_thread): New function.
35055         (main): Invoke it.
35056
35057         localename: Make aware of thread locale.
35058         * lib/localename.h (gl_locale_name_thread): New declaration.
35059         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
35060         behaviour with respect to thread locale.
35061         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
35062         <langinfo.h>, glthread/lock.h.
35063         (SIZE_BITS): New macro.
35064         (string_hash): New function.
35065         (struct hash_node): New type.
35066         (HASH_TABLE_SIZE): New macro.
35067         (struniq_hash_table, struniq_lock): New variables.
35068         (struniq): New function.
35069         (gl_locale_name_thread): New function.
35070         (gl_locale_name): Invoke it.
35071         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
35072         * modules/localename (Depends-on): Add lock.
35073         Reported by Mike Gran <spk121@yahoo.com>.
35074
35075 2009-12-23  Eric Blake  <ebb9@byu.net>
35076
35077         va-args: new module
35078         * modules/va-args: New file.
35079         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
35080         * MODULES.html.sh (Core language properties): Mention it.
35081
35082         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
35083         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
35084         named alias for __attribute__((__unused__)).
35085         * lib/chown.c: Update client.
35086         * lib/fchmodat.c: Likewise.
35087         * lib/fts.c: Likewise.
35088         * lib/getdate.y: Likewise.
35089         * lib/getgroups.c: Likewise.
35090         * lib/getopt.c: Likewise.
35091         * lib/getugroups.c: Likewise.
35092         * lib/mkdir.c: Likewise.
35093         * lib/mkfifo.c: Likewise.
35094         * lib/mkfifoat.c: Likewise.
35095         * lib/mknod.c: Likewise.
35096         * lib/mknodat.c: Likewise.
35097         * lib/readlink.c: Likewise.
35098         * lib/se-context.in.h: Likewise.
35099         * lib/se-selinux.in.h: Likewise.
35100         * lib/sockets.c: Likewise.
35101         * lib/symlink.c: Likewise.
35102         * lib/symlinkat.c: Likewise.
35103         * lib/unicodeio.c: Likewise.
35104         * lib/unistr.h: Likewise.
35105         * tests/test-areadlink.c: Likewise.
35106         * tests/test-areadlinkat.c: Likewise.
35107         * tests/test-filenamecat.c: Likewise.
35108         * tests/test-fseeko.c: Likewise.
35109         * tests/test-ftello.c: Likewise.
35110         * tests/test-getdate.c: Likewise.
35111         * tests/test-getgroups.c: Likewise.
35112         * tests/test-gethostname.c: Likewise.
35113         * tests/test-quotearg.c: Likewise.
35114         * tests/test-version-etc.c: Likewise.
35115         * tests/test-xalloc-die.c: Likewise.
35116         * tests/test-xfprintf-posix.c: Likewise.
35117         * tests/test-xprintf-posix.c: Likewise.
35118         * tests/test-xvasprintf.c: Likewise.
35119
35120         tests: avoid compiler warnings
35121         * tests/test-fcntl.c (main): Delete unused parameters.
35122         * tests/test-freopen-safer.c (main): Likewise.
35123         * tests/test-xalloc-die.c (main): Mark unused parameters.
35124         * tests/test-fseeko.c (main): Likewise.
35125         * tests/test-ftello.c (main): Likewise.
35126         * tests/test-nanosleep.c (main): Avoid declaration warning.
35127         * tests/test-sleep.c (main): Likewise.
35128         * tests/test-unsetenv.c (main): Silence warning about string
35129         literal.
35130         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
35131
35132 2009-12-23  Bruno Haible  <bruno@clisp.org>
35133
35134         * tests/test-localename.c (test_locale_name): New function, extracted
35135         from main. Also test mixed situations.
35136         (test_locale_name_posix, test_locale_name_environ,
35137         test_locale_name_default): New functions.
35138         (main): Invoke them all.
35139         * modules/localename-tests (configure.ac): Test for newlocale.
35140
35141 2009-12-23  Bruno Haible  <bruno@clisp.org>
35142
35143         unistd: Ensure getcwd gets declared before being overridden.
35144         * lib/unistd.in.h: Conditionally include <io.h>.
35145
35146 2009-12-22  Bruno Haible  <bruno@clisp.org>
35147
35148         wchar: Diagnose broken combination of glibc and gcc versions and flags.
35149         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
35150         (gl_WCHAR_H): Invoke it.
35151         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
35152         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
35153         Reported by Karl Berry <karl@freefriends.org>.
35154
35155 2009-12-22  Eric Blake  <ebb9@byu.net>
35156
35157         math, unistd: avoid redundant includes
35158         * lib/math.in.h (isnan): No need to re-include <math.h>.
35159         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
35160
35161         getsubopt: work around cygwin bug
35162         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
35163         avoid conflicting with system getsubopt.
35164         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
35165         bug.
35166
35167         getopt: synchronize from glibc
35168         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
35169         parameter order.  Adjust all callers.
35170         (_getopt_internal_r, main): Adjust quoting in error messages.
35171         Drop considerations for outdated POSIX 1003.2 error message.
35172         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
35173         callers.
35174         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
35175
35176         test-getopt: test stderr behavior
35177         * modules/getopt-posix-tests (Depends-on): Add dup2.
35178         * tests/test-getopt.c (ASSERT): Avoid stderr.
35179         (main): Move stderr to a temporary file.
35180         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
35181         Instead, add parameter to inform caller if output occurred.
35182         (test_getopt): Adjust all existing tests to expect silence, and
35183         add new tests of leading ":".
35184         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
35185         glibc shortcomings with leading "-:" or "+:" in optstring.
35186         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
35187         Likewise.
35188         * doc/posix-functions/getopt.texi (getopt): Likewise.
35189
35190         test-getopt: enhance test
35191         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
35192         supports optind=0.
35193         * tests/test-getopt.c (OPTIND_MIN): Move...
35194         * tests/test-getopt.h (OPTIND_MIN): ...here.
35195         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
35196         Require that optind=0 works, since modern BSD supports it in
35197         addition to optreset, and since coreutils expects it.
35198         (test_getopt_long_only): New test.
35199         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
35200         glibc shortcomings with 'W;', and enforcement of optind=0.
35201         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
35202         Likewise.
35203
35204 2009-12-21  Bruno Haible  <bruno@clisp.org>
35205
35206         localename: Improvements for MacOS X and Cygwin.
35207         * lib/localename.h (gl_locale_name_environ): New declaration.
35208         * lib/localename.c (gl_locale_name_environ): New function, extracted from
35209         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
35210         (gl_locale_name_posix): Invoke it.
35211         (gl_locale_name_default): Add comments. Use Windows native API also on
35212         Cygwin.
35213
35214 2009-12-21  Bruno Haible  <bruno@clisp.org>
35215
35216         Update list of Win32 locale ids.
35217         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
35218         (LANG_SAMI): Renamed from LANG_SAAMI.
35219         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
35220         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
35221         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
35222         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
35223         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
35224         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
35225         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
35226         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
35227         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
35228         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
35229         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
35230         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
35231         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
35232         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
35233         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
35234         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
35235         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
35236         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
35237         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
35238         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
35239         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
35240         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
35241         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
35242         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
35243         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
35244         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
35245         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
35246         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
35247         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
35248         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
35249         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
35250         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
35251         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
35252         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
35253         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
35254         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
35255         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
35256         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
35257         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
35258         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
35259         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
35260         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
35261         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
35262         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
35263         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
35264         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
35265         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
35266         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
35267         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
35268         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
35269         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
35270         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
35271         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
35272         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
35273         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
35274         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
35275         Add more languages and countries for Sami, Sorbian. Add more countries
35276         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
35277         for Pashto. Change country for Syriac, Tswana.
35278
35279 2009-12-21  Eric Blake  <ebb9@byu.net>
35280
35281         test-utimens: avoid spurious failure
35282         * tests/test-chown.h (nap): Factor...
35283         * tests/nap.h: ...into new file.
35284         * tests/test-lchown.h (nap): Avoid duplication.
35285         * tests/test-utimens-common.h (nap): Use shared implementation,
35286         necessary on file systems with 1-second resolution.
35287         * modules/chown-tests (Files): Include new file.
35288         * modules/fdutimensat-tests (Files): Likewise.
35289         * modules/futimens-tests (Files): Likewise.
35290         * modules/lchown-tests (Files): Likewise.
35291         * modules/openat-tests (Files): Likewise.
35292         * modules/utimens-tests (Files): Likewise.
35293         * modules/utimensat-tests (Files): Likewise.
35294
35295 2009-12-19  Eric Blake  <ebb9@byu.net>
35296
35297         futimens, utimensat: work around Linux bug
35298         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
35299         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
35300         * lib/utimensat.c (rpl_utimensat): Work around it.
35301         * lib/futimens.c (rpl_futimens): Adjust comment.
35302
35303         utimens: work around Linux ctime bug
35304         * lib/utimens.c (detect_ctime_bug): New helper function.
35305         (update_timespec): Differentiate between workaround needed for
35306         this bug vs. what is needed for systems that lack utimensat.
35307         (fdutimens, lutimens): Work around bug.
35308
35309         utimens: check for ctime update
35310         * tests/test-utimens-common.h (check_ctime): Define.
35311         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
35312         * tests/test-futimens.h (test_futimens): Likewise.
35313         * tests/test-lutimens.h (test_lutimens): Likewise.
35314         * doc/posix-functions/futimens.texi (futimens): Document the bug.
35315         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
35316
35317 2009-12-19  Bruno Haible  <bruno@clisp.org>
35318
35319         dprintf-posix: Check against memory leak fixed on 2009-12-15.
35320         * tests/test-dprintf-posix2.sh: New file.
35321         * tests/test-dprintf-posix2.c: New file.
35322         * modules/dprintf-posix-tests (Files): Add them.
35323         (configure.ac): Check for getrlimit and setrlimit.
35324         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
35325
35326 2009-12-19  Bruno Haible  <bruno@clisp.org>
35327
35328         fprintf-posix: Check against memory leak fixed on 2009-12-15.
35329         * tests/test-fprintf-posix3.sh: New file.
35330         * tests/test-fprintf-posix3.c: New file.
35331         * modules/fprintf-posix-tests (Files): Add them.
35332         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
35333
35334 2009-12-19  Eric Blake  <ebb9@byu.net>
35335
35336         dirfd: fix prototype
35337         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
35338         * lib/dirfd.c (dirfd): Likewise.
35339
35340         canonicalize: reduce memory usage
35341         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
35342         allocation to size.
35343         Reported by Solar Designer <solar@openwall.com>.
35344
35345 2009-12-19  Bruno Haible  <bruno@clisp.org>
35346
35347         New module attribute 'Applicability'.
35348         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
35349         * gnulib-tool: New option --extract-applicability.
35350         (func_usage): Document it.
35351         (sed_extract_prog): Recognize it.
35352         (func_get_applicability): New function.
35353         (func_import): Generalize handling of 'link-warning' module.
35354         * modules/link-warning (Applicability): New section.
35355         * modules/arg-nonnull (Applicability): New section.
35356         Repoted by Simon Josefsson <simon@josefsson.org>.
35357
35358 2009-12-19  Bruno Haible  <bruno@clisp.org>
35359
35360         fflush: tweak
35361         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
35362         * lib/fseeko.c (rpl_fseeko): Likewise.
35363
35364 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
35365
35366         * lib/gl_list.h: Fix typo in comment.
35367
35368 2009-12-16  Eric Blake  <ebb9@byu.net>
35369
35370         fcntl: use to simplify other modules
35371         * modules/cloexec (Depends-on): Add fcntl.
35372         * modules/fchdir (Depends-on): Likewise.
35373         * modules/fd-safer-flag (Depends-on): Likewise.
35374         * modules/unistd-safer (Depends-on): Likewise.
35375         * modules/dup3 (configure.ac): Set module indicator.
35376         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
35377         missing.
35378         * lib/fchdir.c (_gl_register_dup): Fix comment.
35379         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
35380         * lib/dup-safer.c (dup_safer): Likewise.
35381         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
35382         * lib/dup3.c (dup3): Likewise.
35383         * tests/test-fchdir.c (main): Enhance test.
35384         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
35385
35386         fcntl: port portions of fcntl to mingw
35387         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
35388         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
35389         replacement for mingw.
35390         * modules/fcntl (Description): Update.
35391         (Depends-on): Add dup2.
35392         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
35393         * modules/fcntl-h (Makefile.am): Substitute it.
35394         * lib/fcntl.in.h (fcntl): Update declaration.
35395         (F_DUPFD, F_GETFD): New macros, when needed.
35396         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
35397         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
35398         * tests/test-fcntl.c (check_flags, main): Enhance test for items
35399         we now guarantee.
35400
35401         fcntl: work around cygwin bug in F_DUPFD
35402         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
35403         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
35404         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
35405         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
35406         * doc/posix-functions/fcntl.texi (fcntl): Document it.
35407
35408         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
35409         * modules/fcntl (Files): List new files.
35410         (configure.ac): Run a test.
35411         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
35412         * lib/fcntl.c (rpl_fcntl): Likewise.
35413         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
35414         (gl_FCNTL_H): Always replace fcntl.h.
35415         * modules/fcntl-h (Makefile.am): Substitute witnesses.
35416         * lib/fcntl.in.h (fcntl): Declare replacement.
35417         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
35418         needed, plus a witness.
35419         * doc/posix-functions/fcntl.texi (fcntl): Document this.
35420         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
35421         * tests/test-fcntl.c: New file.
35422         * modules/fcntl-tests: Likewise.
35423
35424         binary-io: avoid potential compilation warning
35425         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
35426         directives.
35427
35428         fflush: avoid compilation error on NetBSD
35429         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
35430         between off_t and fpos_t, since the latter is sometimes a struct.
35431         * lib/fseeko.c (rpl_fseeko): Likewise.
35432         Reported by Alexander Nasonov <alnsn@yandex.ru>.
35433
35434 2009-12-15  Eric Blake  <ebb9@byu.net>
35435
35436         fcntl-h, stdio, sys_ioctl: fix declarations
35437         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
35438         function must not take arguments.
35439         * lib/sys_ioctl.in.h (ioctl): Likewise.
35440         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
35441         (open): Add a link warning.
35442
35443 2009-12-15  Jim Meyering  <meyering@redhat.com>
35444
35445         areadlink, areadlink-with-size: relax license to LGPLv2+
35446         * modules/areadlink (License): Relax to LGPLv2+.
35447         * modules/areadlink-with-size (License): Likewise.
35448
35449 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
35450             Bruno Haible  <bruno@clisp.org>
35451
35452         *printf: Fix memory leak.
35453         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
35454         * lib/vfprintf.c (vfprintf): Likewise.
35455         * lib/dprintf.c (dprintf): Likewise.
35456         * lib/vdprintf.c (vdprintf): Likewise.
35457
35458 2009-12-14  Eric Blake  <ebb9@byu.net>
35459
35460         accept4: adjust module dependencies
35461         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
35462
35463         utimens: one more try at avoiding compiler warning
35464         * lib/utimens.c (lutimens): Lower scope of result.
35465
35466 2009-12-13  Bruno Haible  <bruno@clisp.org>
35467
35468         Move the malloc checking from module 'list' to new module 'xlist'.
35469         * modules/xlist: New file.
35470         * lib/gl_xlist.h: New file.
35471         * lib/gl_xlist.c: New file.
35472         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
35473         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
35474         gl_list_add_last, gl_list_add_before, gl_list_add_after,
35475         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
35476         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
35477         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
35478         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
35479         gl_sortedlist_nx_add): New declarations.
35480         (struct gl_list_implementation): Rename and change methods accordingly.
35481         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
35482         (gl_list_nx_create): Renamed from gl_list_create.
35483         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
35484         (gl_list_nx_set_at): Renamed from gl_list_set_at.
35485         (gl_list_nx_add_first): Renamed from gl_list_add_first.
35486         (gl_list_nx_add_last): Renamed from gl_list_add_last.
35487         (gl_list_nx_add_before): Renamed from gl_list_add_before.
35488         (gl_list_nx_add_after): Renamed from gl_list_add_after.
35489         (gl_list_nx_add_at): Renamed from gl_list_add_at.
35490         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
35491         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
35492         gl_list_create_empty.
35493         (gl_list_nx_create): Renamed from gl_list_create.
35494         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
35495         (gl_list_nx_set_at): Renamed from gl_list_set_at.
35496         (gl_list_nx_add_first): Renamed from gl_list_add_first.
35497         (gl_list_nx_add_last): Renamed from gl_list_add_last.
35498         (gl_list_nx_add_before): Renamed from gl_list_add_before.
35499         (gl_list_nx_add_after): Renamed from gl_list_add_after.
35500         (gl_list_nx_add_at): Renamed from gl_list_add_at.
35501         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
35502         * lib/gl_array_list.c: Don't include xalloc.h.
35503         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
35504         NULL upon out-of-memory.
35505         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
35506         out-of-memory.
35507         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
35508         Change return type to 'int'.
35509         (gl_array_nx_set_at): Renamed from gl_array_set_at.
35510         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
35511         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
35512         upon out-of-memory.
35513         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
35514         upon out-of-memory.
35515         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
35516         upon out-of-memory.
35517         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
35518         upon out-of-memory.
35519         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
35520         out-of-memory.
35521         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
35522         Update.
35523         (gl_array_list_implementation): Update.
35524         * lib/gl_carray_list.c: Don't include xalloc.h.
35525         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
35526         Return NULL upon out-of-memory.
35527         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
35528         out-of-memory.
35529         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
35530         Change return type to 'int'.
35531         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
35532         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
35533         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
35534         upon out-of-memory.
35535         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
35536         upon out-of-memory.
35537         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
35538         out-of-memory.
35539         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
35540         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
35541         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
35542         Update.
35543         (gl_carray_list_implementation): Update.
35544         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
35545         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
35546         gl_linked_create_empty. Return NULL upon out-of-memory.
35547         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
35548         out-of-memory.
35549         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
35550         Change return type to 'int'. Return -1 upon out-of-memory.
35551         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
35552         out-of-memory.
35553         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
35554         upon out-of-memory.
35555         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
35556         upon out-of-memory.
35557         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
35558         NULL upon out-of-memory.
35559         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
35560         upon out-of-memory.
35561         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
35562         out-of-memory.
35563         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
35564         Update.
35565         * lib/gl_linked_list.c: Don't include xalloc.h.
35566         (gl_linked_list_implementation): Update.
35567         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
35568         (add_to_bucket): Change return type to 'int'.
35569         (gl_linkedhash_list_implementation): Update.
35570         * lib/gl_anytree_list1.h (free_subtree): New function.
35571         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
35572         gl_tree_create_empty. Return NULL upon out-of-memory.
35573         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
35574         Change return type to 'int'. Return -1 upon out-of-memory.
35575         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
35576         out-of-memory.
35577         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
35578         (gl_tree_remove_node): New function, moved here from
35579         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
35580         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
35581         Update.
35582         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
35583         malloc, not xmalloc. Return NULL upon out-of-memory.
35584         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
35585         out-of-memory.
35586         (gl_tree_remove_node_from_tree): New function, extracted from
35587         gl_tree_remove_node.
35588         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
35589         upon out-of-memory.
35590         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
35591         out-of-memory.
35592         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
35593         upon out-of-memory.
35594         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
35595         upon out-of-memory.
35596         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
35597         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
35598         not xmalloc. Return NULL upon out-of-memory.
35599         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
35600         out-of-memory.
35601         (gl_tree_remove_node_from_tree): New function, extracted from
35602         gl_tree_remove_node.
35603         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
35604         upon out-of-memory.
35605         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
35606         out-of-memory.
35607         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
35608         upon out-of-memory.
35609         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
35610         upon out-of-memory.
35611         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
35612         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
35613         gl_anytree_list1.h before gl_anyavltree_list2.h.
35614         (gl_avltree_list_implementation): Update.
35615         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
35616         gl_anytree_list1.h before gl_anyavltree_list2.h.
35617         (gl_rbtree_list_implementation): Update.
35618         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
35619         Change return type to 'int'. Return -1 upon out-of-memory. Use
35620         __builtin_expect.
35621         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
35622         (gl_avltreehash_list_implementation): Update.
35623         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
35624         (gl_rbtreehash_list_implementation): Update.
35625         * modules/array-list (Depends-on): Remove xalloc.
35626         * modules/carray-list (Depends-on): Likewise.
35627         * modules/linked-list (Depends-on): Likewise.
35628         * modules/linkedhash-list (Depends-on): Likewise.
35629         * modules/avltree-list (Depends-on): Likewise.
35630         * modules/rbtree-list (Depends-on): Likewise.
35631         * modules/avltreehash-list (Depends-on): Likewise.
35632         * modules/rbtreehash-list (Depends-on): Likewise.
35633
35634         * modules/xsublist: New file.
35635         * lib/gl_xsublist.h: New file.
35636         * lib/gl_xsublist.c: New file.
35637         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
35638         (gl_sublist_nx_create): New declaration.
35639         * lib/gl_sublist.c: Don't include xalloc.h.
35640         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
35641         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
35642         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
35643         Change return type to 'int'. Return -1 upon out-of-memory.
35644         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
35645         upon out-of-memory.
35646         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
35647         NULL upon out-of-memory.
35648         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
35649         upon out-of-memory.
35650         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
35651         NULL upon out-of-memory.
35652         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
35653         NULL upon out-of-memory.
35654         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
35655         upon out-of-memory.
35656         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
35657         (gl_sublist_list_implementation): Update.
35658         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
35659         upon out-of-memory.
35660         * modules/sublist (Depends-on): Remove xalloc.
35661
35662         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
35663         * tests/test-carray_list.c: Likewise.
35664         * tests/test-linked_list.c: Likewise.
35665         * tests/test-linkedhash_list.c: Likewise.
35666         * tests/test-avltree_list.c: Likewise.
35667         * tests/test-rbtree_list.c: Likewise.
35668         * tests/test-avltreehash_list.c: Likewise.
35669         * tests/test-rbtreehash_list.c: Likewise.
35670         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
35671         * modules/carray-list-tests (Makefile.am): Likewise.
35672         * modules/linked-list-tests (Makefile.am): Likewise.
35673         * modules/linkedhash-list-tests (Makefile.am): Likewise.
35674         * modules/avltree-list-tests (Makefile.am): Likewise.
35675         * modules/rbtree-list-tests (Makefile.am): Likewise.
35676         * modules/avltreehash-list-tests (Makefile.am): Likewise.
35677         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
35678
35679         * NEWS: Mention the changes.
35680
35681         * lib/clean-temp.c: Include gl_xlist.h.
35682         * modules/clean-temp (Depends-on): Add xlist.
35683
35684         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
35685         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
35686
35687         * tests/test-array_oset.c: Include gl_xlist.h.
35688         * modules/array-oset-tests (Depends-on): Add xlist.
35689
35690         Reported by José E. Marchesi <jemarch@gnu.org>.
35691
35692 2009-12-13  Bruno Haible  <bruno@clisp.org>
35693
35694         Move the malloc checking from module 'oset' to new module 'xoset'.
35695         * modules/xoset: New file.
35696         * lib/gl_xoset.h: New file.
35697         * lib/gl_xoset.c: New file.
35698         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
35699         declarations.
35700         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
35701         (struct gl_oset_implementation): Rename and change methods accordingly.
35702         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
35703         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
35704         'int'. Mark as __warn_unused_result__.
35705         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
35706         gl_oset_create_empty.
35707         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
35708         'int'.
35709         * lib/gl_array_oset.c: Don't include xalloc.h.
35710         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
35711         malloc, not xmalloc.
35712         (grow): Change return type to 'int'. Don't call xalloc_die.
35713         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
35714         to 'int'.
35715         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
35716         'int'.
35717         (gl_array_oset_implementation): Update.
35718         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
35719         gl_tree_create_empty.
35720         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
35721         'int'.
35722         * lib/gl_avltree_oset.c: Don't include xalloc.h.
35723         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
35724         xmalloc.
35725         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
35726         not xmalloc.
35727         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
35728         xmalloc.
35729         (gl_avltree_oset_implementation): Update.
35730         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
35731         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
35732         xmalloc.
35733         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
35734         not xmalloc.
35735         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
35736         xmalloc.
35737         (gl_rbtree_oset_implementation): Update.
35738         * modules/array-oset (Depends-on): Remove xalloc.
35739         * modules/avltree-oset (Depends-on): Likewise.
35740         * modules/rbtree-oset (Depends-on): Likewise.
35741         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
35742         * tests/test-avltree_oset.c: Likewise.
35743         * tests/test-rbtree_oset.c: Likewise.
35744         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
35745         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
35746         * modules/rbtree-oset-tests (Makefile.am): Likewise.
35747         * NEWS: Mention the change.
35748
35749 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
35750
35751         maint.mk: allow a project to override release-prep commands
35752         * top/maint.mk (alpha, beta, stable): Move release-preparatory
35753         commands into a new rule.
35754         (release-prep): New rule.
35755         (release-prep-hook): New overridable variable.
35756
35757 2009-12-13  Bruno Haible  <bruno@clisp.org>
35758
35759         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
35760
35761 2009-12-13  Jim Meyering  <meyering@redhat.com>
35762
35763         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
35764         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
35765
35766 2009-12-12  Bruno Haible  <bruno@clisp.org>
35767
35768         duplocale: Tweak.
35769         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
35770
35771 2009-12-12  Karl Berry  <karl@gnu.org>
35772
35773         * config/srclist.txt (strtoll.c): tab changes, no more sync.
35774
35775 2009-12-12  Bruno Haible  <bruno@clisp.org>
35776
35777         * m4/po.m4: Undo incorrect untabification.
35778
35779 2009-12-12  Bruno Haible  <bruno@clisp.org>
35780
35781         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
35782         * modules/c-strtod (Depends-on): Add locale.
35783         * modules/c-strtold (Depends-on): Likewise.
35784
35785 2009-12-12  Bruno Haible  <bruno@clisp.org>
35786
35787         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
35788
35789 2009-12-11  Eric Blake  <ebb9@byu.net>
35790
35791         setenv: relax requirement in light of POSIX ruling
35792         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
35793         not NULL.
35794         * tests/test-setenv.c (main): Relax test.
35795         * tests/test-unsetenv.c (main): Likewise.
35796         * doc/posix-functions/setenv.texi (setenv): Document this.
35797         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
35798
35799 2009-12-11  Bruno Haible  <bruno@clisp.org>
35800
35801         New module 'fd-safer-flag'.
35802         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
35803         * lib/dup-safer.c (dup_safer_flag): Remove function.
35804         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
35805         * lib/fd-safer.c (fd_safer_flag): Remove function.
35806         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
35807         * modules/cloexec (configure.ac): Drop indicator macro.
35808         * modules/fd-safer-flag: New file.
35809         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
35810         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
35811         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
35812
35813 2009-12-11  Bruno Haible  <bruno@clisp.org>
35814
35815         Tests for module 'nl_langinfo'.
35816         * modules/nl_langinfo-tests: New file.
35817         * tests/test-nl_langinfo.sh: New file.
35818         * tests/test-nl_langinfo.c: New file.
35819
35820         New module 'nl_langinfo'.
35821         * lib/nl_langinfo.c: New file.
35822         * m4/nl_langinfo.m4: New file.
35823         * modules/nl_langinfo: New file.
35824         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
35825
35826 2009-12-11  Bruno Haible  <bruno@clisp.org>
35827
35828         Tests for module 'langinfo'.
35829         * modules/langinfo-tests: New file.
35830         * tests/test-langinfo.c: New file.
35831
35832         New module 'langinfo'.
35833         * lib/langinfo.in.h: New file.
35834         * m4/langinfo_h.m4: New file.
35835         * modules/langinfo: New file.
35836         * doc/posix-headers/langinfo.texi: Mention the new module.
35837
35838 2009-12-11  Bruno Haible  <bruno@clisp.org>
35839
35840         * lib/config.charset: Untabify.
35841
35842 2009-12-11  Bruno Haible  <bruno@clisp.org>
35843
35844         * modules/unistd-safer (configure.ac): Drop indicator macro.
35845
35846 2009-12-11  Bruno Haible  <bruno@clisp.org>
35847
35848         Move pipe2-safer code to its own file.
35849         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
35850         * lib/pipe-safer.c (pipe2_safer): Remove function.
35851         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
35852         (Makefile.am): Add it to lib_SOURCES.
35853
35854 2009-12-10  Bruno Haible  <bruno@clisp.org>
35855
35856         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
35857
35858 2009-12-10  Bruno Haible  <bruno@clisp.org>
35859
35860         Declare which arguments expect non-NULL values, for GCC and clang.
35861         * build-aux/arg-nonnull.h: New file.
35862         * modules/arg-nonnull: New file.
35863         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
35864         (inet_ntop, inet_pton): Use it.
35865         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
35866         (closedir, dirfd, opendir, scandir, alphasort): Use it.
35867         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
35868         (open, openat): Use it.
35869         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
35870         (fnmatch): Use it.
35871         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
35872         (getopt, getopt_long, getopt_long_only): Use it.
35873         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
35874         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
35875         Use it.
35876         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
35877         (iconv_open): Use it.
35878         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
35879         (strtoimax, strtoumax): Use it.
35880         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
35881         (duplocale): Use it.
35882         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
35883         (frexp, frexpl): Use it.
35884         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
35885         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
35886         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
35887         (tsearch, tfind, tdelete, twalk): Use it.
35888         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
35889         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
35890         sigpending): Use it.
35891         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
35892         (posix_spawn, posix_spawnp, posix_spawnattr_init,
35893         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
35894         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
35895         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
35896         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
35897         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
35898         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
35899         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
35900         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
35901         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
35902         Use it.
35903         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
35904         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
35905         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
35906         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
35907         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
35908         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
35909         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
35910         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
35911         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
35912         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
35913         strtoull, unsetenv): Use it.
35914         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
35915         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
35916         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
35917         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
35918         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
35919         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
35920         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
35921         (strcasecmp, strncasecmp): Use it.
35922         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
35923         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
35924         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
35925         rpl_setsockopt): Use it.
35926         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
35927         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
35928         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
35929         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
35930         (gettimeofday): Use it.
35931         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
35932         (times): Use it.
35933         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
35934         (uname): Use it.
35935         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
35936         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
35937         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
35938         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
35939         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
35940         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
35941         unlinkat, write): Use it.
35942         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
35943         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
35944         * lib/argv-iter.h: Include arg-nonnull.h.
35945         (_ATTRIBUTE_NONNULL_): Remove macro.
35946         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
35947         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
35948         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
35949         optimization.
35950         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
35951         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
35952         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
35953         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
35954         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
35955         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
35956         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
35957         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
35958         * modules/arpa_inet (Depends-on): Add arg-nonnull.
35959         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
35960         * modules/dirent (Depends-on): Add arg-nonnull.
35961         (Makefile.am): Insert arg-nonnull.h into dirent.h.
35962         * modules/fcntl-h (Depends-on): Add arg-nonnull.
35963         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
35964         * modules/fnmatch (Depends-on): Add arg-nonnull.
35965         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
35966         * modules/getopt-posix (Depends-on): Add arg-nonnull.
35967         (Makefile.am): Insert arg-nonnull.h into getopt.h.
35968         * modules/glob (Depends-on): Add arg-nonnull.
35969         (Makefile.am): Insert arg-nonnull.h into glob.h.
35970         * modules/iconv_open (Depends-on): Add arg-nonnull.
35971         (Makefile.am): Insert arg-nonnull.h into iconv.h.
35972         * modules/inttypes (Depends-on): Add arg-nonnull.
35973         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
35974         * modules/locale (Depends-on): Add arg-nonnull.
35975         (Makefile.am): Insert arg-nonnull.h into locale.h.
35976         * modules/math (Depends-on): Add arg-nonnull.
35977         (Makefile.am): Insert arg-nonnull.h into math.h.
35978         * modules/netdb (Depends-on): Add arg-nonnull.
35979         (Makefile.am): Insert arg-nonnull.h into netdb.h.
35980         * modules/search (Depends-on): Add arg-nonnull.
35981         (Makefile.am): Insert arg-nonnull.h into search.h.
35982         * modules/signal (Depends-on): Add arg-nonnull.
35983         (Makefile.am): Insert arg-nonnull.h into signal.h.
35984         * modules/spawn (Depends-on): Add arg-nonnull.
35985         (Makefile.am): Insert arg-nonnull.h into spawn.h.
35986         * modules/stdio (Depends-on): Add arg-nonnull.
35987         (Makefile.am): Insert arg-nonnull.h into stdio.h.
35988         * modules/stdlib (Depends-on): Add arg-nonnull.
35989         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
35990         * modules/string (Depends-on): Add arg-nonnull.
35991         (Makefile.am): Insert arg-nonnull.h into string.h.
35992         * modules/strings (Depends-on): Add arg-nonnull.
35993         (Makefile.am): Insert arg-nonnull.h into strings.h.
35994         * modules/sys_socket (Depends-on): Add arg-nonnull.
35995         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
35996         * modules/sys_stat (Depends-on): Add arg-nonnull.
35997         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
35998         * modules/sys_time (Depends-on): Add arg-nonnull.
35999         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
36000         * modules/sys_times (Depends-on): Add arg-nonnull.
36001         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
36002         * modules/sys_utsname (Depends-on): Add arg-nonnull.
36003         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
36004         * modules/time (Depends-on): Add arg-nonnull.
36005         (Makefile.am): Insert arg-nonnull.h into time.h.
36006         * modules/unistd (Depends-on): Add arg-nonnull.
36007         (Makefile.am): Insert arg-nonnull.h into unistd.h.
36008         * modules/wchar (Depends-on): Add arg-nonnull.
36009         (Makefile.am): Insert arg-nonnull.h into wchar.h.
36010         * modules/argv-iter (Depends-on): Add arg-nonnull.
36011         * tests/test-canonicalize.c (null_ptr): New function.
36012         (main): Use it.
36013         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
36014         (main): Use it.
36015         * tests/test-memmem.c (null_ptr): New function.
36016         (main): Use it.
36017         Reported by Jim Meyering.
36018
36019 2009-12-10  Bruno Haible  <bruno@clisp.org>
36020
36021         Use spaces for indentation, not tabs.
36022         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
36023         * m4/*.m4: Untabify.
36024         * build-aux/*.h: Untabify.
36025         * tests/**/*.[hc]: Untabify.
36026         * README: New section "Indent with spaces, not TABs", based on
36027         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
36028         * NEWS: Mention the change.
36029
36030 2009-12-10  Bruno Haible  <bruno@clisp.org>
36031
36032         pty test: Fix link error.
36033         * modules/pty-tests (Makefile.am): Add the default LDADD value to
36034         test_pty_LDADD.
36035
36036 2009-12-07  Simon Josefsson  <simon@josefsson.org>
36037
36038         * modules/pty: New file.
36039         * modules/pty-tests: New file.
36040         * m4/pty.m4: New file.
36041         * tests/test-pty.c: New file.
36042         * doc/glibc-headers/pty.texi: Modified.
36043         * doc/glibc-functions/forkpty.texi: Modified.
36044         * doc/glibc-functions/openpty.texi: Modified.
36045
36046 2009-12-10  Bruno Haible  <bruno@clisp.org>
36047
36048         Avoid syntax error in C++ mode.
36049         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
36050
36051 2009-12-10  Bruno Haible  <bruno@clisp.org>
36052
36053         Use sed with option -e.
36054         * gnulib-tool (func_version, func_emit_copyright_notice,
36055         func_emit_initmacro_end, func_import, func_create_testdir): Pass
36056         option -e to sed.
36057         * modules/link-warning (Makefile.am): Likewise.
36058
36059 2009-12-10  Jim Meyering  <meyering@redhat.com>
36060
36061         mgetgroups: do not write bytes beyond end of malloc'd buffer
36062         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
36063         username, we call getgroups with a one-element-shorter buffer,
36064         but still told it the length was original, max_n_groups.
36065
36066 2009-12-09  Eric Blake  <ebb9@byu.net>
36067
36068         cloexec: relax license
36069         * modules/cloexec (Maintainer): Add myself.
36070         (License): Use LGPL, not GPL.
36071
36072         link-warning: optimize generation
36073         * modules/link-warning (Makefile.am): Reduce process usage.
36074
36075 2009-12-09  Bruno Haible  <bruno@clisp.org>
36076
36077         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
36078         workaround was added on 2009-11-17.
36079
36080 2009-12-09  Jim Meyering  <meyering@redhat.com>
36081             Bruno Haible  <bruno@clisp.org>
36082
36083         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
36084         * modules/link-warning (Makefile.am): Make the comment-removing sed
36085         command more robust in the face of bootstrap-prepended comment lines.
36086
36087 2009-12-09  Bruno Haible  <bruno@clisp.org>
36088
36089         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
36090         most one group.
36091
36092 2009-12-09  Simon Josefsson <simon@josefsson.org>
36093             Bruno Haible  <bruno@clisp.org>
36094
36095         * build-aux/link-warning.h: Add copyright notice.
36096         * modules/link-warning (Makefile.am): Generate link-warning.h from
36097         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
36098         * NEWS: Mention change in link-warning module.
36099         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
36100         * modules/dirent (Makefile.am): Add dependency to dirent.h.
36101         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
36102         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
36103         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
36104         * modules/math (Makefile.am): Add dependency to math.h.
36105         * modules/search (Makefile.am): Add dependency to search.h.
36106         * modules/signal (Makefile.am): Add dependency to signal.h.
36107         * modules/spawn (Makefile.am): Add dependency to spawn.h.
36108         * modules/stdio (Makefile.am): Add dependency to stdio.h.
36109         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
36110         * modules/string (Makefile.am): Add dependency to string.h.
36111         * modules/strings (Makefile.am): Add dependency to strings.h.
36112         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
36113         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
36114         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
36115         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
36116         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
36117         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
36118         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
36119         * modules/unistd (Makefile.am): Add dependency to unistd.h.
36120         * modules/wchar (Makefile.am): Add dependency to wchar.h.
36121
36122 2009-12-09  Bruno Haible  <bruno@clisp.org>
36123
36124         fchdir: Optimize away rpl_fstat when possible.
36125         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
36126         REPLACE_OPEN_DIRECTORY.
36127         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
36128
36129 2009-12-09  Bruno Haible  <bruno@clisp.org>
36130
36131         * lib/fchdir.c: Update comment.
36132
36133 2009-12-09  Bruno Haible  <bruno@clisp.org>
36134
36135         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
36136
36137 2009-12-08  Eric Blake  <ebb9@byu.net>
36138
36139         fchdir: avoid memory leak on re-registration.
36140         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
36141
36142 2009-12-08  Jim Meyering  <meyering@redhat.com>
36143
36144         init.sh: avoid Solaris 10 /bin/sh portability problem
36145         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
36146         sourced script:
36147           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
36148           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
36149           bar
36150         tests/init.sh relied on that, accepting a --set-path=DIR argument,
36151         and two tests used that idiom.
36152         * tests/init.sh: Update suggested usage comments.
36153         (path_prepend_): New function, to be used in place
36154         of the --src-path=DIR option.
36155         (setup_): Move PATH-prepending code into path_prepend_.
36156         * tests/test-pread.sh: Adapt to new usage.
36157         * tests/test-xalloc-die.sh: Likewise.
36158
36159 2009-12-08  Simon Josefsson  <simon@josefsson.org>
36160
36161         * doc/gnulib.texi (Glibc pty.h): Add.
36162         * doc/glibc-functions/forkpty.texi: Add.
36163         * doc/glibc-functions/openpty.texi: Add.
36164         Suggested by Bruno Haible.
36165
36166 2009-12-08  Eric Blake  <ebb9@byu.net>
36167
36168         fchdir: fix logic bugs
36169         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
36170         * tests/test-fchdir.c (main): Enhance test.
36171         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
36172         is in use.
36173
36174         dup2: fix logic bugs
36175         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
36176         REPLACE_DUP2 to decide when rpl_dup2 is needed.
36177         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
36178         exists.
36179         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
36180
36181 2009-12-07  Eric Blake  <ebb9@byu.net>
36182
36183         unlink: fix m4 detection
36184         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
36185
36186         unistd-safer: add unit test
36187         * modules/unistd-safer-tests: New file.
36188         * tests/test-dup-safer.c: Likewise.
36189         * tests/test-cloexec.c (setmode): Avoid compiler warning.
36190         * tests/test-dup2.c (setmode): Likewise.
36191         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
36192
36193         cloexec: preserve text vs. binary across dup_cloexec
36194         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
36195         mode.
36196         * modules/dup2-tests (Depends-on): Add binary-io.
36197         * modules/cloexec-tests (Depends-on): Likewise.
36198         * tests/test-dup2.c (setmode, is_mode): New helpers.
36199         (main): Add tests that translation mode is preserved.
36200         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
36201         Reported by Bruno Haible.
36202
36203         mgetgroups: reduce duplicate listings
36204         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
36205         resulting array.
36206         * tests/test-chown.h (test_chown): Simplify client.
36207         * tests/test-lchown.h (test_lchown): Likewise.
36208
36209 2009-12-06  Bruno Haible  <bruno@clisp.org>
36210
36211         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
36212         value.
36213
36214 2009-12-06  Bruno Haible  <bruno@clisp.org>
36215
36216         * lib/progname.c: Include stdio.h, stdlib.h.
36217         (set_program_name): Reject a NULL argument.
36218
36219 2009-12-05  Eric Blake  <ebb9@byu.net>
36220
36221         pipe2-safer: new module
36222         * modules/pipe2-safer: New file.
36223         * lib/unistd-safer.h (pipe2_safer): New prototype.
36224         * lib/unistd--.h (pipe2): New wrapper.
36225         * lib/pipe-safer.c (pipe2_safer): New function.
36226         * modules/pipe (Depends-on): Add pipe2-safer.
36227         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
36228
36229         stdlib-safer: preserve cloexec flag for mkostemp[s]
36230         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
36231         fd_safer_flag.
36232
36233         unistd-safer: allow preservation of cloexec status via flag
36234         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
36235         prototypes.
36236         * lib/dup-safer.c (dup_safer_flag): New function.
36237         * lib/fd-safer.c (fd_safer_flag): Likewise.
36238         * modules/cloexec (configure.ac): Set witness.
36239
36240         test-dup2: enhance test
36241         * modules/dup2-tests (Depends-on): Add cloexec.
36242         * tests/test-dup2.c (main): Enhance test.
36243
36244         cloexec: add dup_cloexec
36245         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
36246         header and comments.
36247         * lib/cloexec.c (set_cloexec_flag): Add comments.
36248         (dup_cloexec): New function, with mingw implementation borrowed
36249         from...
36250         * lib/w32spawn.h (dup_noinherit): ...here.
36251         * modules/execute (Depends-on): Add cloexec.
36252         * modules/pipe (Depends-on): Likewise.
36253         * modules/cloexec (Depends-on): Add dup2.
36254         * modules/cloexec-tests (Files): New file.
36255         * tests/test-cloexec.c: Likewise.
36256
36257         test-xalloc-die: fix test for mingw
36258         * modules/xalloc-die-tests (Files): Add tests/init.sh.
36259         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
36260         directory and .exe suffix off argv[0] output.
36261
36262         test-fseeko: fix test for mingw
36263         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
36264         than undefining fseek, so test will pass on mingw.
36265
36266 2009-12-05  Bruno Haible  <bruno@clisp.org>
36267
36268         * lib/progname.h (set_program_name): Clarify specification.
36269         * lib/progname.c (set_program_name): Likewise.
36270         Reported by Jim Meyering.
36271
36272 2009-12-05  Jim Meyering  <meyering@redhat.com>
36273
36274         maint.mk: backslash-escape parens in default regexp
36275         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
36276         backslash-escape the literal parentheses.
36277
36278         maint.mk: news-date-check: use grep -E
36279         * top/maint.mk (today): Define a Make variable, not a...
36280         (news-date-check): ...shell variable.
36281         (news-date-regexp): Use the Make variable.
36282         Use grep's -E option.  Change the failing diagnostic to mention
36283         the variable, $(news-date-regexp).
36284
36285 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
36286
36287         maintainer-makefile: allow customization of NEWS entry format
36288         * top/maint.mk (news-date-regexp): New overridable variable.
36289         (news-date-check): Use it.
36290
36291 2009-12-04  Eric Blake  <ebb9@byu.net>
36292
36293         mgetgroups: add xgetgroups, and avoid ENOSYS failures
36294         * lib/mgetgroups.h (xgetgroups): New prototype.
36295         * lib/mgetgroups.c (xgetgroups): New wrapper.
36296         (mgetgroups): Handle ENOSYS.
36297         * modules/mgetgroups (Depends-on): Add realloc.
36298         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
36299
36300         mgetgroups: avoid argument promotion issues with -1
36301         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
36302         for invalid gid_t.
36303         * tests/test-chown.h (getegid, test_chown): Likewise.
36304         * tests/test-lchown.h (getegid, test_lchown): Likewise.
36305
36306 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
36307
36308         exclude: Fix header file problems.
36309         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
36310
36311 2009-12-01  Jim Meyering  <meyering@redhat.com>
36312
36313         fts: fts_open: do not let an empty string cause immediate failure
36314         This is required in support of GNU rm, for which the command
36315         "rm A '' B" must process and remove both A and B, in spite of
36316         the empty string argument.
36317         * lib/fts.c (fts_open): Do not let the presence of an empty string
36318         cause fts_open to fail immediately.  Most fts-using tools must be
36319         able to process all arguments, in order, and can be expected to
36320         diagnose such arguments themselves.
36321
36322 2009-11-30  Eric Blake  <ebb9@byu.net>
36323
36324         utimens: fix compilation error
36325         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
36326         Declare variable at right scope.
36327
36328 2009-11-29  Jim Meyering  <meyering@redhat.com>
36329
36330         bootstrap: handle perl-5.11's changed --version output
36331         * build-aux/bootstrap (get_version): Handle perl separately,
36332         since perl-5.11's --version output is different.
36333
36334 2009-11-28  Jim Meyering  <meyering@redhat.com>
36335
36336         userspec: depend on the inttostr module, too
36337         * modules/userspec (Depends-on): Add inttostr.
36338
36339         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
36340         * lib/userspec.c (parse_with_separator): Do not accept a user ID
36341         number of MAXUID when it evaluates to (uid_t) -1.
36342         Likewise for group ID.  Reported by Matt McCutchen in
36343         <http://savannah.gnu.org/bugs/?28113>
36344
36345         userspec: reformat to use spaces, not TABs
36346         * lib/userspec.c: Expand TABs to spaces.
36347         Add Emacs' "indent-tabs-mode: nil" hint.
36348
36349 2009-11-27  Eric Blake  <ebb9@byu.net>
36350
36351         getopt-gnu: flush out another BSD bug
36352         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
36353         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
36354         flush out BSD bug.
36355         * tests/test-getopt.h (test_getopt): End lists with NULL.
36356         * tests/test-getopt_long.h (test_getopt_long): Likewise.
36357         (test_getopt_long_posix): Enhance test.
36358         * modules/getopt-posix-tests (Depends-on): Add stdbool.
36359         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
36360         getopt-gnu.
36361         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
36362         Likewise.
36363
36364 2009-11-27  Simon Josefsson  <simon@josefsson.org>
36365
36366         * modules/idpriv-droptemp-tests (Notice): Fix text.
36367
36368 2009-11-27  Jim Meyering  <meyering@redhat.com>
36369
36370         test-xalloc-die: avoid spurious failure due to libtool argv difference
36371         In a libtool-enabled project, this test would fail due to a difference
36372         in the emitted program name, e.g.,
36373         -test-xalloc-die: memory exhausted
36374         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
36375         Use program to avoid that.
36376         * modules/xalloc-die-tests (Depends-on): Add progname.
36377         * tests/test-xalloc-die.c: Include progname.h".
36378         (program_name): Remove decl.
36379         (main): Call set_program_name.
36380         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
36381
36382 2009-11-26  Richard Jones  <rjones@redhat.com>
36383
36384         w32sock: leave win32 error in place.
36385         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
36386
36387 2009-11-26  Eric Blake  <ebb9@byu.net>
36388
36389         init.sh: suggest to use skip_ and fail_ functions in comments
36390         * tests/init.sh: Add a sentence.
36391
36392 2009-11-25  Bruno Haible  <bruno@clisp.org>
36393
36394         init.sh: add documentation in comments
36395         * tests/init.sh: Add some developer and user documentation.
36396
36397 2009-11-26  Jim Meyering  <meyering@redhat.com>
36398
36399         init.sh: accommodate even those who specify bogus srcdir manually
36400         * tests/init.sh: Normally, srcdir is guaranteed by automake and
36401         configure-time tests to be sanitized, so that there is no need to
36402         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
36403         (with no double quotes) suffices.  However, since tests may be
36404         invoked manually, and since you may explicitly set srcdir to the
36405         name of a directory containing spaces, do quote its uses here.
36406         * tests/test-pread.sh: Likewise.
36407         Suggested by Bruno Haible.
36408
36409         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
36410         * tests/test-pread.sh: Write no data into the pipe, because
36411         test-pread actually reads none.  This avoids a diagnostic,
36412         "bash: echo: write error: Broken pipe", that arises in the unusual
36413         event something is ignoring SIGPIPE, and might be interpreted
36414         as some sort of failure.  Reported by Bruno Haible.
36415
36416 2009-11-25  Jim Meyering  <meyering@redhat.com>
36417
36418         test-pread: cover failure with ESPIPE and EINVAL
36419         * tests/test-pread.c (main): Test for failure, too.
36420         * tests/test-pread.sh: Invoke with stdin on a pipe.
36421         Suggested by Eric Blake.
36422
36423         pread: improvement and fix
36424         * modules/pread (Depends-on): Depend on lseek, for portability to
36425         e.g., mingw.  Suggested by Eric Blake.
36426         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
36427
36428         unistd.in.h: correct declaration of pread
36429         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
36430         Reported by Richard W.M. Jones.
36431
36432         test-pread.sh: distribute the test script
36433         * modules/pread-tests (Files): Include test-pread.sh.
36434
36435         test-pread.sh: clean up
36436         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
36437         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
36438         That is unnecessary, since it's always ".".
36439         Suggestion from Eric Blake.
36440
36441         test-pread.sh: make executable
36442         * tests/test-pread.sh: Set executable bit.
36443         Reported by Eric Blake.
36444
36445         correct typo in test-pread.sh
36446         * tests/test-pread.sh: Add #! line.
36447
36448         test pread
36449         * tests/test-pread.c: New file.
36450         * tests/test-pread.sh: Likewise.
36451         * modules/pread-tests: Likewise.
36452
36453         pread: new module
36454         * modules/pread: New file.
36455         * lib/unistd.in.h (pread): Define/declare.
36456         * lib/pread.c (pread): New file.
36457         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
36458         * modules/unistd (Makefile.am): Substitute witnesses.
36459         * doc/posix-functions/pread.texi (pread): Update.
36460         * MODULES.html.sh: Add pread.
36461
36462 2009-11-25  Jim Meyering  <meyering@redhat.com>
36463
36464         tests/init.sh: new file to be used via most *.sh tests
36465         * tests/init.sh: New file.
36466
36467 2009-11-25  Eric Blake  <ebb9@byu.net>
36468
36469         utimens: work around older Linux failure with symlinks
36470         * lib/utimens.c (lutimensat_works_really): New variable.
36471         (fdutimens, lutimens): Use it to manage kernels that support
36472         nanosecond times on files, but not on symlinks.
36473         Reported by OndÅ™ej Vašík.
36474
36475         utimes: fix configure grammar
36476         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
36477
36478 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
36479
36480         regex: Fix fastmap for multibyte character ranges.
36481         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
36482         characters when a multibyte character range is included.
36483
36484 2009-11-22  Andy Wingo  <wingo@pobox.com>
36485
36486         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
36487         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
36488
36489 2009-11-24  Bruno Haible  <bruno@clisp.org>
36490
36491         doc: Most *_l functions exist in MacOS X 10.5.
36492         * doc/posix-functions/duplocale.texi: Update platforms list.
36493         * doc/posix-functions/freelocale.texi: Likewise.
36494         * doc/posix-functions/newlocale.texi: Likewise.
36495         * doc/posix-functions/uselocale.texi: Likewise.
36496         * doc/posix-functions/isalnum_l.texi: Likewise.
36497         * doc/posix-functions/isalpha_l.texi: Likewise.
36498         * doc/posix-functions/isblank_l.texi: Likewise.
36499         * doc/posix-functions/iscntrl_l.texi: Likewise.
36500         * doc/posix-functions/isdigit_l.texi: Likewise.
36501         * doc/posix-functions/isgraph_l.texi: Likewise.
36502         * doc/posix-functions/islower_l.texi: Likewise.
36503         * doc/posix-functions/isprint_l.texi: Likewise.
36504         * doc/posix-functions/ispunct_l.texi: Likewise.
36505         * doc/posix-functions/isspace_l.texi: Likewise.
36506         * doc/posix-functions/isupper_l.texi: Likewise.
36507         * doc/posix-functions/iswalnum_l.texi: Likewise.
36508         * doc/posix-functions/iswalpha_l.texi: Likewise.
36509         * doc/posix-functions/iswblank_l.texi: Likewise.
36510         * doc/posix-functions/iswcntrl_l.texi: Likewise.
36511         * doc/posix-functions/iswctype_l.texi: Likewise.
36512         * doc/posix-functions/iswdigit_l.texi: Likewise.
36513         * doc/posix-functions/iswgraph_l.texi: Likewise.
36514         * doc/posix-functions/iswlower_l.texi: Likewise.
36515         * doc/posix-functions/iswprint_l.texi: Likewise.
36516         * doc/posix-functions/iswpunct_l.texi: Likewise.
36517         * doc/posix-functions/iswspace_l.texi: Likewise.
36518         * doc/posix-functions/iswupper_l.texi: Likewise.
36519         * doc/posix-functions/iswxdigit_l.texi: Likewise.
36520         * doc/posix-functions/isxdigit_l.texi: Likewise.
36521         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
36522         * doc/posix-functions/strcasecmp_l.texi: Likewise.
36523         * doc/posix-functions/strcoll_l.texi: Likewise.
36524         * doc/posix-functions/strfmon_l.texi: Likewise.
36525         * doc/posix-functions/strftime_l.texi: Likewise.
36526         * doc/posix-functions/strncasecmp_l.texi: Likewise.
36527         * doc/posix-functions/strxfrm_l.texi: Likewise.
36528         * doc/posix-functions/tolower_l.texi: Likewise.
36529         * doc/posix-functions/toupper_l.texi: Likewise.
36530         * doc/posix-functions/towctrans_l.texi: Likewise.
36531         * doc/posix-functions/towlower_l.texi: Likewise.
36532         * doc/posix-functions/towupper_l.texi: Likewise.
36533         * doc/posix-functions/wcscoll_l.texi: Likewise.
36534         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
36535         * doc/posix-functions/wctrans_l.texi: Likewise.
36536         * doc/posix-functions/wctype_l.texi: Likewise.
36537         * doc/glibc-functions/strptime_l.texi: Likewise.
36538         * doc/glibc-functions/strtod_l.texi: Likewise.
36539         * doc/glibc-functions/strtof_l.texi: Likewise.
36540         * doc/glibc-functions/strtol_l.texi: Likewise.
36541         * doc/glibc-functions/strtold_l.texi: Likewise.
36542         * doc/glibc-functions/strtoll_l.texi: Likewise.
36543         * doc/glibc-functions/strtoul_l.texi: Likewise.
36544         * doc/glibc-functions/strtoull_l.texi: Likewise.
36545         * doc/glibc-functions/wcsftime_l.texi: Likewise.
36546         * doc/glibc-functions/wcstod_l.texi: Likewise.
36547         * doc/glibc-functions/wcstof_l.texi: Likewise.
36548         * doc/glibc-functions/wcstol_l.texi: Likewise.
36549         * doc/glibc-functions/wcstold_l.texi: Likewise.
36550         * doc/glibc-functions/wcstoll_l.texi: Likewise.
36551         * doc/glibc-functions/wcstoul_l.texi: Likewise.
36552         * doc/glibc-functions/wcstoull_l.texi: Likewise.
36553
36554 2009-11-24  Bruno Haible  <bruno@clisp.org>
36555
36556         duplocale: Fix logic bug.
36557         * lib/duplocale.c: Don't include <langinfo.h>.
36558         (_NL_LOCALE_NAME): Remove macro.
36559         (rpl_duplocale): Use setlocale instead of nl_langinfo.
36560         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
36561
36562 2009-11-23  Jim Meyering  <meyering@redhat.com>
36563
36564         test-update-copyright: don't hard-code /usr/bin/perl
36565         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
36566         perl to print the current year.  Gilles Espinasse reported that
36567         the replaced use of perl was hard-coded as /usr/bin/perl.
36568
36569 2009-11-23  Bruno Haible  <bruno@clisp.org>
36570
36571         duplocale: Add support for glibc 2.3.x.
36572         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
36573
36574 2009-11-22  Bruno Haible  <bruno@clisp.org>
36575
36576         vasnprintf: Tiny optimization.
36577         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
36578         MacOS X.
36579
36580 2009-11-22  Bruno Haible  <bruno@clisp.org>
36581
36582         Tests for module 'duplocale'.
36583         * modules/duplocale-tests: New file.
36584         * tests/test-duplocale.c: New file.
36585
36586         New module 'duplocale'.
36587         * m4/duplocale.m4: New file.
36588         * lib/locale.in.h (duplocale): New declaration.
36589         * lib/duplocale.c: New file.
36590         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
36591         gl_LOCALE_H_DEFAULTS): New macros.
36592         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
36593         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
36594         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
36595         REPLACE_DUPLOCALE.
36596         * modules/duplocale: New file.
36597         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
36598
36599 2009-11-22  Bruno Haible  <bruno@clisp.org>
36600
36601         * modules/locale-tests (configure.ac): Test for newlocale function.
36602         * tests/test-locale.c: When the system has extended locale functions,
36603         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
36604
36605         locale: Make locale_t available when possible.
36606         * lib/locale.in.h: Include <xlocale.h> when it exists.
36607         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
36608         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
36609         * modules/locale (Depends-on): Add extensions.
36610         (Makefile.am): Also substitute HAVE_XLOCALE_H.
36611         * doc/posix-headers/locale.texi: Document the problem with locale_t.
36612
36613 2009-11-22  Bruno Haible  <bruno@clisp.org>
36614
36615         Add comments.
36616         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
36617         invocation.
36618         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
36619         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
36620         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
36621
36622 2009-11-22  Bruno Haible  <bruno@clisp.org>
36623
36624         error: account for the possibility of freopen (stdout).
36625         * lib/error.c: Include <unistd.h>.
36626         (flush_stdout): New function, extracted from error and error_at_line.
36627         Determine stdout's fd dynamically.
36628         (error, error_at_line): Invoke flush_stdout.
36629         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
36630         * modules/error (Depends-on): Add unistd.
36631
36632 2009-11-22  Bruno Haible  <bruno@clisp.org>
36633
36634         diffseq: Add comment.
36635         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
36636
36637 2009-11-22  Jim Meyering  <meyering@redhat.com>
36638
36639         c-stack: avoid defining an unused static function
36640         * lib/c-stack.c (find_stack_direction): Do not define this function
36641         when it will not be used.
36642
36643         diffseq: avoid spurious gcc warnings
36644         * lib/diffseq.h (IF_LINT2): Define.
36645         (compareseq): Use it to initialize two members of "part".
36646         This avoids two used-uninitialized warnings.
36647
36648 2009-11-21  Jim Meyering  <meyering@redhat.com>
36649
36650         c-stack: avoid "ignoring return value of `write'" warning
36651         * lib/c-stack.c: Include "ignore-value.h".
36652         (die): Explicitly ignore each write return value.
36653         * modules/c-stack (Depends-on): Add ignore-value.
36654
36655 2009-11-21  Bruno Haible  <bruno@clisp.org>
36656
36657         diffseq: reduce scope of variable 'best'.
36658         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
36659         variable, earlier used for two different purposes.
36660
36661 2009-11-21  Jim Meyering  <meyering@redhat.com>
36662
36663         diffseq: remove useless assignment to "best"
36664         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
36665         assignment.  At that point "best" is already guaranteed to be zero.
36666
36667 2009-11-20  Eric Blake  <ebb9@byu.net>
36668
36669         build: mention ftp redirector in release announcements
36670         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
36671         values that used to come from cfg.mk; mention FTP redirect URL.
36672         * build-aux/announce-gen: Mention the mirror list.
36673         Suggested by Karl Berry.
36674
36675         nanosleep: improve port to mingw
36676         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
36677         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
36678         LIB_NANOSLEEP, but only when needed.
36679         * modules/select (Link): Document LIBSOCKET.
36680         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
36681         enough.
36682
36683         nanosleep: work around cygwin bug
36684         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
36685         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
36686         bug.
36687         (getnow): Delete, not needed.
36688         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
36689         LIB_CLOCK_GETTIME.
36690         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
36691         clock-time, gettime.
36692         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
36693         bug.
36694         * modules/nanosleep-tests: New test.
36695         * tests/test-nanosleep.c: New file.
36696
36697         sleep: work around cygwin bug
36698         * lib/sleep.c (rpl_sleep): Work around the bug.
36699         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
36700         (gl_PREREQ_SLEEP): Delete unused macro.
36701         * modules/sleep (Depends-on): Add verify.
36702         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
36703         * modules/unistd (Makefile.am): Substitute witness.
36704         * lib/unistd.in.h (sleep): Update prototype.
36705         * doc/posix-functions/sleep.texi (sleep): Document the bug.
36706         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
36707         * modules/sleep-tests (Depends-on): Check for alarm.
36708
36709 2009-11-20  Jim Meyering  <meyering@redhat.com>
36710
36711         maint.mk: improve sc_prohibit_magic_number_exit
36712         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
36713         so it does not match uses like System.exit(1).
36714         Add comments showing how to correct all offenders.
36715
36716 2009-11-19  Eric Blake  <ebb9@byu.net>
36717
36718         xalloc-die-tests: add missing library
36719         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
36720
36721         test-xvasprintf: silence compiler warnings
36722         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
36723         empty string from gcc.
36724
36725 2009-11-19  Jim Meyering  <meyering@redhat.com>
36726
36727         xfreopen: new module, from coreutils
36728         * modules/xfreopen: New module.
36729         * lib/xfreopen.c: New file.
36730         * lib/xfreopen.h: New file.
36731         * MODULES.html.sh (File stream based Input/Output"): Add it.
36732
36733 2009-11-19  Eric Blake  <ebb9@byu.net>
36734
36735         manywarnings: depend on warnings
36736         * modules/manywarnings (Depends-on): Add warnings.
36737
36738         build: avoid compiler warnings
36739         * lib/select.c (rpl_select): Delete unused variable.
36740         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
36741
36742 2009-11-18  Eric Blake  <ebb9@byu.net>
36743
36744         tests: avoid false negative with --with-packager
36745         * tests/test-version-etc.sh: Discard packager information.
36746         * tests/test-argp-version-etc-1.sh: Likewise.
36747         Reported by Mike Frysinger.
36748
36749         utimens: fix regression on Solaris
36750         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
36751         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
36752         can only change fd timestamps via futimesat.  Instead, use an
36753         additional witness macro to avoid BSD bug.
36754         Reported by Jim Meyering.
36755
36756 2009-11-17  Eric Blake  <ebb9@byu.net>
36757
36758         usleep: use it to simplify tests
36759         * modules/stat-time-tests (Depends-on): Add usleep.
36760         (configure.ac): Drop usleep check.
36761         * modules/chown-tests (Depends-on, configure.ac): Likewise.
36762         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
36763         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
36764         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
36765         * modules/openat-tests (Depends-on, configure.ac): Likewise.
36766         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
36767         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
36768         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
36769         Likewise.
36770         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
36771         * tests/test-lchown.h (nap): Likewise.
36772         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
36773         * tests/test-stat-time.c (nap): Likewise.
36774         * tests/test-utimens-common.h (nap): Update comments.
36775
36776         usleep: new module
36777         * modules/usleep: New file.
36778         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
36779         * lib/usleep.c (usleep): Likewise.
36780         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
36781         * modules/unistd (Makefile.am): Substitute witnesses.
36782         * lib/unistd.in.h (usleep): Add declaration.
36783         * doc/pastposix-functions/usleep.texi (usleep): Document this.
36784         * MODULES.html.sh (Date and time): Likewise.
36785         * modules/usleep-tests (Depends-on): New test.
36786         * tests/test-usleep.c: New file.
36787
36788         chown: work around OpenBSD bug
36789         * lib/chown.c (rpl_chown): Work around the bug.
36790         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
36791         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
36792         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
36793         * modules/chown (Depends-on): Add stdbool.
36794         * modules/lchown (Depends-on): Likewise.
36795         * doc/posix-functions/chown.texi (chown): Document the bug.
36796         * doc/posix-functions/lchown.texi (lchown): Likewise.
36797         * tests/test-lchown.h (test_chown): Relax test.
36798
36799         mkstemp: avoid conflict with C++ keyword template
36800         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
36801         * lib/mkostemp.c (mkostemp): Likewise.
36802         * lib/mkostemps.c (mkostemps): Likewise.
36803         * lib/mkstemp.c (mkstemp): Likewise.
36804         * lib/mkstemps.c (mkstemps): Likewise.
36805
36806         xalloc-die-tests: optimize
36807         * tests/test-xalloc-die.sh: Reduce number of processes.
36808
36809 2009-11-17  Simon Josefsson  <simon@josefsson.org>
36810
36811         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
36812         patch from ludo@gnu.org (Ludovic Courtès).
36813
36814 2009-11-17  Jim Meyering  <meyering@redhat.com>
36815
36816         version-etc: use proper license string
36817         * modules/version-etc (License): Use LGPL, not LGPLv3+.
36818         * modules/version-etc-fsf: Likewise.
36819
36820 2009-11-17  Simon Josefsson  <simon@josefsson.org>
36821
36822         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
36823         printed to stdout.  Deal with EOL differences.
36824
36825 2009-11-17  Eric Blake  <ebb9@byu.net>
36826
36827         unsetenv: work around Solaris bug
36828         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
36829         * lib/unsetenv.c (rpl_unsetenv): Work around it.
36830         Reported by Jim Meyering.
36831
36832         vasnprintf: avoid compiler warnings
36833         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
36834         variables.
36835         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
36836
36837 2009-11-17  Simon Josefsson  <simon@josefsson.org>
36838
36839         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
36840         settings since xalloc-die is no longer the self test,
36841         xalloc-die.sh is.
36842
36843 2009-11-17  Jim Meyering  <meyering@redhat.com>
36844
36845         test-xalloc-die.sh: make the code agree with the commit log
36846         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
36847         at the end, just in case you happen to have a test-xalloc-die
36848         program in some other PATH directory.
36849
36850         test-xalloc-die.sh: fix a portability bug
36851         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
36852         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
36853         Otherwise, argv[0] (as often seen in diagnostics) would be too
36854         system-dependent, sometimes with, and sometimes without the leading "./".
36855
36856         version-etc-fsf: relax license to LGPLv3+
36857         * modules/version-etc-fsf (License): Relax license.
36858
36859 2009-11-16  Eric Blake  <ebb9@byu.net>
36860
36861         xalloc-die-tests: avoid printing null pointer
36862         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
36863         shell script.
36864         * tests/test-xalloc-die.c (program_name): Declare.
36865         * tests/test-xalloc-die.sh (tmpfiles): New file.
36866
36867         setenv, unsetenv: work around various bugs
36868         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
36869         (setenv) [HAVE_SETENV]: Work around bugs.
36870         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
36871         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
36872         for bugs.
36873         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
36874         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
36875         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
36876         * modules/stdlib (Makefile.am): Update substitutions.
36877         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
36878         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
36879         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
36880         * modules/setenv-tests: New test.
36881         * modules/unsetenv-tests: Likewise.
36882         * tests/test-setenv.c: New file.
36883         * tests/test-unsetenv.c: Likewise.
36884
36885 2009-11-16  Jim Meyering  <meyering@redhat.com>
36886
36887         version-etc: relax license to LGPLv3+
36888         * modules/version-etc (License): Relax license.
36889
36890         better AC_REQUIRE expanded-before-required-warning avoidance
36891         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
36892         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
36893         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
36894         which is no longer needed.
36895
36896 2009-11-16  Eric Blake  <ebb9@byu.net>
36897
36898         test-freading: clean up temporary file
36899         * tests/test-freading.c (main): Remove file on success, and use
36900         ASSERT more liberally.
36901         Reported by Jim Meyering.
36902
36903 2009-11-16  Jim Meyering  <meyering@redhat.com>
36904
36905         avoid new AC_REQUIRE expanded-before-required warnings
36906         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
36907         merely using it.
36908         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
36909         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
36910
36911 2009-11-15  Simon Josefsson  <simon@josefsson.org>
36912
36913         * tests/test-xalloc-die.c: New file.
36914         * modules/xalloc-die-tests: New file.
36915         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
36916         XFAIL_TESTS so it can be appended by modules.
36917
36918 2009-11-15  Simon Josefsson  <simon@josefsson.org>
36919
36920         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
36921         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
36922
36923 2009-11-14  Eric Blake  <ebb9@byu.net>
36924
36925         fnmatch: avoid compiler warning
36926         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
36927         to silence compiler warning about mismatch signedness in ?:.
36928         Reported by Robert Millan.
36929
36930         intprops: add double-inclusion guard
36931         * lib/intprops.h: Allow idempotent includes.
36932         Suggested by Bruce Korb.
36933
36934         openat: detect Solaris fchownat bug
36935         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
36936         penalizing glibc chownat when only lchownat is broken.
36937         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
36938         trailing slash bugs.
36939         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
36940         * modules/openat-tests (Files): Include more files.
36941         (Depends-on): Add mgetgroups, sleep, stat-time.
36942         (configure.ac): Add additional checks.
36943         (Makefile.am): Build new test.
36944         * tests/test-fchownat.c: New file.
36945
36946         lchown: detect Solaris and FreeBSD bug
36947         * lib/lchown.c (rpl_lchown): Work around bug.
36948         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
36949         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
36950         * modules/unistd (Makefile.am): Populate it.
36951         * lib/unistd.in.h (lchown): Update declaration.
36952         * doc/posix-functions/lchown.texi (lchown): Document the bug.
36953         * modules/lchown-tests: New file.
36954         * tests/test-lchown.h (test_lchown): Likewise.
36955         * tests/test-lchown.c (main): Likewise.
36956
36957         chown: detect Solaris and FreeBSD bug
36958         * lib/chown.c (rpl_chown): Work around bug.
36959         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
36960         (gl_PREREQ_CHOWN): Delete.
36961         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
36962         * modules/unistd (Makefile.am): Populate it.
36963         * lib/unistd.in.h (chown): Update declaration.
36964         * lib/lchown.c (chown): Update client.
36965         * modules/lchown (Depends-on): Add lstat.
36966         * doc/posix-functions/chown.texi (chown): Document the bug.
36967         * doc/posix-functions/getgroups.texi (getgroups): Document
36968         getgroups pitfall.
36969         * modules/chown-tests: New file.
36970         * tests/test-chown.h (test_chown): Likewise.
36971         * tests/test-chown.c (main): Likewise.
36972
36973 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
36974
36975         gnulib-tool: correctly detect absence of m4 directories
36976         * gnulib-tool: Avoid extra newline on data passed to wc -l.
36977
36978 2009-11-14  Jim Meyering  <meyering@redhat.com>
36979
36980         maint.mk: Prohibit inclusion of "xalloc.h" without use.
36981         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
36982
36983 2009-11-14  John W. Eaton  <jwe@gnu.org>
36984
36985         strftime.h: wrap funtion declaration in extern "C" block
36986         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
36987
36988 2009-11-13  Eric Blake  <ebb9@byu.net>
36989
36990         getgroups: avoid compiler warning
36991         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
36992
36993         getgroups: work around FreeBSD bug
36994         * lib/getgroups.c (rpl_getgroups): Work around the bug.
36995         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
36996         * doc/posix-functions/getgroups.texi (getgroups): Document it.
36997         * tests/test-getgroups.c (main): Fix buffer overrun.
36998
36999         getgroups: avoid compilation failure
37000         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
37001         * modules/getgroups (Depends-on): Add stdint.
37002
37003 2009-11-13  Jim Meyering  <meyering@redhat.com>
37004
37005         test-getgroups: avoid compilation failure
37006         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
37007
37008 2009-11-13  Eric Blake  <ebb9@byu.net>
37009
37010         mgetgroups: new module, taken from coreutils
37011         * modules/mgetgroups: New file.
37012         * lib/mgetgroups.h: Likewise.
37013         * lib/mgetgroups.c (mgetgroups): Likewise.
37014         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
37015         * MODULES.html.sh (Users and groups): Mention it.
37016
37017         getgroups: don't expose GETGROUPS_T to user
37018         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
37019         an element at a time if GETGROUPS_T is wrong size.
37020         * lib/getugroups.h (getugroups): Change signature.
37021         * lib/unistd.in.h (getgroups): Likewise.
37022         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
37023         signature needs fixing.
37024         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
37025         AC_TYPE_GETGROUPS.
37026         * modules/group-member (Depends-on): Add getgroups.
37027         * lib/group-member.c (group_info, get_group_info): Use gid_t.
37028         (group_member): Rely on getgroups replacement.
37029         * lib/getugroups.c (getugroups): Use gid_t.
37030         * tests/test-getgroups.c (main): Likewise.
37031         * NEWS: Mention the signature change.
37032         * doc/posix-functions/getgroups.texi (getgroups): Mention the
37033         problem with signature.
37034         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
37035         GETGROUPS_T is still useful for setgroups.
37036
37037         getgroups, getugroups: provide stubs for mingw
37038         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
37039         * lib/getugroups.c (getugroups): Likewise.
37040         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
37041         function.  Modernize replacement scheme.
37042         (gl_PREREQ_GETGROUPS): Delete.
37043         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
37044         * modules/getgroups (configure.ac): Declare witness.
37045         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
37046         * modules/unistd (Depends-on): Substitute witness.
37047         * lib/unistd.in.h (getgroups): Declare replacement.
37048
37049         getgroups: avoid calling exit
37050         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
37051         drop xalloc.
37052         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
37053         dependencies.
37054         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
37055         exiting, in the rare case of malloc failure.
37056
37057         getgroups: fix logic error
37058         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
37059         has more than 20 groups.
37060         * modules/getgroups-tests: New test.
37061         * tests/test-getgroups.c: New file.
37062
37063 2009-11-13  Simon Josefsson  <simon@josefsson.org>
37064
37065         * tests/test-base64.c: Improve.
37066
37067 2009-11-13  Simon Josefsson  <simon@josefsson.org>
37068
37069         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
37070         Blake <ebb9@byu.net>.
37071
37072 2009-11-13  Simon Josefsson  <simon@josefsson.org>
37073
37074         * tests/test-xvasprintf.c: Add %s%s related checks.
37075
37076 2009-11-12  Eric Blake  <ebb9@byu.net>
37077
37078         version-etc: match standards.texi style
37079         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
37080         and use <> only for URLs.
37081
37082 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
37083
37084         fts: do not fail on a submount during traversal
37085         * lib/fts.c (fts_build): Read the stat info again after opening
37086         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
37087         Original report at http://bugzilla.redhat.com/501848.
37088
37089 2009-11-12  Jim Meyering  <meyering@redhat.com>
37090
37091         bootstrap: sync from coreutils
37092         * build-aux/bootstrap (bootstrap_epilogue): New function.
37093         Use git_modules_config in one more place.  This make bootstrap's
37094         --gnulib-srcdir option more useful for testing.
37095
37096         bootstrap: generalize autoheader check
37097         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
37098         AC_CONFIG_HEADERS.
37099
37100 2009-11-11  Eric Blake  <ebb9@byu.net>
37101
37102         mkfifoat: use new modules for Solaris and BSD bugs
37103         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
37104         * lib/mkfifoat.c (mknodat): Split...
37105         * lib/mknodat.c (mknodat): ...into new file.
37106         * modules/mkfifoat (Files): Ship new file.
37107         (Depends-on): Add mkfifo, mknod.
37108         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
37109         (Depends-on): Add symlink.
37110         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
37111         redundant with test_mkfifo.h.
37112         (do_mkfifoat, do_mknodat): New helpers.
37113
37114         mknod: new module
37115         * modules/mknod: New file.
37116         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
37117         * lib/mknod.c (mknod): Likewise.
37118         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
37119         defaults.
37120         * modules/sys_stat (Makefile.am): Substitute them.
37121         * lib/sys_stat.in.h (mknod): Declare replacement.
37122         * MODULES.html.sh (Support for systems lacking POSIX:2008):
37123         Document it.
37124         * doc/posix-functions/mknod.texi (mknod): Likewise.
37125         * modules/mknod-tests: New test.
37126         * tests/test-mknod.c: Likewise.
37127
37128         mkfifo: new module
37129         * modules/mkfifo: New file.
37130         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
37131         * lib/mkfifo.c (mkfifo): Likewise.
37132         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
37133         defaults.
37134         * modules/sys_stat (Makefile.am): Substitute them.
37135         * lib/sys_stat.in.h (mkfifo): Declare replacement.
37136         * MODULES.html.sh (Support for systems lacking POSIX:2008):
37137         Document it.
37138         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
37139         * modules/mkfifo-tests: New test.
37140         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
37141         from test-mkfifoat.c.
37142         * tests/test-mkfifo.c: New file.
37143
37144         readlink: detect FreeBSD bug
37145         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
37146         slash on symlink.
37147         * doc/posix-functions/readlink.texi (readlink): Document the bug.
37148         * tests/test-readlink.h (test_readlink): Enhance test.
37149
37150         symlink: detect FreeBSD bug
37151         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
37152         slash on symlink.
37153         * doc/posix-functions/symlink.texi (symlink): Document the bug.
37154         * tests/test-symlink.h (test_symlink): Enhance test.
37155
37156 2009-11-10  Eric Blake  <ebb9@byu.net>
37157
37158         link: detect FreeBSD bug
37159         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
37160         symlink.
37161         * doc/posix-functions/link.texi (link): Document the bug.
37162         * tests/test-link.h (test_link): Enhance test.
37163         * tests/test-linkat.c (main): Update caller.
37164
37165         unlink, remove: detect FreeBSD bug
37166         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
37167         slash on symlink.
37168         * doc/posix-functions/unlink.texi (unlink): Document the bug.
37169         * doc/posix-functions/remove.texi (remove): Likewise.
37170         * tests/test-unlink.h (test_unlink): Enhance test.
37171         * tests/test-remove.c (main): Likewise.
37172
37173 2009-11-09  Eric Blake  <ebb9@byu.net>
37174
37175         rename: detect FreeBSD bug
37176         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
37177         slash on symlink.
37178         * modules/renameat-tests (Depends-on): Add filenamecat.
37179         * tests/test-rename.h (test_rename): Allow one more errno.
37180         * tests/test-renameat.c (main): Likewise.
37181         * doc/posix-functions/rename.texi (rename): Document the bug.
37182
37183         open: detect FreeBSD bug
37184         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
37185         symlink.
37186         * doc/posix-functions/open.texi (open): Document the bug.
37187         * doc/posix-functions/utimes.texi (utimes): Likewise.
37188         * tests/test-open.h (test_open): Add parameters, and test symlink
37189         handling.
37190         * tests/test-open.c (main): Adjust caller.
37191         * tests/test-fcntl-safer.c (main): Likewise.
37192         * modules/open-tests (Depends-on): Add stdbool, symlink.
37193         * modules/fcntl-safer-tests (Depends-on): Likewise.
37194         * tests/test-openat.c (main): Add test-open tests.
37195
37196         stat: detect FreeBSD bug
37197         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
37198         symlink.
37199         * doc/posix-functions/stat.texi (stat): Document the bug.
37200         * tests/test-stat.h (test_stat_func): Add argument.
37201         * tests/test-stat.c (main): Adjust caller.
37202         * tests/test-fstatat.c (main): Likewise.
37203         * modules/stat-tests (Depends-on): Add stdbool, symlink.
37204         Reported by Jim Meyering.
37205
37206 2009-11-09  James Youngman  <jay@gnu.org>
37207
37208         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
37209         * lib/strftime.c: Correct placement of #include "ignore-value.h".
37210
37211 2009-11-08  Jim Meyering  <meyering@redhat.com>
37212
37213         utimens: remove invalid futimesat call
37214         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
37215         It used the file descriptor of the target file as the DIR_FD
37216         parameter and NULL as the file name.  That caused failure with
37217         errno == EFAULT on FreeBSD-8.0-rc2
37218
37219 2009-11-07  Eric Blake  <ebb9@byu.net>
37220
37221         fflush, freadseek: use fseeko, not fseek
37222         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
37223         (clear_ungetc_buffer): Avoid potential problems on large files.
37224         * lib/freadseek.c (freadseek): Likewise.
37225         * modules/freadseek (Depends-on): Add fseeko.
37226         * modules/fseek (configure.ac): Set a witness.
37227         * tests/test-fflush.c (main): Use fseeko.
37228         * tests/test-fpurge.c (fseek): Disable link warning.
37229         * tests/test-freadable.c (fseek): Likewise.
37230         * tests/test-freading.c (fseek): Likewise.
37231         * tests/test-fseeko.c (fseek): Likewise.
37232         * tests/test-ftell.c (fseek): Likewise.
37233         * tests/test-ftello.c (fseek): Likewise.
37234         * tests/test-fwritable.c (fseek): Likewise.
37235         * tests/test-fwriting.c (fseek): Likewise.
37236
37237 2009-11-06  Simon Josefsson  <simon@josefsson.org>
37238
37239         * modules/memchr (Depends-on): Drop getpagesize dependency.
37240
37241 2009-11-06  Simon Josefsson  <simon@josefsson.org>
37242
37243         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
37244         Reported by Ludovic Courtès.
37245         * build-aux/pmccabe2html: Improve example usage.
37246         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
37247
37248 2009-11-06  Jim Meyering  <meyering@redhat.com>
37249
37250         do-release-commit-and-tag: New module.
37251         Automate the release-commit and tag process.
37252         * build-aux/do-release-commit-and-tag: New script, from coreutils.
37253         * modules/do-release-commit-and-tag: New file.
37254         * MODULES.html.sh (Support for maintaining and releasing): Add it.
37255
37256 2009-11-06  Simon Josefsson  <simon@josefsson.org>
37257
37258         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
37259         because test-select.c uses inet_pton.
37260
37261 2009-11-06  Simon Josefsson  <simon@josefsson.org>
37262
37263         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
37264         GETADDRINFO_LIB.  Bump serial number.
37265         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
37266         Suggested by Eric Blake <ebb9@byu.net>.
37267
37268 2009-11-05  Eric Blake  <ebb9@byu.net>
37269
37270         strtod: detect darwin bug
37271         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
37272         Reported by Leo Davis.
37273
37274         freopen-safer: new module
37275         * modules/freopen-safer: New module.
37276         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
37277         * lib/freopen-safer.c (freopen_safer): New file.
37278         * lib/stdio-safer.h (freopen_safer): New declaration.
37279         * lib/stdio--.h (freopen): New override.
37280         * MODULES.html.sh (File stream based Input/Output): Mention it.
37281         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
37282         freopen-safer module.
37283         * doc/posix-functions/stderr.texi (stderr): Likewise.
37284         * doc/posix-functions/stdin.texi (stdin): Likewise.
37285         * doc/posix-functions/stdout.texi (stdout): Likewise.
37286         * modules/freopen-safer-tests: New test.
37287         * tests/test-reopen-safer.c: New file.
37288
37289 2009-11-05  Jim Meyering  <meyering@redhat.com>
37290
37291         maint.mk: Prohibit inclusion of "close-stream.h" without use.
37292         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
37293
37294 2009-11-05  Simon Josefsson  <simon@josefsson.org>
37295
37296         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
37297
37298 2009-11-05  Simon Josefsson  <simon@josefsson.org>
37299
37300         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
37301
37302 2009-11-05  Simon Josefsson  <simon@josefsson.org>
37303
37304         Fix link error.
37305         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
37306         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
37307
37308 2009-11-05  Simon Josefsson  <simon@josefsson.org>
37309
37310         * tests/test-func.c: Also test value of __func__.
37311
37312 2009-11-05  Simon Josefsson  <simon@josefsson.org>
37313
37314         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
37315         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
37316
37317 2009-11-05  Bruno Haible  <bruno@clisp.org>
37318
37319         Fix link error.
37320         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
37321         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
37322         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
37323
37324 2009-11-05  Bruno Haible  <bruno@clisp.org>
37325
37326         Tests for module 'inet_pton'.
37327         * modules/inet_pton-tests: New file.
37328         * tests/test-inet_pton.c: New file.
37329
37330 2009-11-05  Bruno Haible  <bruno@clisp.org>
37331
37332         Tests for module 'inet_ntop'.
37333         * modules/inet_ntop-tests: New file.
37334         * tests/test-inet_ntop.c: New file.
37335
37336 2009-11-04  Eric Blake  <ebb9@byu.net>
37337
37338         stdlib-safer: wrap all mkstemp variants
37339         * modules/mkostemp (configure.ac): Set witness.
37340         * modules/mkostemps (configure.ac): Likewise.
37341         * modules/mkstemps (configure.ac): Likewise.
37342         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
37343         (mkstemps_safer): Wrap more functions.
37344         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
37345         wrapping.
37346         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
37347         (mkstemps_safer): Implement the wrappers.
37348
37349         mkstemps, mkostemps: new modules
37350         * modules/mkostemps: New module.
37351         * modules/mkstemps: Likewise.
37352         * lib/mkostemps.c (mkostemps): New file.
37353         * lib/mkstemps.c (mkstemps): Likewise.
37354         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
37355         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
37356         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
37357         * modules/stdlib (Makefile.am): Substitute them.
37358         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
37359         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
37360         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
37361         * doc/gnulib.texi (Glibc stdlib.h): Include them.
37362         * MODULES.html.sh (File system functions): Mention them.
37363
37364         tempname: resync from glibc
37365         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
37366         same values for __GT_FILE as glibc.  Abort even when assertions
37367         are disabled.
37368         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
37369         match its value otherwise.  Allow idempotent inclusion.
37370         * lib/mkdtemp.c (mkdtemp): Adjust caller.
37371         * lib/mkostemp.c (mkostemp): Likewise.
37372         * lib/mkstemp.c (mkstemp): Likewise.
37373         * lib/tmpfile.c (tmpfile): Likewise.
37374         * NEWS: Document this.
37375
37376         utimens: fix use of futimens on older Linux
37377         * lib/utimens.c (fdutimens): Use updated, rather than original,
37378         timespec to avoid bug in older Linux kernel.
37379         Reported by Simon Josefsson.
37380
37381 2009-11-04  Bruno Haible  <bruno@clisp.org>
37382
37383         Make num_processors more flexible and consistent.
37384         * lib/nproc.h (enum nproc_query): New type.
37385         (num_processors): Add a 'query' argument.
37386         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
37387         (num_processors): Add a 'query' argument. Test the value of the
37388         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
37389         mingw, count the number of CPUs available for the current process.
37390         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
37391         Check for sched_getaffinity and sched_getaffinity_np.
37392         * modules/nproc (Depends-on): Add c-ctype, extensions.
37393         * NEWS: Mention the change.
37394
37395 2009-11-03  Bruno Haible  <bruno@clisp.org>
37396
37397         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
37398
37399 2009-11-03  Jim Meyering  <meyering@redhat.com>
37400
37401         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
37402         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
37403         if it is defined.
37404
37405 2009-11-02  Eric Blake  <ebb9@byu.net>
37406
37407         mktime, timegm: share common declaration
37408         * lib/mktime-internal.h: New file.
37409         * lib/mktime.c: Use it rather than open-coding a declaration.
37410         * lib/timegm.c: Likewise.
37411         * modules/mktime (Files): Ship it.
37412         * modules/timegm (Files): Likewise.
37413         Suggested by Bruno Haible.
37414
37415         test-update-copyright: update test to match script changes
37416         * tests/test-update-copyright.sh: Avoid hard-coding perl
37417         location.  Don't update *.bak created by earlier runs.
37418
37419 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
37420             Simon Josefsson  <simon@josefsson.org>
37421             Bruno Haible  <bruno@clisp.org>
37422
37423         Fix link error on Solaris 8.
37424         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
37425         also in libnsl. Define also INET_PTON_LIB.
37426         * modules/inet_pton (Link): New section.
37427
37428 2009-11-02  Simon Josefsson  <simon@josefsson.org>
37429             Bruno Haible  <bruno@clisp.org>
37430
37431         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
37432         * modules/inet_ntop (Link): New section.
37433         Reported by Boyan Kasarov <bkasarov@gmail.com>.
37434
37435 2009-11-02  Eric Blake  <ebb9@byu.net>
37436
37437         maint: avoid compiler warnings in m4 macros
37438         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
37439         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
37440
37441 2009-11-02  Simon Josefsson  <simon@josefsson.org>
37442
37443         * m4/pmccabe2html.m4: Remove file.
37444         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
37445         function.  Change maintainer.
37446         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
37447         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
37448         Courtès).
37449
37450 2009-10-31  Eric Blake  <ebb9@byu.net>
37451
37452         fseeko: fix m4 regression
37453         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
37454         regression from 2009-10-27.
37455         Reported by Ralf Wildenhues.
37456
37457 2009-10-31  Jim Meyering  <meyering@redhat.com>
37458
37459         inttostr: aesthetics and improved (compile-time) safety
37460         Define inttype_is_signed rather than inttype_is_unsigned,
37461         since the sole use is via "#if inttype_is_signed".
37462         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
37463         inttype_is_unsigned.
37464         * lib/offtostr.c (inttype_is_signed): Likewise.
37465         * lib/uinttostr.c (inttype_is_signed): Likewise.
37466         * lib/umaxtostr.c (inttype_is_signed): Likewise.
37467         * lib/inttostr.c (inttostr): Use verify to cross-check the
37468         inttype_is_signed value and the signedness of the actual type.
37469         * modules/inttostr (Depends-on): Add verify.
37470
37471 2009-10-30  Eric Blake  <ebb9@byu.net>
37472
37473         build: avoid compiler warnings
37474         * lib/fchmodat.c (lchmod): Mark unused variables.
37475         * lib/getopt.c (_getopt_initialize): Likewise.
37476         * lib/mktime.c (__mktime_internal): Provide prototype.
37477         * lib/inttostr.c (inttostr): Avoid compiler warning even with
37478         older gcc that do not understand #pragma GCC diagnostic.
37479         * lib/uinttostr.c (inttype_is_unsigned): Define.
37480         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
37481
37482 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
37483
37484         stat: fix compilation on AIX
37485         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
37486         only see struct stat64.
37487
37488 2009-10-30  Eric Blake  <ebb9@byu.net>
37489
37490         exclude: make more robust
37491         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
37492         rather than masking a coding bug.
37493         Suggested by Bruno Haible.
37494
37495 2009-10-30  Jim Meyering  <meyering@redhat.com>
37496
37497         perl scripts: remove #!/usr/bin/perl in favor of more portable...
37498         Rather than putting #!/usr/bin/perl on the first line,
37499         start with a variant of what's recommended by "man perlrun" that
37500         invokes the first "perl" program from your shell's search path.
37501         * build-aux/gitlog-to-changelog: Replace #!... as above.
37502         Add a "Local Variables" perl mode setting.
37503         Prompted by a patch from Ludovic Courtès.
37504         Improved by Eric Blake.
37505         * build-aux/useless-if-before-free: Likewise.
37506         * build-aux/announce-gen: Likewise.
37507         * build-aux/update-copyright: Likewise.
37508
37509 2009-10-29  Eric Blake  <ebb9@byu.net>
37510
37511         filenamecat-lgpl: adjust clients
37512         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
37513         filenamecat.
37514         * modules/renameat (Depends-on): Likewise.
37515
37516         filenamecat: split into filenamecat-lgpl
37517         * modules/filenamecat-lgpl: New module.
37518         * modules/filenamecat (Files): Move library-safe files into
37519         filenamecat-lgpl.
37520         (Depends-on): Add filenamecat-lgpl.
37521         (configure.ac): Declare witness.
37522         * lib/filenamecat.h (file_name_concat): Only declare when using
37523         GPL module.
37524         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
37525         Move...
37526         * lib/filenamecat-lgpl.c: ...into new file.
37527         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
37528         (gl_FILE_NAME_CONCAT): Use it.
37529         * MODULES.html.sh (File system functions): Mention new module.
37530
37531         argp: avoid memory leak
37532         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
37533         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
37534         base_name, since the latter malloc()s and can call exit().
37535         Leak introduced 2006-07-03.
37536
37537         dirname-lgpl: adjust clients that don't need full dirname
37538         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
37539         * modules/filenamecat (Depends-on): Likewise.
37540         * modules/linkat (Depends-on): Likewise.
37541         * modules/mkancesdirs (Depends-on): Likewise.
37542         * modules/mkdir (Depends-on): Likewise.
37543         * modules/openat (Depends-on): Likewise.
37544         * modules/savewd (Depends-on): Likewise.
37545         * modules/rename (Depends-on): Likewise.
37546         (License): Relax license.
37547         * modules/mkdir-tests (Depends-on): Drop progname.
37548         (Makefile.am): Delete unneeded LDADD.
37549         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
37550
37551         dirname: split into dirname-lgpl
37552         * modules/dirname-lgpl: New module.
37553         * modules/dirname (Files): Move library-safe files into
37554         dirname-lgpl.
37555         (Depends-on): Add dirname-lgpl.
37556         (configure.ac): Declare witness.
37557         * modules/double-slash-root (License): Relax license.
37558         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
37559         module.
37560         * lib/dirname.c (dir_len, mdir_name): Move...
37561         * lib/dirname-lgpl.c: ...into new file.
37562         * lib/basename.c (last_component, base_len): Move...
37563         * lib/basename-lgpl.c: ...into new file.
37564         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
37565         (gl_DIRNAME): Use it.
37566         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
37567         Mention new module.
37568         * modules/dirname-tests (Depends-on): Add progname.
37569         * tests/test-dirname.c (program_name): Delete.
37570
37571         mkdir: make safe for libraries
37572         * modules/mkdir (Depends-on): Drop xalloc.
37573         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
37574         exit.
37575
37576         tests: avoid some compiler warnings
37577         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
37578         literals.
37579         * tests/test-memchr.c (main): Avoid type mismatch.
37580         * tests/test-arpa_inet.c (main): Avoid unused parameters.
37581         * tests/test-base64.c (main): Likewise.
37582         * tests/test-getdelim.c (main): Likewise.
37583         * tests/test-gethostname.c (main): Likewise.
37584         * tests/test-getline.c (main): Likewise.
37585         * tests/test-netinet_in.c (main): Likewise.
37586         * tests/test-select.c (open_server_socket, main): Likewise.
37587         * tests/test-select-stdin.c (main): Likewise.
37588         * tests/test-sockets.c (main): Likewise.
37589         * tests/test-strsignal.c (main): Likewise.
37590         * tests/test-sys_select.c (main): Likewise.
37591         * tests/test-sys_socket.c (main): Likewise.
37592         * tests/test-u64.c (main): Likewise.
37593         * tests/test-xfprintf-posix.c (main): Likewise.
37594         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
37595
37596         sockets: avoid compiler warning
37597         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
37598
37599         maint: detect usage(1) and other suspicious exits
37600         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
37601
37602 2009-10-29  Jim Meyering  <meyering@redhat.com>
37603
37604         timespec: long-to-int truncation could make timespec_cmp malfunction
37605         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
37606         a multiple of 2^32 nanoseconds as no difference.
37607
37608 2009-10-28  Jim Meyering  <meyering@redhat.com>
37609
37610         fprintftime: wrap macro code argument in "do {...} while(0)"
37611         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
37612         cpy macro must be a statement that can be followed by a semicolon.
37613         Now that the else clause contains a comment and is hence longer
37614         than one line, I require curly braces.  That in turn requires
37615         that we wrap this code block in the standard do...while(0).
37616
37617         fprintftime: remove stray semicolon from previous change
37618         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
37619
37620         fprintftime: avoid a warning about ignored fwrite return value
37621         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
37622         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
37623         that is unsafe.
37624         * modules/fprintftime (Depends-on): Add ignore-value.
37625
37626         exclude: avoid an unwarranted warning
37627         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
37628
37629 2009-10-27  Eric Blake  <ebb9@byu.net>
37630
37631         fseek: avoid compilation failure when fflush is replaced
37632         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
37633         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
37634         module is in use.
37635         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
37636         module is not in use; since REPLACE_FSEEK worked otherwise.
37637         (GNULIB_FTELLO): Likewise for ftell.
37638         Reported by Ian Beckwith and others.
37639
37640 2009-10-27  Bruno Haible  <bruno@clisp.org>
37641
37642         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
37643         Reported by Jim Meyering.
37644
37645 2009-10-27  Jim Meyering  <jim@meyering.net>
37646             Bruno Haible  <bruno@clisp.org>
37647
37648         Avoid warning despite dropping the return value of fwrite.
37649         * lib/unicodeio.c: Include ignore-value.h.
37650         (fwrite_success_callback): Explicitly ignore fwrite's return value.
37651         * modules/unicodeio (Depends-on): Add ignore-value.
37652
37653 2009-10-26  Eric Blake  <ebb9@byu.net>
37654
37655         areadlinkat: fix fallback path
37656         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
37657         pointer and zero.
37658
37659 2009-10-22  Pádraig Brady  <P@draigBrady.com>
37660
37661         Use a better IO block size for modern systems
37662         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
37663         * lib/md2.c: Likewise.
37664         * lib/md4.c: Likewise.
37665         * lib/md5.c: Likewise.
37666         * lib/sha1.c: Likewise.
37667         * lib/sha256.c: Likewise.
37668         * lib/sha512.c: Likewise.
37669
37670 2009-10-22  Eric Blake  <ebb9@byu.net>
37671
37672         tests: avoid several compiler warnings
37673         * tests/test-getcwd.c (main): Avoid buffer underflow.
37674         * tests/test-getdate.c (main): String literals are not safe with
37675         putenv, so use setenv.  Declare unused argument.
37676         * modules/getdate-tests (Depends-on): Add setenv.
37677         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
37678         problems with string literals in char *.
37679         * tests/test-hash.c (main): Avoid shadowing declaration.
37680         (insert_new): Treat string literals as char const *.
37681         * tests/test-getopt.h (test_getopt): Likewise.
37682         (getopt_loop): Alter types to minimize casting elsewhere.
37683         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
37684         (test_getopt_long_posix): Likewise.
37685         (do_getopt_long): Add wrapper to minimize casting.
37686         * tests/test-atexit.c (clear_temp_file): Use void.
37687         * tests/test-areadlink-with-size.c (main): Declare unused
37688         arguments.
37689         * tests/test-areadlink.c (main): Likewise.
37690         * tests/test-areadlinkat-with-size.c (main): Likewise.
37691         * tests/test-areadlinkat.c (main): Likewise.
37692         * tests/test-canonicalize-lgpl.c (main): Likewise.
37693         * tests/test-canonicalize.c (main): Likewise.
37694         * tests/test-dirent-safer.c (main): Likewise.
37695         * tests/test-dirname.c (main): Likewise.
37696         * tests/test-dup2.c (main): Likewise.
37697         * tests/test-fchdir.c (main): Likewise.
37698         * tests/test-fcntl-h.c (main): Likewise.
37699         * tests/test-fcntl-safer.c (main): Likewise.
37700         * tests/test-fdopendir.c (main): Likewise.
37701         * tests/test-fdutimensat.c (main): Likewise.
37702         * tests/test-fflush.c (main): Likewise.
37703         * tests/test-filenamecat.c (main): Likewise.
37704         * tests/test-filevercmp.c (main): Likewise.
37705         * tests/test-fopen-safer.c (main): Likewise.
37706         * tests/test-fopen.c (main): Likewise.
37707         * tests/test-fpending.c (main): Likewise.
37708         * tests/test-fpurge.c (main): Likewise.
37709         * tests/test-freading.c (main): Likewise.
37710         * tests/test-fstatat.c (main): Likewise.
37711         * tests/test-fsync.c (main): Likewise.
37712         * tests/test-futimens.c (main): Likewise.
37713         * tests/test-getndelim2.c (main): Likewise.
37714         * tests/test-gettimeofday.c (main): Likewise.
37715         * tests/test-getopt.c (main): Likewise.
37716         * tests/test-i-ring.c (main): Likewise.
37717         * tests/test-inttypes.c (main): Likewise.
37718         * tests/test-link.c (main): Likewise.
37719         * tests/test-lstat.c (main): Likewise.
37720         * tests/test-math.c (main): Likewise.
37721         * tests/test-md5.c (main): Likewise.
37722         * tests/test-memchr2.c (main): Likewise.
37723         * tests/test-memrchr.c (main): Likewise.
37724         * tests/test-mkdir.c (main): Likewise.
37725         * tests/test-mkdirat.c (main): Likewise.
37726         * tests/test-mkfifoat.c (main): Likewise.
37727         * tests/test-open.c (main): Likewise.
37728         * tests/test-openat-safer.c (main): Likewise.
37729         * tests/test-openat.c (main): Likewise.
37730         * tests/test-quotearg.c (main): Likewise.
37731         * tests/test-rawmemchr.c (main): Likewise.
37732         * tests/test-readlink.c (main): Likewise.
37733         * tests/test-remove.c (main): Likewise.
37734         * tests/test-rename.c (main): Likewise.
37735         * tests/test-renameat.c (main): Likewise.
37736         * tests/test-rmdir.c (main): Likewise.
37737         * tests/test-sha1.c (main): Likewise.
37738         * tests/test-signal.c (main): Likewise.
37739         * tests/test-sigaction.c (main): Likewise.
37740         * tests/test-stat.c (main): Likewise.
37741         * tests/test-stat-time.c (main): Likewise.
37742         * tests/test-stddef.c (main): Likewise.
37743         * tests/test-stdint.c (main): Likewise.
37744         * tests/test-stdio.c (main): Likewise.
37745         * tests/test-stdlib.c (main): Likewise.
37746         * tests/test-strchrnul.c (main): Likewise.
37747         * tests/test-strerror.c (main): Likewise.
37748         * tests/test-string.c (main): Likewise.
37749         * tests/test-strtod.c (main): Likewise.
37750         * tests/test-strverscmp.c (main): Likewise.
37751         * tests/test-symlink.c (main): Likewise.
37752         * tests/test-symlinkat.c (main): Likewise.
37753         * tests/test-sys_stat.c (main): Likewise.
37754         * tests/test-sys_time.c (main): Likewise.
37755         * tests/test-time.c (main): Likewise.
37756         * tests/test-unistd.c (main): Likewise.
37757         * tests/test-unlink.c (main): Likewise.
37758         * tests/test-unlinkat.c (main): Likewise.
37759         * tests/test-utimens.c (main): Likewise.
37760         * tests/test-utimensat.c (main): Likewise.
37761         * tests/test-version-etc.c (main): Likewise.
37762         * tests/test-wchar.c (main): Likewise.
37763         * tests/test-wctype.c (main): Likewise.
37764         * tests/test-xprintf-posix.c (main): Likewise.
37765         * tests/test-posixtm.c (main): Likewise.
37766         (STREQ): Delete unused macro.
37767         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
37768         shadowed variables.
37769         * tests/test-memchr.c (main): Likewise.
37770
37771 2009-10-21  Eric Blake  <ebb9@byu.net>
37772
37773         areadlinkat: avoid failure on older glibc
37774         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
37775         rather than mis-comparing 0 against FUNC_RESULT of char*.
37776
37777 2009-10-21  Bruno Haible  <bruno@clisp.org>
37778
37779         * modules/stpncpy (License): Relicense under LGPLv2+.
37780         Reported by David Lutterkort <lutter@redhat.com>.
37781
37782 2009-10-20  Eric Blake  <ebb9@byu.net>
37783
37784         utimensat: work around Solaris 9 bug
37785         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
37786         has trailing slash bugs.
37787         * tests/test-lutimens.h (test_lutimens): Enhance test.
37788         * tests/test-utimens.h (test_utimens): Likewise.
37789         * doc/posix-functions/utime.texi (utime): Enhance documentation.
37790         * doc/posix-functions/utimes.texi (utimes): Likewise.
37791         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
37792         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
37793         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
37794         * doc/posix-functions/futimens.texi (futimens): Likewise.
37795
37796         fdutimensat: new module
37797         * modules/fdutimensat: New file.
37798         * lib/fdutimensat.c (fdutimensat): Likewise.
37799         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
37800         * MODULES.html.sh (File system functions): Mention module.
37801         * modules/fdutimensat-tests: New test.
37802         * tests/test-fdutimensat.c: Likewise.
37803
37804         doc: regenerate INSTALL
37805         * doc/INSTALL: Reflect recent autoconf update.
37806         * doc/INSTALL.ISO: Likewise.
37807         * doc/INSTALL.UTF-8: Likewise.
37808
37809 2009-10-20  Pádraig Brady  <P@draigBrady.com>
37810
37811         acl: warn if ACL support is not detected
37812         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
37813
37814 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
37815
37816         * lib/nproc.h: Add extern "C" block for C++.
37817
37818 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
37819             Bruno Haible  <bruno@clisp.org>
37820
37821         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
37822         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
37823         * doc/posix-functions/isalpha.texi: Likewise.
37824         * doc/posix-functions/isblank.texi: Likewise.
37825         * doc/posix-functions/iscntrl.texi: Likewise.
37826         * doc/posix-functions/isdigit.texi: Likewise.
37827         * doc/posix-functions/isgraph.texi: Likewise.
37828         * doc/posix-functions/islower.texi: Likewise.
37829         * doc/posix-functions/isprint.texi: Likewise.
37830         * doc/posix-functions/ispunct.texi: Likewise.
37831         * doc/posix-functions/isspace.texi: Likewise.
37832         * doc/posix-functions/isupper.texi: Likewise.
37833         * doc/posix-functions/isxdigit.texi: Likewise.
37834
37835 2009-10-18  Bruno Haible  <bruno@clisp.org>
37836
37837         Tests for module 'isblank'.
37838         * modules/isblank-tests: New file.
37839         * tests/test-isblank.c: New file.
37840
37841         New module 'isblank'.
37842         * lib/isblank.c: New file.
37843         * m4/isblank.m4: New file.
37844         * modules/isblank: New file.
37845         * doc/posix-functions/isblank.texi: Mention the new module.
37846
37847 2009-10-18  Bruno Haible  <bruno@clisp.org>
37848
37849         New module 'ctype'.
37850         * lib/ctype.in.h: New file.
37851         * m4/ctype.m4: New file.
37852         * modules/ctype: New file.
37853         * doc/posix-headers/ctype.texi: Mention the new module.
37854
37855 2009-10-18  Jim Meyering  <meyering@redhat.com>
37856
37857         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
37858         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
37859         right after its initialization, rather than farther down.
37860         Keeping these in close proximity makes it easier to ensure
37861         that each such variable is initialized.  E.g.,
37862
37863             LIB_CLOCK_GETTIME=
37864             AC_SUBST([LIB_CLOCK_GETTIME])
37865
37866         This change also increments these serial numbers.
37867         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
37868         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
37869         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
37870
37871 2009-10-18  Bruno Haible  <bruno@clisp.org>
37872
37873         Don't let environment variables perturb build.
37874         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
37875         (gl_PREREQ_GETHRXTIME): ... not here.
37876
37877 2009-10-18  Bruno Haible  <bruno@clisp.org>
37878
37879         Avoid symlink attack in localcharset module.
37880         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
37881         (O_NOFOLLOW): Define fallback.
37882         (get_charset_aliases): Don't open the file if it is a symbolic link.
37883         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
37884         gl_FCNTL_H.
37885         (gl_FCNTL_H): Require it.
37886         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
37887         * modules/localcharset (Files): Add m4/fcntl_h.m4.
37888         Reported by Fergal Glynn <fglynn@veracode.com>.
37889
37890 2009-10-18  Bruno Haible  <bruno@clisp.org>
37891
37892         Implement nproc for mingw.
37893         * lib/nproc.c: Include <windows.h>
37894         (num_processors): On native Windows platforms, try GetSystemInfo.
37895
37896 2009-10-18  Bruno Haible  <bruno@clisp.org>
37897
37898         Implement nproc for IRIX.
37899         * lib/nproc.c: Include <sys/sysmp.h>.
37900         (num_processors): On IRIX systems, try sysmp.
37901         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
37902
37903 2009-10-18  Bruno Haible  <bruno@clisp.org>
37904
37905         Implement nproc for HP-UX.
37906         * lib/nproc.c: Include <sys/pstat.h>
37907         (num_processors): On HP-UX systems, try pstat_getdynamic.
37908         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
37909         pstat_getdynamic.
37910
37911 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
37912             Bruno Haible  <bruno@clisp.org>
37913
37914         Implement nproc for NetBSD, OpenBSD.
37915         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
37916         (ARRAY_SIZE): New macro.
37917         (num_processors): On BSD systems, try sysctl of HW_NCPU.
37918         * m4/nproc.m4: New file.
37919         * modules/nproc (Files): Add m4/nproc.m4.
37920         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
37921         (Makefile.am): Instead, augment lib_SOURCES.
37922
37923 2009-10-18  Bruno Haible  <bruno@clisp.org>
37924
37925         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
37926         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
37927         sys/param.h.
37928
37929 2009-10-16  Eric Blake  <ebb9@byu.net>
37930
37931         utimensat: new module
37932         * modules/utimensat: New file.
37933         * lib/utimensat.c (utimensat): Likewise.
37934         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
37935         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
37936         so we can work around Linux bugs.
37937         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
37938         * modules/sys_stat (Makefile.am): Substitute them.
37939         * lib/sys_stat.in.h (utimensat): Declare it.
37940         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
37941         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
37942         * modules/utimensat-tests: New test.
37943         * tests/test-utimensat.c: Likewise.
37944
37945         utimens: let lutimens work on non-symlinks
37946         * lib/utimens.c (lutimens): Fall back to utimens rather than
37947         failing with ENOSYS, when file is not a symlink.
37948         (utimens): Reduce redirection.
37949         * tests/test-lutimens.h (test_lutimens): Update test to cover
37950         non-symlinks.
37951         * tests/test-utimens.h (test_utimens): Update test to cover
37952         symlinks.
37953         * tests/test-utimens.c (main): Update caller.
37954
37955         utimens: cache whether utimensat syscall works
37956         * lib/utimens.c (utimensat_works_really): New cache variable.
37957         (fdutimens, lutimens): Use it to avoid failing syscall.
37958
37959         test-stat-time, test-utimens: improve portability
37960         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
37961         ext4 on alpha, and for cygwin.
37962         * tests/test-utimens-common.h: New file.
37963         (nap): Factor delays into single function.
37964         * tests/test-lutimens.h (test_lutimens): Use new header.
37965         * tests/test-futimens.h (test_futimens): Likewise.
37966         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
37967         timestamps to occur from same machine, as was done previously for
37968         test_utimens.
37969         * modules/utimens-tests (Files): Ship new file.
37970         * modules/futimens-tests (Files): Likewise.
37971         Reported in part by Jim Meyering.
37972
37973         sys_stat: sort replacement declarations
37974         * lib/sys_stat.in.h: Sort declarations.
37975         * lib/futimens.c (futimens): Fix typo.
37976
37977 2009-10-15  Jim Meyering  <meyering@redhat.com>
37978
37979         don't let environment settings perturb build
37980         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
37981         could cause a configure-time and/or build-time malfunction.
37982         Typically, a configure-time function-in-library test is performed
37983         via code like this:
37984
37985           LIB_VAR=
37986           AC_SUBST([LIB_VAR])
37987           prefix_saved_LIBS=$LIBS
37988             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
37989                        [test "$ac_cv_search_FUNC" = "none required" ||
37990                         LIB_VAR=$ac_cv_search_FUNC])
37991           LIBS=$prefix_saved_LIBS
37992
37993         However, in each of the files affected by this change, the LIB_VAR=
37994         initialization was omitted.  Thus, when set in the environment, its
37995         value would propagate into generated Makefiles when FUNC is not found
37996         in LIB_NAME.
37997         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
37998         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
37999         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
38000
38001 2009-10-14  Eric Blake  <ebb9@byu.net>
38002
38003         fchdir: avoid infinite recursion in mingw
38004         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
38005         recursing.
38006
38007         test-stat-time: port to mingw
38008         * tests/test-stat-time.c (force_unlink): Return a value.
38009         (test_ctime) [W32]: Fix compilation error.
38010         (nap): Don't call usleep with too large an argument.  Use
38011         force_unlink.
38012         * doc/pastposix-functions/usleep.texi (usleep): Document the
38013         portability issue.
38014
38015 2009-10-13  Jim Meyering  <meyering@redhat.com>
38016
38017         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
38018         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
38019         * modules/pipe-filter-ii: Likewise.
38020         * modules/sys_socket-tests: Likewise.
38021         * modules/tsearch-tests: Likewise.
38022         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
38023         (check): Depend on it.
38024
38025 2009-10-12  Eric Blake  <ebb9@byu.net>
38026
38027         utimens-tests: port to NFS file systems
38028         * tests/test-utimens.h (test_utimens): Refactor utimecmp
38029         comparisons to avoid spurious failures from timestamp drift
38030         between NFS machines.
38031
38032 2009-10-12  Eric Blake  <ebb9@byu.net>
38033
38034         stat-time-tests: minor cleanups
38035         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
38036         * tests/test-stat-time.c (nap): Separate assignment from call.
38037         Suggested by Paolo Bonzini and Bruno Haible.
38038
38039         sys_stat: guarantee struct timespec
38040         * lib/sys_stat.in.h (includes): Always include <time.h>
38041         * modules/sys_stat (Depends-on): Add time.
38042         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
38043         mode_t permission values.
38044         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
38045         get at subsecond timestamps.
38046
38047 2009-10-10  Eric Blake  <ebb9@byu.net>
38048
38049         futimens: new module
38050         * modules/futimens: New file.
38051         * lib/futimens.c (futimens): Likewise.
38052         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
38053         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
38054         we can work around Linux bugs.
38055         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
38056         * modules/sys_stat (Makefile.am): Substitute them.
38057         * lib/sys_stat.in.h (futimens): Declare it.
38058         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
38059         * doc/posix-functions/futimens.texi (futimens): Likewise.
38060         * modules/futimens-tests: New test.
38061         * tests/test-futimens.c: Likewise.
38062
38063         utimens: introduce fdutimens
38064         * lib/utimens.h (fdutimens): New prototype.
38065         * lib/utimens.c (gl_futimens): Move guts...
38066         (fdutimens): ...to new interface.
38067         * tests/test-utimens.c (do_fdutimens): Use it.
38068
38069         utimens: add UTIME_NOW and UTIME_OMIT support
38070         * lib/utimens.c (validate_timespec, update_timespec): New helper
38071         functions.
38072         (gl_futimens, lutimens): Use them.
38073         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
38074         stdbool, sys_stat.
38075         (Link): Mention resulting library dependency.
38076         * modules/utimecmp (Link): Likewise.
38077         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
38078         (Makefile.am): Pick up library dependency.
38079         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
38080         definition.
38081         * tests/test-sys_stat.c: Test the definitions.
38082         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
38083         * NEWS: Document library dependency.
38084
38085         utimecmp: support symlink timestamps
38086         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
38087         hashing when possible.  Use pathconf when available.
38088         (SYSCALL_RESOLUTION): Recognize tighter resolution.
38089         * modules/utimecmp (Depends-on): Add lstat.
38090
38091         utimens: add lutimens interface
38092         * lib/utimens.c (lutimens): New function.
38093         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
38094         * lib/utimens.h (lutimens): Declare new interface.
38095         * tests/test-utimens.c (main): Enhance test.
38096         * tests/test-lutimens.h (test_lutimens): New file.
38097         * modules/utimens-tests (Files): Distribute it.
38098         (Depends-on): Add symlink.
38099         (configure.ac): Check for usleep.
38100
38101         utimens: validate futimens usage
38102         * lib/utimens.c (gl_futimens): Require valid fd up front, using
38103         fewer syscalls on failure later on.  Avoid compiler warning on
38104         mingw.
38105         * modules/utimens (Depends-on): Add dup2.
38106
38107         utimens: add test
38108         * modules/utimens-tests: New test.
38109         * tests/test-utimens.h: New file.
38110         * tests/test-futimens.h: Likewise.
38111         * tests/test-utimens.c: Likewise.
38112
38113         doc: mention timestamp portability issues
38114         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
38115         instead.
38116         * doc/posix-functions/utime.texi (utime): Likewise.
38117         * doc/posix-functions/utimes.texi (utimes): Likewise.
38118         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
38119         instead.
38120         * doc/posix-functions/futimens.texi (futimens): Mention utimens
38121         module.
38122         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
38123         Mention weakness with symlink timestamps.
38124         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
38125         to utimensat/futimens instead.
38126         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
38127
38128         test-dup2: enhance test
38129         * tests/test-dup2.c (main): Also check AT_FDCWD.
38130
38131         test-stat-time: avoid more spurious failures
38132         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
38133         xfs; and avoid race if the two timestamps cross quantization edge.
38134
38135         relocatable: prefer 'file system' over 'filesystem'
38136         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
38137         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
38138         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
38139         * doc/relocatable.texi (Enabling Relocatability): Likewise.
38140         * lib/relocatable.c (compute_curr_prefix): Likewise.
38141
38142 2009-10-10  Jim Meyering  <meyering@redhat.com>
38143
38144         stat-time-tests: check for the usleep function
38145         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
38146
38147 2009-10-10  Bruno Haible  <bruno@clisp.org>
38148
38149         * modules/xnanosleep: Put the Link section after the Include section.
38150
38151 2009-10-09  Eric Blake  <ebb9@byu.net>
38152
38153         dup2: work around FreeBSD 6.1 bug
38154         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
38155         * doc/posix-functions/dup2.texi (dup2): Document it.
38156         Reported by Nelson H. F. Beebe and Jim Meyering.
38157
38158         test-stat-time: port to buggy NFS clients
38159         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
38160         (test_ctime): Also skip test if mtime and ctime are skewed.
38161
38162         maint: prefer 'file system' over 'filesystem'
38163         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
38164         * doc/posix-functions/lstat.texi (lstat): Likewise.
38165         * lib/file-has-acl.c (file_has_acl): Likewise.
38166         * lib/fwriteerror.c [TEST]: Likewise.
38167         * tests/test-areadlink.h (test_areadlink): Likewise.
38168         * tests/test-areadlinkat-with-size.c (main): Likewise.
38169         * tests/test-areadlinkat.c (main): Likewise.
38170         * tests/test-canonicalize-lgpl.c (main): Likewise.
38171         * tests/test-canonicalize.c (main): Likewise.
38172         * tests/test-fstatat.c (main): Likewise.
38173         * tests/test-linkat.c (main): Likewise.
38174         * tests/test-lstat.h (test_lstat_func): Likewise.
38175         * tests/test-mkdir.h (test_mkdir): Likewise.
38176         * tests/test-readlink.h (test_readlink): Likewise.
38177         * tests/test-remove.c (main): Likewise.
38178         * tests/test-rename.h (test_rename): Likewise.
38179         * tests/test-renameat.c (main): Likewise.
38180         * tests/test-rmdir.h (test_rmdir_func): Likewise.
38181         * tests/test-symlink.h (test_symlink): Likewise.
38182         * tests/test-symlinkat.c (main): Likewise.
38183         * tests/test-unlink.h (test_unlink_func): Likewise.
38184         * tests/test-unlinkat.c (main): Likewise.
38185
38186         maint: make realtime library usage explicit
38187         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
38188         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
38189         * modules/settime (Link): Likewise.
38190         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
38191
38192         test-stat-time: speed up execution
38193         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
38194         warning on mingw.
38195         (nap): New helper function.
38196         (prepare_test): Use it to reduce sleep time.
38197         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
38198         execution.
38199         * modules/stat-time-tests (configure.ac): Check for usleep.
38200
38201 2009-10-09  Jim Meyering  <meyering@redhat.com>
38202
38203         selinux-h: always use getfilecon wrappers
38204         * lib/getfilecon.c: New file.
38205         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
38206         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
38207         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
38208         (fgetfilecon): Provide a stub.
38209         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
38210         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
38211         file unconditionally.
38212         When <selinux/selinux.h> is found, arrange to use wrappers.
38213         * modules/selinux-h (Files): Add getfilecon.c.
38214         (Makefile.am): Substitute include-next-related bits
38215         into the now-always-generated selinux/selinux.h file.
38216         * doc/glibc-functions/lgetfilecon.texi: New file.
38217         * doc/glibc-functions/fgetfilecon.texi: New file.
38218         * doc/glibc-functions/getfilecon.texi: New file.
38219         * doc/glibc-functions/getfilecon-desc.texi: New file.
38220         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
38221         which to pull in the new files.
38222         * MODULES.html.sh (Misc): Add selinux-h.
38223
38224 2009-10-08  Jim Meyering  <meyering@redhat.com>
38225
38226         unistd: fix comment typo
38227         * lib/unistd.in.h (euidaccess): Fix a comment typo.
38228
38229 2009-10-08  Eric Blake  <ebb9@byu.net>
38230
38231         areadlink: use SIZE_MAX consistently
38232         * modules/areadlink (Depends-on): Add stdint.
38233         * modules/areadlink-with-size (Depends-on): Likewise.
38234         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
38235         gives NULL; drop sys/types, since unistd gives size_t; and add
38236         stdint for SIZE_MAX.
38237         (SIZE_MAX): Rely on headers.
38238         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
38239         and add stdint.
38240         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
38241         (SIZE_MAX): Likewise.
38242         (INITIAL_BUF_SIZE): Turn into enum.
38243         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
38244
38245 2009-10-08  Jim Meyering  <meyering@redhat.com>
38246
38247         areadlinkat: avoid compilation failure
38248         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
38249         Fix typo in comment.
38250
38251 2009-10-07  Eric Blake  <ebb9@byu.net>
38252
38253         areadlinkat-with-size: new module
38254         * modules/areadlinkat-with-size: New module.
38255         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
38256         * lib/areadlink.h (areadlinkat): Declare it.
38257         * MODULES.html.sh (File system functions): Mention it.
38258         * modules/areadlinkat-with-size-tests: New test.
38259         * tests/test-areadlinkat-with-size.c: New file.
38260
38261         xreadlinkat: new module
38262         * modules/xreadlinkat: New module.
38263         * lib/xreadlinkat.c (xreadlinkat): New file.
38264         * lib/xreadlink.h (xreadlinkat): Declare it.
38265         * MODULES.html.sh (File system functions): Mention it.
38266
38267         areadlinkat: new module
38268         * lib/at-func.c (FUNC_FAIL): New define.
38269         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
38270         * modules/areadlinkat: New module.
38271         * lib/linkat.c (areadlinkat): Move...
38272         * lib/areadlinkat.c (areadlinkat): ...to new file.
38273         * lib/areadlink.h (areadlinkat): Declare it.
38274         * modules/linkat (Depends-on): Add areadlinkat.
38275         * MODULES.html.sh (File system functions): Mention it.
38276         * modules/areadlinkat-tests: New test.
38277         * tests/test-areadlinkat.c: New file.
38278
38279         areadlink, areadlink-with-size: add tests
38280         * modules/areadlink-tests: New test.
38281         * modules/areadlink-with-size-tests: Likewise.
38282         * tests/test-areadlink.h: New file.
38283         * tests/test-areadlink.c: Likewise.
38284         * tests/test-areadlink-with-size.c: Likewise.
38285
38286         maint: minor cleanups
38287         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
38288         _UNUSED_PARAMETER_ instead.
38289         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
38290         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
38291         * modules/linkat-tests (Files): Distribute test-link.h.
38292
38293         openat, utimens: whitespace cleanup
38294         * lib/openat.c: Prefer space throughout, rather than mix of 8
38295         spaces vs. tabs.
38296         * lib/at-func.c: Likewise.
38297         * lib/utimens.c: Likewise.
38298
38299         openat: avoid using wrong fd
38300         * lib/openat.c (openat_permissive): Reject user's fd if saving the
38301         working directory chooses same fd.
38302         * lib/at-func.c (AT_FUNC_NAME): Likewise.
38303
38304         mkdir, mkdirat: fix cygwin 1.5.x bug
38305         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
38306         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
38307         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
38308         bug.
38309         (gl_PREREQ_MKDIR): Delete unused macro.
38310         * modules/mkdir (Files): Track file rename.
38311         (configure.ac): Update macro name.
38312         * modules/openat (Depends-on): Add mkdir.
38313         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
38314
38315         mkdir, mkdirat: add tests
38316         * modules/mkdir-tests: New test.
38317         * tests/test-mkdir.h: New file.
38318         * tests/test-mkdir.c: Likewise.
38319         * tests/test-mkdirat.c: Likewise.
38320         * modules/openat-tests (Files): Add new files.
38321         (Makefile.am): Run new test.
38322
38323 2009-10-06  Eric Blake  <ebb9@byu.net>
38324
38325         doc: tweak *at function documentation
38326         * doc/posix-functions/faccessat.texi (faccessat): Mention
38327         known issue with replacement.
38328         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
38329         * doc/posix-functions/linkat.texi (linkat): Likewise.
38330         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
38331         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
38332         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
38333         * doc/posix-functions/renameat.texi (renameat): Likewise.
38334         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
38335
38336         openat: fix GNU/Hurd bug in unlinkat
38337         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
38338         broken.
38339         * doc/posix-functions/unlink.texi (unlink): Document this.
38340         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
38341
38342         fdopendir: fix GNU/Hurd bug
38343         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
38344         allowing non-directory fds.
38345         * lib/fdopendir.c (rpl_fdopendir): Work around it.
38346         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
38347         * modules/dirent (Makefile.am): Substitute it.
38348         * lib/dirent.in.h (fdopendir): Declare replacement.
38349         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
38350         * tests/test-fdopendir.c (main): Test something other than
38351         /dev/null, since on Hurd that behaves like a directory.
38352
38353         test-symlink: port to GNU/Hurd
38354         * tests/test-symlink.h (test_symlink): Relax expected errno.
38355
38356         doc: tweak more cygwin information
38357         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
38358         now compatible with glibc.
38359         * doc/posix-functions/getopt.texi (getopt): Likewise.
38360
38361         getopt-gnu: add another test
38362         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
38363         guarantee behavior relied on by m4.
38364         * tests/test-getopt.c (main): Use it.
38365         * modules/getopt-posix-tests (Depends-on): Add setenv.
38366         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
38367
38368         getopt: fix compilation on darwin
38369         * lib/getopt.in.h (includes): Leave breadcrumbs during system
38370         include.
38371         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
38372         Reported by Ludovic Courtès.
38373
38374 2009-10-06  Bruno Haible  <bruno@clisp.org>
38375
38376         * modules/size_max (Description): Discourage its use.
38377         Reported by Simon Josefsson.
38378
38379 2009-10-06  Jim Meyering  <meyering@redhat.com>
38380
38381         linkat: avoid compilation failure
38382         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
38383
38384 2009-10-05  Eric Blake  <ebb9@byu.net>
38385
38386         linkat: support Linux 2.6.17
38387         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
38388         linkat on Linux, but allow cache variable override.
38389         * lib/linkat.c (rpl_linkat): Define override.
38390         * modules/linkat (Depends-on): Add symlinkat.
38391         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
38392         * modules/unistd (Makefile.am): Substitute it.
38393         * lib/unistd.in.h (linkat): Declare replacement.
38394         Reported by Pádraig Brady.
38395
38396         quotearg: port test to systems with C.UTF-8 locale
38397         * tests/test-quotearg.c (struct result_strings): Add another
38398         member, differentiating between C.ASCII and C.UTF-8 handling.
38399         (compare_strings): Add parameter.
38400         (main): Adjust all callers.
38401
38402         getopt: avoid clash with FreeBSD _getopt_internal
38403         * lib/getopt.in.h (_getopt_internal): Override the name.
38404         * lib/getopt_int.h (includes): Pick up any overrides.
38405         Reported by Reuben Thomas.
38406
38407         hash: allow C89 compilation
38408         * lib/hash.c (check_tuning): Move declaration before statement.
38409         Reported by Reuben Thomas.
38410
38411 2009-10-05  Karl Berry  <karl@gnu.org>
38412
38413         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
38414
38415 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
38416             Bruno Haible  <bruno@clisp.org>
38417
38418         * lib/uname.c (uname): Use a table-driven algorithm to compute
38419         Windows NT versions.
38420
38421 2009-10-04  Bruno Haible  <bruno@clisp.org>
38422
38423         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
38424         program_invocation_short_name.
38425         * modules/progname (configure.ac): Test for presence of
38426         program_invocation_short_name.
38427         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
38428
38429 2009-10-04  Bruno Haible  <bruno@clisp.org>
38430
38431         * lib/progname.c (set_program_name): Fix comment.
38432         Reported by Jim Meyering.
38433
38434 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
38435             Bruno Haible  <bruno@clisp.org>
38436
38437         * lib/uname.c: Include <string.h>.
38438         (uname): Do only one call to GetVersionEx in the common case.
38439
38440 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
38441             Bruno Haible  <bruno@clisp.org>
38442
38443         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
38444         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
38445         (uname): Add support for Windows CE and various non-x86 CPU types.
38446
38447 2009-10-03  Bruno Haible  <bruno@clisp.org>
38448
38449         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
38450         invocation to tests/configure.ac.
38451         Reported by Ian Beckwith <ianb@erislabs.net>.
38452
38453 2009-10-02  Eric Blake  <ebb9@byu.net>
38454
38455         fchdir: avoid compiler warning
38456         * lib/fchdir.c (canonicalize_file_name)
38457         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
38458
38459         test-open: support mingw errno values
38460         * tests/test-open.h (test_open): Relax test.
38461         * tests/test-fopen.h (test_fopen): Likewise.
38462         * tests/test-openat-safer.c (main): Likewise.
38463
38464         open: fix opening directory on mingw
38465         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
38466
38467         test-open: on GNU/Hurd, /dev/null is a directory
38468         * tests/test-fopen.h (main): Rename...
38469         (test_fopen): ...to this.  Use a guaranteed non-directory when
38470         confirming open behavior on trailing slash.
38471         * tests/test-openat-safer.c (main): Likewise.
38472         * tests/test-open.h (main): Likewise....
38473         (test_open): ...to this.
38474         * tests/test-fopen.c (main): Adjust caller.
38475         * tests/test-fopen-safer.c (main): Likewise.
38476         * tests/test-open.c (main): Likewise.
38477         * tests/test-fcntl-safer.c (main): Likewise.
38478         Reported by Samuel Thibault.
38479
38480         rename, fchdir: don't ignore chdir failure
38481         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
38482         * lib/rename.c (rpl_rename) [W32]: Likewise.
38483         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
38484         an empty destination directory if source cannot be renamed,
38485         although there is still possibility for failure.
38486         * doc/posix-functions/rename.texi (rename): Document the race.
38487         Reported by Jim Meyering.
38488
38489         maint: cleanup whitespace in recent commits
38490         * lib/rename.c (rpl_rename): Remove tabs.
38491         * tests/test-link.h (test_link): Likewise.
38492         * lib/fchdir.c (get_name): Likewise.
38493         Reported by Jim Meyering.
38494
38495 2009-10-02  Ben Pfaff  <blp@gnu.org>
38496
38497         relocatable-prog-wrapper: Add missing dependency on
38498         double-slash-root.
38499         * modules/relocatable-prog-wrapper: Add dependency.
38500         Reported by Ian Beckwith <ianb@erislabs.net>.
38501
38502 2009-10-02  Eric Blake  <ebb9@byu.net>
38503
38504         renameat: fix Solaris bugs
38505         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
38506         needed fixing.
38507         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
38508         * modules/stdio (Makefile.am): Substitute it.
38509         * lib/stdio.in.h (renameat): Declare replacement.
38510         * lib/renameat.c (rpl_renameat): Implement fix.
38511
38512         renameat: new module
38513         * modules/renameat: New file.
38514         * lib/renameat.c (renameat): Likewise.
38515         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
38516         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
38517         * modules/stdio (Makefile.am): Substitute them.
38518         * lib/stdio.in.h (renameat): Declare it.
38519         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
38520         * doc/posix-functions/renameat.texi (renameat): Likewise.
38521         * modules/renameat-tests: New test.
38522         * tests/test-renameat.c: Likewise.
38523
38524         rename: fix mingw bugs
38525         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
38526         directory overwrite bugs.
38527
38528         rename: fix another cygwin 1.5 bug
38529         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
38530         checks.
38531         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
38532         unnecessary cygwin workarounds.  Also work around bug with moving
38533         full directory onto an empty one.
38534         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
38535
38536         rename-dest-slash: merge into rename module
38537         * modules/rename-dest-slash (Status): Mark obsolete.
38538         (Depends-on): Add rename.
38539         (Files): Let rename do it all.
38540         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
38541         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
38542         * m4/rename-dest-slash.m4: ...so this file can be deleted.
38543         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
38544         * lib/rename.c (rpl_rename): Update comments.
38545
38546         rename: fix cygwin 1.5.x bugs
38547         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
38548         * lib/rename.c (rpl_rename): Work around them.
38549         * modules/rename (Depends-on): Add same-inode.
38550
38551         rename: fix Solaris 10 bug
38552         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
38553         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
38554         was the only bug.
38555
38556         rename: fix Solaris 9 bug
38557         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
38558         on non-directory.  Avoid calling exit.
38559         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
38560         strdup.
38561         * modules/rename-tests (Depends-on): Drop lstat.
38562         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
38563         (gl_PREREQ_RENAME): Delete unused macro.
38564
38565         rename-dest-slash: fix NetBSD bug
38566         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
38567         links.
38568         * modules/rename-dest-slash (Depends-on): Add same-inode.
38569
38570         rename-tests: new test, exposes several platform bugs
38571         * modules/rename-tests: New file.
38572         * tests/test-rename.h: Likewise.
38573         * tests/test-rename.c: Likewise.
38574         * doc/posix-functions/rename.texi (rename): Improve documentation,
38575         including bugs that will eventually be fixed in gnulib.
38576
38577 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
38578
38579         * lib/uname.c: Include <stdlib.h>
38580         (uname): Assume version info is available.
38581
38582 2009-10-02  Jim Meyering  <meyering@redhat.com>
38583
38584         gnu-web-doc-update: correct --help output
38585         * build-aux/gnu-web-doc-update: Make --help output relevant.
38586
38587         gnu-web-doc-update: add standard options
38588         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
38589
38590         gnu-web-doc-update: New module.
38591         Use this script to automatically update the on-line web documentation
38592         for your GNU project at http://www.gnu.org/software/$pkg/manual/
38593         * modules/gnu-web-doc-update: New file, from coreutils.
38594         * build-aux/gnu-web-doc-update: New script.
38595
38596 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
38597
38598         link: LoadLibrary is not needed.
38599         * lib/link.c: Use GetModuleHandle.
38600
38601 2009-10-01  Eric Blake  <ebb9@byu.net>
38602
38603         getopt: bump serial number
38604         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
38605         change.
38606
38607         tests: tighten link, rmdir, and remove tests
38608         * tests/test-link.h (includes): No need to use <config.h> here.
38609         Clean up if directory hard link was created, otherwise test for
38610         trailing '.'.
38611         * tests/test-linkat.c (main): Simplify.
38612         * tests/test-remove.c (main): Enhance test for trailing '.'.
38613         * tests/test-rmdir.h (test_rmdir_func): Likewise.
38614
38615 2009-10-01  Jim Meyering  <meyering@redhat.com>
38616
38617         maint.mk: requiring "make major" was annoying, for a "minor" release.
38618         What is intended is "stable", to contrast with alpha and beta,
38619         so require "make stable", not "make major".
38620         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
38621         (get_tool_versions): Likewise.
38622         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
38623
38624 2009-09-30  Ben Pfaff  <blp@gnu.org>
38625
38626         Fix broken build of replacement for Windows tmpfile().
38627         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
38628         flags argument added along with the 'mkostemp' module.
38629
38630 2009-09-28  Bruno Haible  <bruno@clisp.org>
38631
38632         Avoid identifier clash with POSIX function 'remove' defined as a macro.
38633         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
38634         to 'remove_elt'.
38635         (gl_list_remove): Update.
38636         * lib/gl_list.c (gl_list_remove): Update.
38637         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
38638         to 'remove_elt'.
38639         (gl_oset_remove): Update.
38640         * lib/gl_list.c (gl_oset_remove): Update.
38641         Reported by Eric Blake.
38642
38643 2009-09-28  Eric Blake  <ebb9@byu.net>
38644
38645         doc: mention yet more cygwin 1.7 status
38646         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
38647         cygwin.
38648         * doc/glibc-functions/execvpe.texi (execvpe): New file.
38649         * doc/gnulib.texi (Glibc unistd.h): Mention it.
38650
38651         argp: fix test failure
38652         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
38653         that are not upper-case.  Pass correct range to tolower.
38654
38655 2009-09-27  Jim Meyering  <meyering@redhat.com>
38656
38657         test-yesno: work around sparc-dash here-document infelicity
38658         Without this change, the literal \177 byte in a here document
38659         would make dash 0.5.5.1-3 access uninitialized memory.
38660         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
38661         Instead, use a marker, "@", and filter through tr to create the desired
38662         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
38663
38664 2009-09-27  Bruno Haible  <bruno@clisp.org>
38665
38666         Disable untested support for new flavours of ACLs on AIX.
38667         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
38668         progress.
38669         * lib/set-mode-acl.c (qset_acl): Likewise.
38670
38671 2008-12-07  Bruno Haible  <bruno@clisp.org>
38672
38673         Add support for new flavours of ACLs on AIX. (Untested.)
38674         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
38675         (file_has_acl): Add support for newer AIX.
38676         * lib/set-mode-acl.c (qset_acl): Likewise.
38677         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
38678         Rainer Tammer <tammer@tammer.net>.
38679
38680 2009-09-26  Eric Blake  <ebb9@byu.net>
38681
38682         argp: fix compilation of getopt
38683         * lib/getopt.in.h (includes): Use different guard than glibc.
38684         Reported by Sergey Poznyakoff.
38685
38686         doc: mention more cygwin 1.7 status
38687         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
38688         bug.
38689         * doc/posix-functions/execl.texi (execl): Likewise.
38690         * doc/posix-functions/execle.texi (execle): Likewise.
38691         * doc/posix-functions/execlp.texi (execlp): Likewise.
38692         * doc/posix-functions/execv.texi (execv): Likewise.
38693         * doc/posix-functions/execve.texi (execve): Likewise.
38694         * doc/posix-functions/execvp.texi (execvp): Likewise.
38695         * doc/glibc-functions/canonicalize_file_name.texi
38696         (canonicalize_file_name): Cygwin 1.7 now provides this.
38697         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
38698         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
38699         on AT_SYMLINK_NOFOLLOW.
38700
38701 2009-09-24  Eric Blake  <ebb9@byu.net>
38702
38703         test-linkat: make test more robust
38704         * tests/test-linkat.c (main): Avoid collision with EEXIST.
38705
38706         getopt: fix inclusion guards for cygwin
38707         * modules/getopt-posix (Depends-on): Add include-next.
38708         (Makefile.am): Substitute more items in replacement header.
38709         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
38710         <getopt.h>.
38711         * lib/getopt.in.h (includes): Use split inclusion guard, and
38712         prefer <getopt.h> over include <unistd.h> when one is present.
38713         (option): Also override name of 'struct option'.
38714
38715         same-inode: revert prior change; it is not yet ready
38716         * NEWS: Undo mention of this change.
38717         * lib/same-inode.h (same-inode.h): Undo tri-state change.
38718         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
38719         * lib/cycle-check.c (cycle_check): Likewise.
38720         * lib/same.c (same_name): Likewise.
38721         * lib/at-func2.c (at_func2): Likewise.
38722
38723 2009-09-23  Eric Blake  <ebb9@byu.net>
38724
38725         linkat: new module
38726         * modules/linkat: New file.
38727         * lib/at-func2.c (at_func2): Likewise.
38728         * lib/linkat.c (linkat): Likewise.
38729         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
38730         * lib/openat-priv.h (at_func2): Add declaration.
38731         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
38732         * modules/unistd (Makefile.am): Substitute them.
38733         * lib/unistd.in.h (linkat): Declare it.
38734         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
38735         * doc/posix-functions/linkat.texi (linkat): Likewise.
38736         * doc/posix-functions/link.texi (link): Tweak wording.
38737         * tests/test-link.c (main): Move guts...
38738         * tests/test-link.h (test_link): ...into new file.
38739         * modules/linkat-tests: New test.
38740         * tests/test-linkat.c: Likewise.
38741         * modules/link-tests (Files): Ship new file.
38742         (Depends-on): Add stdbool.
38743
38744         dirname: add library-safe mdir_name
38745         * lib/dirname.h (mdir_name): New prototype.
38746         * lib/dirname.c (dir_name): Move guts...
38747         (mdir_name): ...to new function that avoids xalloc_die.
38748
38749         fchdir: another mingw fix
38750         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
38751         * lib/fchdir.c (get_name): New helper method; skips canonicalize
38752         on mingw (where it has not yet been ported), and make it optional
38753         elsewhere.
38754         (_gl_register_fd): Use it.
38755
38756         same-inode: make SAME_INODE tri-state, to port to mingw
38757         * NEWS: Mention this change.
38758         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
38759         st_ino always being 0.
38760         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
38761         * lib/cycle-check.c (cycle_check): Likewise.
38762         * lib/same.c (same_name): Likewise.
38763
38764         lstat: avoid mingw compilation error
38765         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
38766         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
38767         lstat ourselves.
38768         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
38769         was adequate.
38770         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
38771         the checks for lstat.
38772         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
38773
38774         link: fix test failure on Solaris 9
38775         * lib/link.c (rpl_link): Don't assume link will catch bogus
38776         trailing slash on source.
38777
38778         test-symlinkat: enhance test
38779         * tests/test-readlink.c (main): Move guts...
38780         * tests/test-readlink.h (test_readlink): ...into new file.
38781         * tests/test-symlink.c (main): Move guts...
38782         * tests/test-symlink.h (test_symlink): ...into new file.
38783         * tests/test-symlinkat.c (main): Use new files for further
38784         coverage.
38785         (do_symlink, do_readlink): New helper functions.
38786         * modules/symlink-tests (Files): Ship new file.
38787         (Depends-on): Add stdbool.
38788         * modules/readlink-tests (Files): Ship new file.
38789         (Depends-on): Add stdbool.
38790         * modules/symlinkat-tests (Files): Use new files.
38791
38792 2009-09-23  Eric Blake  <ebb9@byu.net>
38793
38794         readlink: document portability issue with symlink length
38795         * doc/posix-functions/lstat.texi (lstat): Mention that some file
38796         systems have bogus st_size on symlinks, and mention the
38797         areadlink-with-size module.
38798         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
38799         * doc/posix-functions/readlink.texi (readlink): Mention the
38800         areadlink module, and ERANGE failure.
38801         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
38802         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
38803
38804         readlink: fix Solaris 9 bug with trailing slash
38805         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
38806         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
38807         * doc/posix-functions/readlink.texi (readlink): Document this.
38808         * modules/readlink-tests: New test.
38809         * tests/test-readlink.c: Likewise.
38810
38811         readlink: fix cygwin 1.5.x bug with return type
38812         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
38813         * lib/unistd.in.h (readlink): Use ssize_t.
38814         * lib/readlink.c (readlink): Likewise.
38815         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
38816         * modules/unistd (Makefile.am): Substitute it.
38817         * lib/unistd.in.h (readlink): Declare replacement.
38818         * doc/posix-functions/readlink.texi (readlink): Document this.
38819
38820         symlink: use throughout gnulib
38821         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
38822         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
38823         symlink is not used.
38824         * modules/symlinkat (Depends-on): Add symlink.
38825         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
38826         * modules/canonicalize-tests (Depends-on): Likewise.
38827         * modules/lstat-tests (Depends-on): Likewise.
38828         * modules/openat-tests (Depends-on): Likewise.
38829         * modules/remove-tests (Depends-on): Likewise.
38830         * modules/rmdir-tests (Depends-on): Likewise.
38831         * modules/unlink-tests (Depends-on): Likewise.
38832         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
38833         * tests/test-canonicalize.c (symlink): Likewise.
38834         * tests/test-fstatat.c (symlink): Likewise.
38835         * tests/test-lstat.c (symlink): Likewise.
38836         * tests/test-remove.c (symlink): Likewise.
38837         * tests/test-rmdir.c (symlink): Likewise.
38838         * tests/test-unlink.c (symlink): Likewise.
38839         * tests/test-unlinkat.c (symlink): Likewise.
38840
38841         symlink: new module, for Solaris 9 bug
38842         * modules/symlink: New file.
38843         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
38844         * lib/symlink.c: Likewise.
38845         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
38846         * modules/unistd (Makefile.am): Substitute them.
38847         * lib/unistd.in.h (symlink): Declare replacement.
38848         * MODULES.html.sh (File system functions): Mention it.
38849         * doc/posix-functions/symlink.texi (symlink): Likewise.
38850         * modules/symlink-tests: New test.
38851         * tests/test-symlink.c: Likewise.
38852
38853 2009-09-23  Bruno Haible  <bruno@clisp.org>
38854
38855         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
38856         when needed.
38857         Test case: gnulib-tool --import --with-tests atexit inttypes.
38858         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
38859
38860 2009-09-23  Bruno Haible  <bruno@clisp.org>
38861
38862         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
38863         subcommand, not in a subshell.
38864
38865 2009-09-22  Eric Blake  <ebb9@byu.net>
38866
38867         unistd: sort replacement declarations
38868         * lib/unistd.in.h: Sort declarations.
38869
38870         open, openat: minor optimization
38871         * lib/open.c (open): If open succeeded, len is non-zero.
38872         * lib/openat.c (rpl_openat): Likewise.
38873
38874         link-follow: ensure correct result
38875         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
38876         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
38877         distinguish between possible failures.
38878
38879 2009-09-21  Eric Blake  <ebb9@byu.net>
38880
38881         fts: avoid compiler warning
38882         * lib/fts.c (dirent_inode_sort_may_be_useful)
38883         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
38884
38885 2009-09-19  Bruno Haible  <bruno@clisp.org>
38886
38887         * lib/progreloc.c (canonicalize_file_name): New declaration.
38888
38889 2009-09-19  Eric Blake  <ebb9@byu.net>
38890
38891         link: fix quoting
38892         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
38893
38894         openat: fix openat bugs on Solaris 9
38895         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
38896         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
38897         * modules/openat (Depends-on): Add open.
38898         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
38899         * modules/fcntl-h (Makefile.am): Substitute it.
38900         * lib/fcntl.in.h (openat): Declare replacement.
38901         * doc/posix-functions/openat.texi (openat): Document this.
38902
38903         openat: move fstatat and unlinkat into correct files
38904         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
38905         compiled.
38906         * lib/openat.c (fstatat, unlinkat): Move...
38907         * lib/fstatat.c (fstatat): ...into correct files.
38908         * lib/unlinkat.c (unlinkat): Likewise.
38909
38910         openat: fix unlinkat bugs on Solaris 9
38911         * lib/unlinkat.c (unlinkat): New file.
38912         * modules/openat (Depends-on): Add unlink.
38913         (Files): Distribute it.
38914         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
38915         trailing slash behavior is broken.
38916         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
38917         * modules/unistd (Makefile.am): Substitute it.
38918         * lib/unistd.in.h (unlinkat): Declare replacement.
38919         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
38920
38921         openat: fix fstatat bugs on Solaris 9
38922         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
38923         stat.
38924         * doc/posix-functions/fstatat.texi (fstatat): Document this.
38925
38926         test-unlinkat: enhance test, to expose Solaris 9 bug
38927         * tests/test-unlink.c (main): Factor guts...
38928         * tests/test-unlink.h (test_rmdir_func): ...into new file.
38929         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
38930         * tests/test-rmdir.c (main): Adjust caller.
38931         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
38932         (unlinker): New helper function.
38933         (rmdirat): Enhance check.
38934         * modules/rmdir-tests (Depends-on): Add stdbool.
38935         * modules/unlink-tests (Depends-on): Likewise.
38936         (Files): Add test-unlink.h.
38937         * modules/openat-tests (Files): Likewise.
38938         (Depends-on): Add unlinkdir.
38939
38940         test-fstatat: new test, to expose Solaris 9 bugs
38941         * tests/test-stat.c (main): Factor guts...
38942         * tests/test-stat.h (test_stat_func): ...into new file.
38943         * tests/test-lstat.c (main): Factor guts...
38944         * tests/test-lstat.h (test_lstat_func): ...into new file.
38945         * tests/test-fstatat.c: New file.
38946         * modules/stat-tests (Files): Add test-stat.h.
38947         * modules/lstat-tests (Files): Add test-lstat.h.
38948         (Depends-on): Add stdbool.
38949         * modules/openat-tests (Depends-on): Add pathmax.
38950         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
38951         (Makefile.am): Run new test.
38952
38953         remove: new module, for mingw and Solaris 9 bugs
38954         * modules/remove: New file.
38955         * lib/remove.c: Likewise.
38956         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
38957         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
38958         * modules/stdio (Makefile.am): Use them.
38959         * lib/stdio.in.h (remove): Declare replacement.
38960         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
38961         * doc/posix-functions/remove.texi (remove): Likewise.
38962         * modules/remove-tests: New test.
38963         * tests/test-remove.c: Likewise.
38964
38965         unlink: new module, for Solaris 9 bug
38966         * modules/unlink: New file.
38967         * lib/unlink.c: Likewise.
38968         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
38969         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
38970         * modules/unistd (Makefile.am): Use them.
38971         * lib/unistd.in.h (stat): Declare replacement.
38972         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
38973         * doc/posix-functions/unlink.texi (unlink): Likewise.
38974         * modules/unlink-tests: New test.
38975         * tests/test-unlink.c: Likewise.
38976
38977         lstat: fix Solaris 9 bug
38978         * lib/lstat.c (lstat): Also check for trailing slash on
38979         non-symlink, non-directories.  Use stat module to simplify logic.
38980         * doc/posix-functions/lstat.texi (lstat): Document it.
38981         * modules/lstat-tests (Depends-on): Add errno, same-inode.
38982         (configure.ac): Check for symlink.
38983         * tests/test-lstat.c (main): Add more tests.
38984
38985         stat: add as dependency to other modules
38986         * modules/chown (Depends-on): Add stat.
38987         * modules/euidaccess (Depends-on): Likewise.
38988         * modules/fchdir (Depends-on): Likewise.
38989         * modules/isdir (Depends-on): Likewise.
38990         * modules/link (Depends-on): Likewise.
38991         * modules/lstat (Depends-on): Likewise.
38992         * modules/mkdir-p (Depends-on): Likewise.
38993         * modules/modechange (Depends-on): Likewise.
38994         * modules/open (Depends-on): Likewise.
38995         * modules/readlink (Depends-on): Likewise.
38996         * modules/same (Depends-on): Likewise.
38997
38998         stat: fix Solaris 9 bug
38999         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
39000         slash.
39001         * lib/stat.c (rpl_stat): Work around it.
39002         * doc/posix-functions/stat.texi (stat): Update documentation.
39003
39004         stat: new module, for mingw bug
39005         * modules/stat: New file.
39006         * lib/stat.c: Likewise.
39007         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
39008         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
39009         * modules/sys_stat (Makefile.am): Use them.
39010         * lib/sys_stat.in.h (stat): Declare replacement.
39011         * lib/openat.c (fstatat): Deal with lstat and stat being function
39012         macros.
39013         * modules/openat (Depends-on): Add inline.
39014         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
39015         * doc/posix-functions/stat.texi (stat): Likewise.
39016         * modules/stat-tests: New test.
39017         * tests/test-stat.c: Likewise.
39018
39019 2009-09-19  Jim Meyering  <meyering@redhat.com>
39020
39021         syntax-check: detect unnecessary inclusion of canonicalize.h
39022         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
39023
39024 2009-09-19  Eric Blake  <ebb9@byu.net>
39025
39026         canonicalize-lgpl: adjust clients to use correct header
39027         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
39028         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
39029         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
39030         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
39031         * lib/progreloc.c (includes): Likewise.
39032
39033 2009-09-19  Jim Meyering  <meyering@redhat.com>
39034
39035         test-posixtm.c: correct a comment
39036         * tests/test-posixtm.c: Correct first-line comment.
39037         Spotted by Eric Blake.
39038
39039 2009-09-16  Jim Meyering  <meyering@redhat.com>
39040
39041         posixtm-tests: make T const-correct; add a test case
39042         * tests/test-posixtm.c (T): Declare const.
39043         Add a test for -(2^31+1).
39044         Remove useless can-succeed-only-in-2002 test.
39045
39046         posixtm-tests: adjust the sole failing test
39047         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
39048         expected output matches what mktime now produces.  Cross-checked via
39049         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
39050
39051         posixtm: move #ifdef'd tests into a new module
39052         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
39053         * tests/test-posixtm.c: ... this new file.
39054         * modules/posixtm-tests: New module.
39055
39056 2009-09-19  Eric Blake  <ebb9@byu.net>
39057
39058         openat: simplify use of at-func.c
39059         * lib/at-func.c (includes): Include prerequisites here, to
39060         simplify requirements on client files.
39061         * lib/openat-priv.h: Add double-inclusion guard.
39062         * lib/faccessat.c (includes): Simplify.
39063         * lib/fchmodat.c (includes): Likewise.
39064         * lib/fchownat.c (includes): Likewise.
39065         * lib/mkdirat.c (includes): Likewise.
39066         * lib/mkfifoat.c (includes): Likewise.
39067         * lib/symlinkat.c (includes): Likewise.
39068
39069         openat: allow return of fd 0
39070         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
39071         * modules/save-cwd (Depends-on): Replace fcntl-safer with
39072         unistd-safer.
39073         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
39074         <fcntl.h>; this module does not leak fds.
39075         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
39076         must be allowed to return 0, leaving openat_safer to add the
39077         safety.
39078         (openat_permissive): Avoid writing to just-opened fd 2 if
39079         restoring the current directory fails.
39080         * lib/openat-die.c (openat_restore_fail): Add comment.
39081         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
39082         (save_cwd): Guarantee safe fd, but without use of open_safer.
39083         * tests/test-openat.c: New test.
39084         * modules/openat-tests (Files, Makefile.am): Distribute and build
39085         new file.
39086
39087         relocatable-prog-wrapper: fix build
39088         * modules/relocatable-prog-wrapper (Files): Update name of
39089         canonicalize m4 file, broken on 2009-09-17.
39090         Reported by emad hajjar <aleppos@hotmail.com>.
39091
39092 2009-09-19  Bruno Haible  <bruno@clisp.org>
39093
39094         * lib/safe-alloc.h: Use the standard header with GPL copyright.
39095         * lib/safe-alloc.c: Likewise.
39096         Reported by Ian Beckwith <ianb@erislabs.net>.
39097
39098 2009-09-18  Bruno Haible  <bruno@clisp.org>
39099
39100         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
39101         Reported by <erobles@sensacd.com.mx>.
39102
39103 2009-09-17  Eric Blake  <ebb9@byu.net>
39104
39105         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
39106         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
39107         slashes when checking if last component is missing.
39108         * tests/test-canonicalize.c (main): Test this.
39109
39110         canonicalize, canonicalize-lgpl: honor // if distinct from /
39111         * modules/canonicalize (Files): Add double-slash-root.m4.
39112         * modules/canonicalize-lgpl (Files): Likewise.
39113         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
39114         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
39115         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
39116         fallback definition.
39117         (canonicalize_filename_mode): Use it to protect //.
39118         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
39119         (__realpath): Likewise.
39120         * tests/test-canonicalize.c (main): Test this.
39121         * tests/test-canonicalize-lgpl.c (main): Likewise.
39122         * modules/canonicalize-tests (Depends-on): Add same-inode.
39123         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
39124
39125         canonicalize-lgpl: fix glibc bug with trailing slash
39126         * m4/canonicalize-lgpl.m4: Move contents...
39127         * m4/canonicalize.m4: ...here.
39128         (gl_CANONICALIZE_LGPL): Factor realpath check...
39129         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
39130         glibc 2.3.5 bug, fixed 2005-04-27.
39131         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
39132         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
39133         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
39134         * modules/canonicalize-lgpl (Files): Manage file rename.
39135         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
39136         * modules/stdlib (Makefile.am): Substitute witness.
39137         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
39138         is needed.
39139         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
39140         replacement is required.
39141         * lib/canonicalize.c (canonicalize_file_name): Likewise.
39142         * doc/glibc-functions/canonicalize_file_name.texi
39143         (canonicalize_file_name): Document this.
39144         * doc/posix-functions/realpath.texi (realpath): Likewise.
39145
39146         canonicalize-lgpl: reject non-directory with trailing slash
39147         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
39148         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
39149         catches failures in glibc 2.3.5.
39150         * tests/test-canonicalize.c (main): Likewise.
39151
39152         canonicalize-lgpl: use native realpath if it works
39153         * lib/canonicalize-lgpl.c (realpath): Guard with
39154         FUNC_REALPATH_WORKS.
39155         * lib/stdlib.in.h (realpath): Make declaration optional based on
39156         HAVE_REALPATH.
39157         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
39158         native realpath works.
39159         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
39160         * modules/stdlib (Makefile.am): Substitute witness.
39161
39162         canonicalize, canonicalize-lgpl: use <stdlib.h>
39163         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
39164         (Include): Mention <stdlib.h>.
39165         (configure.ac): Mention functions we provide.
39166         * modules/canonicalize (configure.ac): Likewise.
39167         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
39168         realpath if canonicalize_file_name is missing.
39169         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
39170         * modules/stdlib (Makefile.am): Substitute witnesses.
39171         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
39172         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
39173         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
39174         * NEWS: Document this.
39175         * doc/glibc-functions/canonicalize_file_name.texi
39176         (canonicalize_file_name): Likewise.
39177         * doc/posix-functions/realpath.texi (realpath): Likewise.
39178         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
39179
39180         test-canonicalize: consolidate into single C program
39181         * tests/test-canonicalize.sh: Delete; move setup into...
39182         * tests/test-canonicalize.c (main): ...the program, making it
39183         easier to run in debugger.  Add some tests.
39184         * modules/canonicalize-tests (Files): Remove unused file.
39185         (Depends-on): Add progname.
39186         (configure.ac, Makefile.am): Simplify.
39187
39188         test-canonicalize-lgpl: consolidate into single C program
39189         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
39190         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
39191         easier to run in debugger.  Add some tests.
39192         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
39193         (configure.ac, Makefile.am): Simplify.
39194
39195         canonicalize: avoid resolvepath
39196         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
39197         unnecessary checks.
39198         * lib/canonicalize.c (includes): Simplify.
39199         (canonicalize_file_name): Drop resolvepath implementation.
39200         * modules/canonicalize (Depends-on): Drop filenamecat.
39201
39202         canonicalize: don't lose errno
39203         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
39204         over calls to free.
39205
39206         canonicalize: simplify errno handling
39207         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
39208         assignment.
39209
39210         canonicalize, canonicalize-lgpl: update module dependencies
39211         * modules/canonicalize (Depends-on): Add extensions, lstat,
39212         pathmax, stdlib.
39213         (Files): Drop pathmax.h.
39214         (configure.ac): Adjust macro name.
39215         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
39216         lstat, stdlib, sys_stat.
39217         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
39218         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
39219         extensions.
39220         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
39221         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
39222         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
39223         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
39224         declaration, if available.
39225         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
39226         we can rely on the readlink module.
39227         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
39228         (includes): Use <unistd.h> unconditionally.
39229
39230 2009-09-17  Eric Blake  <ebb9@byu.net>
39231
39232         maint: make Include sections of modules consistent
39233         * modules/alloca: Use only header name; no need to list #include.
39234         * modules/alloca-opt: Likewise.
39235         * modules/arpa_inet: Likewise.
39236         * modules/canon-host: Likewise.
39237         * modules/configmake: Likewise.
39238         * modules/dirent: Likewise.
39239         * modules/eealloc: Likewise.
39240         * modules/environ: Likewise.
39241         * modules/fchdir: Likewise.
39242         * modules/fcntl: Likewise.
39243         * modules/fcntl-h: Likewise.
39244         * modules/gethrxtime: Likewise.
39245         * modules/gettime: Likewise.
39246         * modules/ignore-value: Likewise.
39247         * modules/inet_ntop: Likewise.
39248         * modules/inet_pton: Likewise.
39249         * modules/inttypes: Likewise.
39250         * modules/isnand-nolibm: Likewise.
39251         * modules/isnanf-nolibm: Likewise.
39252         * modules/mbchar: Likewise.
39253         * modules/mbfile: Likewise.
39254         * modules/mbiter: Likewise.
39255         * modules/mbuiter: Likewise.
39256         * modules/netdb: Likewise.
39257         * modules/netinet_in: Likewise.
39258         * modules/nproc: Likewise.
39259         * modules/pagealign_alloc: Likewise.
39260         * modules/poll: Likewise.
39261         * modules/printf-frexp: Likewise.
39262         * modules/pthread: Likewise.
39263         * modules/putenv: Likewise.
39264         * modules/random_r: Likewise.
39265         * modules/relocatable-prog: Likewise.
39266         * modules/search: Likewise.
39267         * modules/select: Likewise.
39268         * modules/selinux-h: Likewise.
39269         * modules/settime: Likewise.
39270         * modules/signal: Likewise.
39271         * modules/size_max: Likewise.
39272         * modules/socklen: Likewise.
39273         * modules/ssize_t: Likewise.
39274         * modules/stdarg: Likewise.
39275         * modules/stdbool: Likewise.
39276         * modules/stddef: Likewise.
39277         * modules/stdint: Likewise.
39278         * modules/stdio: Likewise.
39279         * modules/stdlib: Likewise.
39280         * modules/string: Likewise.
39281         * modules/strings: Likewise.
39282         * modules/sys_file: Likewise.
39283         * modules/sys_ioctl: Likewise.
39284         * modules/sys_select: Likewise.
39285         * modules/sys_socket: Likewise.
39286         * modules/sys_stat: Likewise.
39287         * modules/sys_time: Likewise.
39288         * modules/sys_times: Likewise.
39289         * modules/sys_utsname: Likewise.
39290         * modules/sys_wait: Likewise.
39291         * modules/sysexits: Likewise.
39292         * modules/time: Likewise.
39293         * modules/times: Likewise.
39294         * modules/tmpfile: Likewise.
39295         * modules/trim: Likewise.
39296         * modules/unistd: Likewise.
39297         * modules/wchar: Likewise.
39298         * modules/wctype: Likewise.
39299
39300 2009-09-17  Bruno Haible  <bruno@clisp.org>
39301
39302         Make getdate.y compile on QNX and NetBSD 5 / i386.
39303         * m4/getdate.m4 (gl_GETDATE): Conditionally define
39304         TIME_T_FITS_IN_LONG_INT.
39305         * lib/getdate.y (long_time_t): New type.
39306         (relative_time): Change type of 'seconds' field to long_time_t.
39307         (get_date): Update types of local variables. Check against overflow
39308         during conversion from long_time_t to time_t.
39309         Reported by Matt Kraai <kraai@ftbfs.org>
39310         and Hasso Tepper <hasso@netbsd.org>.
39311
39312 2009-09-17  Bruno Haible  <bruno@clisp.org>
39313
39314         * modules/COPYING: Update copyright years.
39315         * modules/README: Likeiwse.
39316         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
39317         Reported by Ian Beckwith <ianb@erislabs.net>.
39318
39319 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
39320
39321         * users.txt: Update references for gnuit package.
39322
39323 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
39324
39325         * m4/getdelim.m4: Fix typo in copyright line.
39326
39327 2009-09-17  Bruno Haible  <bruno@clisp.org>
39328
39329         * lib/atoll.c: Use the standard header with GPL copyright.
39330         * lib/argz.in.h: Likewise.
39331         * lib/glob.c: Likewise.
39332         * lib/glob-libc.h: Likewise.
39333         * lib/random_r.c: Likewise.
39334         * lib/siglist.h: Likewise.
39335         * lib/strsignal.c: Likewise.
39336         Reported by Ian Beckwith <ianb@erislabs.net>.
39337
39338 2009-09-17  Eric Blake  <ebb9@byu.net>
39339
39340         rmdir: ensure correct dependency order
39341         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
39342
39343 2009-09-17  Bruno Haible  <bruno@clisp.org>
39344
39345         Disable assertion that fails on NetBSD 5 / i386.
39346         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
39347         Reported by Sam Steingold <sds@gnu.org>
39348         and Hasso Tepper <hasso@netbsd.org>.
39349
39350 2009-09-16  Eric Blake  <ebb9@byu.net>
39351
39352         unlinkdir: port to mingw
39353         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
39354         on which no one can unlink a directory.
39355
39356         stdlib: sort witness names
39357         * modules/stdlib (Makefile.am): Sort replacements.
39358         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
39359         * lib/stdlib.in.h: Likewise.
39360
39361         parse-duration-tests: avoid link failure
39362         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
39363         LIBINTL.
39364         Reported by Tom G. Christensen.
39365
39366         openat-tests: ensure unlinkat behaves like rmdir
39367         * tests/test-rmdir.c (main): Factor guts...
39368         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
39369         * modules/rmdir-tests (Files): Ship new file.
39370         * modules/openat-tests: New test.
39371         * tests/test-unlinkat.c: Likewise.
39372
39373         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
39374         * modules/rmdir-errno (Status, Notice): Now obsolete.
39375
39376         rmdir: work around cygwin 1.5.x and mingw bugs
39377         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
39378         * lib/rmdir.c (rmdir): Work around it.
39379         * modules/rmdir (Status, Notice): No longer obsolete.
39380         (Files): Add dos.m4.
39381         (Depends-on): Add unistd.
39382         (configure.ac): Set witnesses.
39383         (License): Relax to LGPLv2+.
39384         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
39385         * modules/unistd (Makefile.am): Substitute witnesses.
39386         * lib/unistd.in.h (rmdir): Declare replacement.
39387         * doc/posix-functions/rmdir.texi (rmdir): Document this.
39388         * modules/rmdir-tests: New tests.
39389         * tests/test-rmdir.c: Likewise.
39390
39391 2009-09-15  Eric Blake  <ebb9@byu.net>
39392
39393         fchdir: improve use of replacement functions
39394         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
39395         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
39396         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
39397         REPLACE_CLOSEDIR.
39398         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
39399         * modules/sys_stat (Makefile.am): Substitute correct witness.
39400         * modules/dirent (Makefile.am): Likewise.
39401         * modules/unistd (Makefile.am): Likewise.
39402         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
39403         * lib/unistd.in.h (dup): Likewise.
39404         * lib/sys_stat.in.h (fstat): Likewise.
39405
39406         maint: ignore gnulib-tool temp files
39407         * .gitignore: Ignore files created during gnulib-tool --test.
39408
39409 2009-09-13  Jim Meyering  <meyering@redhat.com>
39410
39411         posixtm: don't reject a time that specify "60" as the number of seconds
39412         * lib/posixtm.c (posixtime): The code to reject invalid dates
39413         would also reject a time specified with the .60 suffix.
39414         But POSIX allows that, in order to accommodate leap seconds.
39415         So don't reject it.
39416         (main): Adjust tests accordingly.
39417         * modules/posixtm (Depends-on): Add stpcpy.
39418
39419 2009-09-11  Jim Meyering  <meyering@redhat.com>
39420
39421         announce-gen: include [$release_type] in emitted Subject:
39422         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
39423         e.g., [stable] in the emitted Subject: line.
39424
39425 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39426
39427         Remove obsolete macros from several modules.
39428         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
39429         obsolete Autoconf macros with their modern counterparts.
39430         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
39431         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
39432         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
39433         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
39434         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
39435         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
39436         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
39437         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
39438         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
39439         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
39440         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
39441         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
39442         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
39443         * m4/sockets.m4 (gl_SOCKETS): Likewise.
39444         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
39445         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
39446         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
39447         * m4/time_r.m4 (gl_TIME_R): Likewise.
39448         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
39449         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
39450         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
39451
39452         Fix copyright header in build-aux scripts.
39453         * build-aux/git-version-gen: Fix copyright header to match GPLv3
39454         recommendation.
39455         * build-aux/ncftpput-ftp: Likewise.
39456         * build-aux/update-copyright: Likewise.
39457
39458 2009-09-09  Eric Blake  <ebb9@byu.net>
39459
39460         test-link: allow Linux choice of errno
39461         * tests/test-link.c (main): Relax test for alternate error.
39462
39463         strndup: fix improper m4 caching
39464         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
39465         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
39466         (gl_PREREQ_STRNDUP): Delete.
39467         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
39468         * modules/string (Makefile.am): Substitute it.
39469         * lib/string.in.h (strndup): Modernize prototype.
39470
39471         getcwd: port to mingw
39472         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
39473         different from the POSIX assumptions made throughout the getcwd
39474         module; fortunately, the mingw getcwd does not need replacement.
39475         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
39476         * modules/getcwd-tests: New test.
39477         * tests/test-getcwd.c: Likewise.
39478
39479         link: fix platform bugs
39480         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
39481         * lib/link.c (link): Work around them.  Fix related mingw bug.
39482         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
39483         * modules/unistd (Makefile.am): Substitute it.
39484         * lib/unistd.in.h (link): Declare replacement.
39485         * doc/posix-functions/link.texi (link): Document this.
39486         * modules/link (Depends-on): Add strdup-posix, sys_stat.
39487
39488         test-link: consolidate into single C program, test more cases
39489         * tests/test-link.sh: Delete.
39490         * tests/test-link.c: Test more error conditions.  Exposes bugs on
39491         at least Cygwin and Solaris.
39492         * modules/link-tests (Files): Remove unused file.
39493         (Depends-on): Add errno, sys_stat.
39494         (Makefile.am): Simplify.
39495
39496 2009-09-08  Bruno Haible  <bruno@clisp.org>
39497
39498         Work around towlower, towupper bug on mingw.
39499         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
39500         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
39501         * doc/posix-functions/towlower.texi: Mention the mingw bug.
39502         * doc/posix-functions/towupper.texi: Likewise.
39503         Reported by Eric Blake.
39504
39505 2009-09-08  Jim Meyering  <meyering@redhat.com>
39506
39507         build: don't try to run autoheader if we don't use it
39508         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
39509         is not used in configure.ac.
39510
39511 2009-09-08  Eric Blake  <ebb9@byu.net>
39512
39513         euidaccess: fix compilation error
39514         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
39515
39516         rawmemchr: relax license
39517         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
39518         okay.
39519         Reported by Jim Meyering.
39520
39521         mkfifoat: new module
39522         * modules/mkfifoat: New file.
39523         * lib/mkfifoat.c: Likewise.
39524         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
39525         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
39526         * modules/sys_stat (Makefile.am): Use them.
39527         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
39528         * MODULES.html.sh (File system functions): Mention module.
39529         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
39530         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
39531         * modules/mkfifoat-tests: New test.
39532         * tests/test-mkfifoat.c: Likewise.
39533
39534         strchrnul: relax license
39535         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
39536         okay.
39537         Reported by Jim Meyering.
39538
39539 2009-09-08  Eric Blake  <ebb9@byu.net>
39540
39541         fstatat: fix compilation on Solaris
39542         * lib/fstatat.c (includes): Add fcntl.h.
39543         Reported by Pádraig Brady.
39544
39545 2009-09-07  Eric Blake  <ebb9@byu.net>
39546
39547         rename: modernize replacement
39548         * modules/rename (Depends-on): Add stdio.
39549         (configure.ac): Declare witness.
39550         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
39551         stdio take care of replacement.
39552         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
39553         * modules/stdio (Makefile.am): Substitute them.
39554         * lib/stdio.in.h (rename): Declare replacement.
39555         * lib/rename.c (includes): Allow cross-compilation to non-windows
39556         machines.
39557         * doc/posix-functions/rename.texi (rename): Improve
39558         documentation.
39559
39560         stdio: sort witness names
39561         * modules/stdio (Makefile.am): Sort replacements.
39562         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
39563         * lib/stdio.in.h: Likewise.
39564
39565         getcwd: minor cleanups
39566         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
39567         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
39568
39569         openat: provide more convenience names
39570         * modules/faccessat (configure.ac): Add C witness.
39571         * lib/unistd.in.h (readlinkat): Fix typo.
39572         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
39573         convenience wrappers.
39574         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
39575         wrappers in syntax checks.
39576
39577 2009-09-06  Eric Blake  <ebb9@byu.net>
39578
39579         doc: fix comments in recent patches
39580         * lib/faccessat.c: Mention correct function.
39581         * lib/fchmodat.c: Likewise.
39582         * lib/fchownat.c: Likewise.
39583         * lib/symlinkat.c: Likewise.
39584         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
39585         constants.
39586
39587         faccessat, symlinkat: continue cleanup of previous patch
39588         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
39589         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
39590         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
39591         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
39592         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
39593         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
39594         set.
39595
39596 2009-09-06  Bruno Haible  <bruno@clisp.org>
39597
39598         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
39599         (fstatat): Declare if GNULIB_FSTATAT is set.
39600         (mkdirat): Declare if GNULIB_MKDIRAT is set.
39601         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
39602         (unlinkat): Declare if GNULIB_UNLINKAT is set.
39603         * modules/fcntl-h (Files): Remove m4/openat.m4.
39604         * modules/sys_stat (Files): Remove m4/openat.m4.
39605         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
39606         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
39607         * modules/unistd (Files): Remove m4/openat.m4.
39608         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
39609         GNULIB_OPENAT.
39610         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
39611         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
39612         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
39613         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
39614         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
39615         gl_OPENAT_DEFAULTS.
39616         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
39617         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
39618         Don't require gl_OPENAT_DEFAULTS.
39619         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
39620         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
39621         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
39622         (gl_OPENAT_DEFAULTS): Remove macro.
39623
39624 2009-09-06  Bruno Haible  <bruno@clisp.org>
39625
39626         * modules/openat (configure.ac): Remove unneeded witness.
39627
39628 2009-09-06  Bruno Haible  <bruno@clisp.org>
39629
39630         Set errno to ENOSYS when a function is entirely unsupported.
39631         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
39632         EOPNOTSUPP.
39633         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
39634         * modules/chown (Depends-on): Remove errno.
39635
39636 2009-09-06  Bruno Haible  <bruno@clisp.org>
39637
39638         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
39639
39640 2009-09-06  Bruno Haible  <bruno@clisp.org>
39641
39642         * lib/sys_stat.in.h: Fix preprocessor command indentation.
39643
39644 2009-09-06  Ben Pfaff  <blp@gnu.org>
39645             Bruno Haible  <bruno@clisp.org>
39646
39647         Work around a glibc bug in strtok_r.
39648         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
39649         Undefine if UNDEFINE_STRTOK_R is set.
39650         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
39651         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
39652         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
39653         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
39654         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
39655         UNDEFINE_STRTOK_R.
39656         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
39657
39658 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
39659
39660         exclude: minor fix
39661         * lib/exclude.c: Include wctype.h
39662
39663 2009-09-06  Akim Demaille  <demaille@gostai.com>
39664
39665         bootstrap: improve error message
39666         * build-aux/bootstrap (find_tool): Upon failure, report the list
39667         of candidates.
39668         Honor the initial value of the envvar.
39669
39670 2009-09-05  Eric Blake  <ebb9@byu.net>
39671
39672         symlinkat: new module
39673         * modules/symlinkat: New file.
39674         * lib/symlinkat.c: Likewise.
39675         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
39676         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
39677         * modules/unistd (Makefile.am): Use them.
39678         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
39679         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
39680         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
39681         * MODULES.html.sh (File system functions): Mention module.
39682         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
39683         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
39684         * modules/symlinkat-tests: New test.
39685         * tests/test-symlinkat.c: Likewise.
39686
39687         test-openat-safer: add more checks
39688         * tests/test-openat-safer.c (main): Check more code paths.
39689
39690 2009-09-05  Jim Meyering  <meyering@redhat.com>
39691
39692         syntax-check: detect unnecessary inclusion of openat.h
39693         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
39694
39695 2009-09-05  Bruno Haible  <bruno@clisp.org>
39696
39697         Support towlower, towupper.
39698         * doc/posix-functions/towlower.texi: Mention module wctype.
39699         * doc/posix-functions/towupper.texi: Likewise.
39700         * lib/wctype.in.h (towlower, towupper): New functions.
39701         * tests/test-wctype.c: Include stdio.h, stdlib.h.
39702         (ASSERT): New macro.
39703         (e): New variable.
39704         (main): Test also towlower, towupper. Test WEOF argument.
39705         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
39706
39707 2009-09-05  Bruno Haible  <bruno@clisp.org>
39708
39709         Fix conversion behaviour when the input is invalid.
39710         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
39711         mark occurring in first pass of indirect conversion.
39712         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
39713         input.
39714         Found by clang's static analyzer.
39715
39716 2009-09-05  Bruno Haible  <bruno@clisp.org>
39717
39718         * tests/test-striconveh.c (main): Test indirect conversion on platforms
39719         where direct conversion is possible.
39720
39721 2009-09-04  Eric Blake  <ebb9@byu.net>
39722
39723         openat: fail with ENOENT on empty name
39724         * lib/openat-proc.c (openat_proc_name): Special-case the empty
39725         buffer.
39726
39727         link-follow: fix logic bug in prior patch
39728         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
39729         reversed sense of yes and no in prior patch.  Avoid confusing
39730         compilation failure with desired semantics.
39731
39732         link-follow: accomodate mingw and cross-compilation
39733         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
39734         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
39735         cross-compilation results to -1, to make linkat easier to
39736         implement when cross-compiling.  Trivially support mingw.
39737         * modules/link-follow (configure.ac): Call new name.
39738         * NEWS: Mention this.
39739
39740 2009-09-03  Eric Blake  <ebb9@byu.net>
39741
39742         faccessat: compile replacement
39743         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
39744         needed.
39745
39746         fts: fix compilation error
39747         * lib/fts.c (includes): Re-add "openat.h", for
39748         openat_needs_fchdir.
39749
39750         faccessat: new module
39751         * modules/faccessat: New file.
39752         * lib/faccessat.c: Likewise.
39753         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
39754         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
39755         * modules/unistd (Makefile.am): Use it.
39756         * lib/unistd.in.h (faccessat): Declare it.
39757         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
39758         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
39759         * MODULES.html.sh (File system functions): Mention it.
39760         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
39761         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
39762
39763         euidaccess: prefer POSIX over non-standard implementation
39764         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
39765         * lib/euidaccess.c (euidaccess): Use it if available.
39766
39767         openat: make template easier to use
39768         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
39769         AT_FUNC_F2 to be undefined.
39770         (VALIDATE_FLAG): New macro; use it to reject bad flags.
39771         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
39772         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
39773         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
39774         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
39775         Likewise.
39776         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
39777         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
39778         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
39779         Likewise.
39780
39781         openat: declare in POSIX headers
39782         * NEWS: Mention this.
39783         * modules/openat (configure.ac): Declare witnesses.
39784         (Depends-on): Add fcntl-h, sys_stat, unistd.
39785         (Include): Mention correct headers.
39786         * modules/fcntl-h (Depends-on): Add link-warning.
39787         (Files): Add openat.m4.
39788         (Makefile.am): Substitute witnesses.
39789         * modules/sys_stat (Files, Makefile.am): Likewise.
39790         * modules/unistd (Files, Makefile.am): Likewise.
39791         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
39792         (gl_OPENAT_DEFAULTS): New macro.
39793         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
39794         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
39795         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
39796         (SYS_STAT_H): Remove unused variable.
39797         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
39798         * lib/fcntl--.h (includes): Remove unneeded header.
39799         * lib/openat-safer.c (includes): Likewise.
39800         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
39801         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
39802         appropriate headers.
39803         (__OPENAT_PREFIX): Delete.
39804         * lib/fcntl.in.h (openat): Provide declaration.
39805         (AT_FDCWD): Fix Solaris bug.
39806         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
39807         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
39808         * lib/fchmodat.c (includes):  Adjust to find declaration.
39809         * lib/fchownat.c (includes): Likewise.
39810         * lib/mkdirat.c (includes): Likewise.
39811         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
39812         still visible.
39813
39814 2009-09-02  Eric Blake  <ebb9@byu.net>
39815
39816         errno: use consistently
39817         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
39818         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
39819         * lib/canonicalize.c (ELOOP): Likewise.
39820         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
39821         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
39822         * lib/lchown.c (EOPNOTSUPP): Likewise.
39823         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
39824         * lib/savewd.c (ESTALE): Likewise.
39825         * lib/settime.c (ENOSYS): Likewise.
39826         * lib/utimens.c (ENOSYS): Likewise.
39827         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
39828         * lib/chdir-safer.c (ELOOP): Likewise.
39829         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
39830         * modules/c-stack (Depends-on): Add errno.
39831         * modules/canonicalize (Depends-on): Likewise.
39832         * modules/chdir-safer (Depends-on): Likewise.
39833         * modules/fdopendir (Depends-on): Likewise.
39834         * modules/inet_ntop (Depends-on): Likewise.
39835         * modules/inet_pton (Depends-on): Likewise.
39836         * modules/lchown (Depends-on): Likewise.
39837         * modules/openat (Depends-on): Likewise.
39838         * modules/savewd (Depends-on): Likewise.
39839         * modules/settime (Depends-on): Likewise.
39840         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
39841
39842         fts: avoid leaking fds
39843         * modules/fts (Depends-on): Add cloexec.
39844         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
39845         flag.
39846
39847         fts: make directory fds more robust
39848         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
39849         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
39850
39851         backupfile, chdir-long, fts, savedir: make safer
39852         * lib/backupfile.c (includes): Use "dirent--.h", since
39853         numbered_backup can write to stderr during readdir.
39854         * lib/savedir.c (includes): Likewise.
39855         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
39856         emulation can write to stderr on failure.
39857         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
39858         * lib/getcwd.c: Document why opendir_safer is unused.
39859         * lib/glob.c: Likewise.
39860         * lib/scandir.c: Likewise.
39861         * lib/openat-proc.c: Likewise, for open_safer.
39862         * modules/backupfile (Depends-on): Add dirent-safer.
39863         * modules/savedir (Depends-on): Likewise.
39864         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
39865         * modules/chdir-long (Depends-on): Add openat-safer.
39866
39867         openat-safer: new module
39868         * modules/openat-safer: New file.
39869         * lib/openat-safer.c: Likewise.
39870         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
39871         * lib/fcntl-safer.h (openat_safer): Declare.
39872         * lib/fcntl--.h (openat): Override.
39873         * MODULES.html.sh (File descriptor based I/O): Mention it.
39874         * lib/openat.h: Add double-inclusion guards.
39875         * lib/openat.c (includes): Only include "fcntl-safer.h", not
39876         "fcntl--.h", so we can implement openat.
39877         * modules/openat-safer-tests: New test.
39878         * tests/test-openat-safer.c: New file.
39879
39880         dirent-safer: new module
39881         * modules/dirent-safer: New file.
39882         * lib/dirent--.h: Likewise.
39883         * lib/dirent-safer.h: Likewise.
39884         * lib/opendir-safer.c: Likewise.
39885         * m4/dirent-safer.m4: Likewise.
39886         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
39887         * modules/dirent-safer-tests: New test.
39888         * tests/test-dirent-safer.c: New file.
39889         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
39890
39891         fdopendir: optimize on mingw
39892         * lib/unistd.in.h (_gl_directory_name): New prototype.
39893         * lib/fchdir.c (_gl_directory_name): Implement it.
39894         (fchdir): Use it to simplify implementation.
39895         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
39896         fchdir, when available, to avoid calling [f]chdir().
39897
39898         fdopendir: split into its own module
39899         * lib/openat.c (fdopendir): Move...
39900         * lib/fdopendir.c: ...into new file.
39901         * modules/fdopendir: New module.
39902         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
39903         * modules/openat (Depends-on): Add fdopendir.
39904         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
39905         fdopendir here.
39906         * modules/savedir (Depends-on): Only need fdopendir, not full
39907         openat.
39908         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
39909         * lib/openat.h (fdopendir): Drop prototype.
39910         * lib/dirent.in.h (fdopendir): Provide prototype.
39911         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
39912         * modules/dirent (Makefile.am): Substitute them.
39913         * MODULES.html.sh (File system functions): Mention it.
39914         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
39915         * modules/fdopendir-tests: New file.
39916         * tests/test-fdopendir.c: Likewise.
39917
39918         fchdir: use more consistent macro convention
39919         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
39920         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
39921         REPLACE_FCHDIR, rather than relying on config.h macros.
39922         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
39923         inside a single make-time REPLACE_FCHDIR block, rather than using
39924         the config.h FCHDIR_REPLACEMENT.
39925         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
39926         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
39927         Manage fstat replacement.
39928         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
39929         REPLACE_FCHDIR.
39930         * modules/sys_stat (Files): Add m4/unistd_h.m4.
39931         (Makefile.am): Substitute REPLACE_FCHDIR.
39932         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
39933         FCHDIR_REPLACEMENT.
39934         * lib/dup-safer.c (dup_safer): Likewise.
39935         * lib/dup2.c (rpl_dup2): Likewise.
39936         * lib/dup3.c (rpl_dup3): Likewise.
39937         * lib/open.c (rpl_open): Likewise.
39938
39939         fchdir: simplify error handling, and support dup3
39940         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
39941         stdbool, malloc-posix, realloc-posix.
39942         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
39943         (ensure_dirs_slot): Return false on allocation failure.
39944         (rpl_dup2): Delete.
39945         (_gl_register_dup): New function.
39946         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
39947         (_gl_register_fd): Close fd on allocation failure.
39948         * lib/fcntl.in.h (_gl_register_fd): Update signature.
39949         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
39950         prototype.
39951         (rpl_dup2_fchdir): Delete prototype.
39952         * lib/open.c (open): Update caller.
39953         * lib/dup2.c (dup2): Track fchdir metadata.
39954         * lib/dup3.c (dup3): Likewise.
39955         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
39956         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
39957
39958 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39959
39960         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
39961         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
39962         don't pass arguments to AC_OUTPUT.
39963
39964 2009-09-02  Bruno Haible  <bruno@clisp.org>
39965
39966         * modules/mkdtemp (License): Relicense under LGPLv2+.
39967         Reported by Paolo Bonzini.
39968
39969 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39970
39971         Replace uses of obsolete autoconf macros in Jim's modules.
39972         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
39973         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
39974         can evoke a warning from autoconf when run with -Wobsolete
39975         enabled.  They were declared obsolete for good reasons (see
39976         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
39977         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
39978         should not continue using the deprecated macros.
39979         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
39980         obsolete Autoconf macros with modern counterparts.
39981         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
39982         * m4/dos.m4 (gl_AC_DOS): Likewise.
39983         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
39984         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
39985         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
39986         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
39987         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
39988         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
39989         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
39990         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
39991         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
39992         Likewise.
39993         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
39994         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
39995         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
39996         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
39997         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
39998         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
39999
40000 2009-09-01  Eric Blake  <ebb9@byu.net>
40001
40002         fchdir: fix off-by-one bug in previous patch
40003         * lib/fchdir.c (rpl_fstat): Use correct bounds.
40004         (_gl_unregister_fd): Delete useless if.
40005
40006 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
40007
40008         maint.mk: sort the list of syntax-check rules
40009         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
40010         easier to get a sense of progress when the rules are run sequentially
40011         and take a long time.
40012
40013 2009-09-01  Simon Josefsson  <simon@josefsson.org>
40014
40015         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
40016         * modules/netinet_in: Likewise.
40017         * modules/sys_file: Likewise.
40018         * modules/sys_ioctl: Likewise.
40019         * modules/sys_select: Likewise.
40020         * modules/sys_socket: Likewise.
40021         * modules/sys_stat: Likewise.
40022         * modules/sys_time: Likewise.
40023         * modules/sys_times: Likewise.
40024         * modules/sys_utsname: Likewise.
40025         * modules/sys_wait: Likewise.
40026
40027 2009-09-01  Jim Meyering  <meyering@redhat.com>
40028
40029         fts: help ensure that return values are not ignored
40030         * lib/fts_.h (__GNUC_PREREQ): Define.
40031         (__attribute_warn_unused_result__): Define.
40032         (fts_children, fts_close, fts_open, fts_read): Declare with
40033         __attribute_warn_unused_result__.
40034
40035         fts: fts_close now fails also when closing a dir file descriptor fails
40036         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
40037         and propagate to caller, along with errno.
40038
40039         announce-gen: correct formatting in --help output
40040         * build-aux/announce-gen (usage): Move the one-line description in
40041         --help output "up", to where it belongs, just after Usage:.
40042
40043 2009-08-31  Eric Blake  <ebb9@byu.net>
40044
40045         fchdir: port to mingw
40046         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
40047         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
40048         opened, then use a substitute.
40049         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
40050         replacement.
40051         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
40052         (_gl_register_fd): No need to check stat if open already filters
40053         all directories.
40054         (fchdir): Fix error condition to match POSIX.
40055         * modules/fchdir (Depends-on): Add sys_stat.
40056         * doc/posix-functions/open.texi (open): Document the limitation.
40057         * modules/fchdir-tests: New file.
40058         * tests/test-fchdir.c: Likewise.
40059
40060         canonicalize: allow cross-testing from cygwin to mingw
40061         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
40062         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
40063         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
40064         Likewise.
40065         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
40066         target does not support symlinks.
40067         * tests/test-canonicalize-lgpl.sh: Likewise.
40068
40069         chown: avoid compilation warning on mingw
40070         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
40071         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
40072         mingw.
40073         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
40074         * modules/chown (Depends-on): Add errno.
40075
40076 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
40077
40078         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
40079         command.
40080
40081 2009-08-31  Jim Meyering  <meyering@redhat.com>
40082
40083         canonicalize: remove useless initialization
40084         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
40085         initialization of local, "end".
40086
40087 2009-08-30  Bruno Haible  <bruno@clisp.org>
40088
40089         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
40090         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
40091         ENOSYS.
40092
40093 2009-08-30  Bruno Haible  <bruno@clisp.org>
40094
40095         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
40096         /usr/xpg4/bin/tr when it exists.
40097         * tests/test-pipe-filter-gi1.sh: Likewise.
40098
40099 2009-08-30  Bruno Haible  <bruno@clisp.org>
40100
40101         Work around deficient /usr/bin/id program on Solaris.
40102         * tests/test-file-has-acl.sh (ID): New variable.
40103         * tests/test-set-mode-acl.sh (ID): Likewise.
40104         * tests/test-copy-acl.sh (ID): Likewise.
40105         * tests/test-copy-file.sh (ID): Likewise.
40106
40107 2009-08-30  Bruno Haible  <bruno@clisp.org>
40108
40109         New module 'xstriconveh'.
40110         * lib/xstriconveh.h: New file.
40111         * lib/xstriconveh.c: New file.
40112         * modules/xstriconveh: New file.
40113
40114 2009-08-30  Bruno Haible  <bruno@clisp.org>
40115
40116         Make it easier to use mem_cd_iconveh.
40117         * lib/striconveh.h (iconveh_t): New type.
40118         (iconveh_open, iconveh_close): New declarations.
40119         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
40120         with a single 'const iconveh_t *' argument.
40121         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
40122         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
40123         with a single 'const iconveh_t *' argument.
40124         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
40125         * tests/test-striconveh.c (main): Update.
40126         * NEWS: Mention the change.
40127
40128 2009-08-30  Bruno Haible  <bruno@clisp.org>
40129
40130         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
40131         problem.
40132
40133 2009-08-30  Bruno Haible  <bruno@clisp.org>
40134
40135         Work around iconv_open problem on Solaris.
40136         * lib/iconv_open-solaris.gperf: New file.
40137         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
40138         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
40139         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
40140         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
40141         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
40142         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
40143
40144 2009-08-29  Jim Meyering  <meyering@redhat.com>
40145
40146         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
40147         * top/maint.mk (cvs-check): Remove target; it was just an alias
40148         to the better-named vc-diff-check.
40149         (maintainer-distcheck): Remove rule.  It was used only from
40150         the (alpha/beta/major) target, and all of its commands but one
40151         were coreutils-specific.
40152         (vc-dist): Remove rule.
40153         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
40154         Run vc-diff-check, not vc-dist.
40155         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
40156
40157 2009-08-27  Bruno Haible  <bruno@clisp.org>
40158
40159         * tests/test-bitrotate.c (main): Remove test that uses a shift count
40160         of 0.
40161
40162 2009-08-27  Bruno Haible  <bruno@clisp.org>
40163
40164         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
40165         compilers.
40166         * doc/func.texi: Document the SunPRO C bug.
40167
40168 2009-08-27  Bruno Haible  <bruno@clisp.org>
40169
40170         Fix link error on Solaris.
40171         * tests/test-parse-duration.c (xstrdup): Remove function.
40172
40173 2009-08-26  Pádraig Brady  <P@draigbrady.com>
40174
40175         ignore-value: handle pointer types, too
40176         * lib/ignore-value.h (__attribute__): Remove definition.
40177         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
40178         of a more concise and more-often effective "(void) i" statement.
40179         (ignore_ptr): New function to suppress warnings from functions that
40180         return pointers, and to make it explicit that one function doesn't
40181         handle all cases.
40182
40183 2009-08-25  Bruno Haible  <bruno@clisp.org>
40184
40185         dup2: work around a Linux bug.
40186         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
40187         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
40188         * doc/posix-functions/dup2.texi: Mention the Linux bug.
40189         Reported by Simon Josefsson.
40190
40191 2009-08-25  Jim Meyering  <meyering@redhat.com>
40192
40193         libguestfs uses gnulib
40194         * users.txt: Add libguestfs.
40195
40196 2009-08-24  Eric Blake  <ebb9@byu.net>
40197
40198         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
40199         * lib/pipe2.c (includes): Add binary-io.h.
40200         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
40201
40202 2009-08-24  Bruno Haible  <bruno@clisp.org>
40203
40204         Tolerate declared but missing accept4 syscall.
40205         * lib/accept4.c (accept4): Invoke original accept4 function first, if
40206         available.
40207         * lib/sys_socket.in.h (accept4): If the function is already present,
40208         override it.
40209         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
40210         * modules/accept4 (Makefile.am): Compile accept4.c always.
40211         Reported by Paolo Bonzini and Eric Blake.
40212
40213 2009-08-23  Bruno Haible  <bruno@clisp.org>
40214
40215         New module 'accept4'.
40216         * lib/sys_socket.in.h (accept4): New declaration.
40217         * lib/accept4.c: New file.
40218         * m4/accept4.m4: New file.
40219         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
40220         GNULIB_ACCEPT4, HAVE_ACCEPT4.
40221         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
40222         HAVE_ACCEPT4.
40223         * modules/accept4: New file.
40224         * doc/glibc-functions/accept4.texi: Mention the new module.
40225
40226 2009-08-24  Jim Meyering  <meyering@redhat.com>
40227
40228         progname: also set global program_invocation_name, when possible
40229         Before this change, a libtool-enabled program that calls glibc's
40230         error function would report the program name as
40231         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
40232         * modules/progname (configure.ac): Check for a declaration of
40233         program_invocation_name.
40234         * lib/progname.c:  Include <errno.h>.
40235         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
40236         Set program_invocation_name.
40237
40238 2009-08-23  Bruno Haible  <bruno@clisp.org>
40239
40240         * lib/dup3.c: Include <string.h>.
40241
40242 2009-08-23  Bruno Haible  <bruno@clisp.org>
40243
40244         * lib/dup3.c (dup3): Test only once whether the system actually exists.
40245         * lib/pipe2.c (pipe2): Likewise.
40246         Suggested by Eric Blake.
40247
40248 2009-08-23  Bruno Haible  <bruno@clisp.org>
40249
40250         Tolerate declared but missing dup3 syscall.
40251         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
40252         * lib/unistd.in.h (dup3): If the function is already present,
40253         override it.
40254         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
40255         * modules/dup3 (Makefile.am): Compile dup3.c always.
40256         Reported by Paolo Bonzini.
40257
40258 2009-08-23  Bruno Haible  <bruno@clisp.org>
40259
40260         Tolerate declared but missing pipe2 syscall.
40261         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
40262         available.
40263         * lib/unistd.in.h (pipe2): If the function is already present,
40264         override it.
40265         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
40266         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
40267         Reported by Paolo Bonzini.
40268
40269 2009-08-23  Bruno Haible  <bruno@clisp.org>
40270
40271         * lib/pipe2.c (pipe2): Move #ifs inside function.
40272
40273 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
40274
40275         quotearg: document limitations of quote_these_too
40276         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
40277         those limitations are created.
40278         * lib/quotearg.h (set_char_quoting): Document that digits and
40279         letters that are special after backslash are not permitted.
40280         (quotearg_char): Cross-reference set_char_quoting documentation.
40281
40282 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
40283
40284         quotearg: implement custom_quoting_style
40285         * lib/quotearg.c: (struct quoting_options): Add left_quote and
40286         right_quote fields.
40287         (set_custom_quoting): New public function.
40288         (quotearg_buffer_restyled): Add left_quote and right_quote
40289         arguments, handle them very much like locale quoting, and update
40290         all uses.
40291         (quotearg_n_custom): New public function.
40292         (quotearg_n_custom_mem): New public function.
40293         (quotearg_custom): New public function.
40294         (quotearg_custom_mem): New public function.
40295         * lib/quotearg.h: Prototype and document new public functions.
40296         (enum quoting_style): For escape_quoting_style and
40297         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
40298         ignored even though they're otherwise like c_quoting_style.
40299         Add custom_quoting_style member and document with comparison to
40300         clocale_quoting_style.
40301         * tests/test-quotearg.c (custom_quotes): New array.
40302         (custom_results): New array.
40303         (main): Extend to test custom quoting.
40304
40305 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
40306
40307         quotearg: fix right quote escaping when it's in quote_these_too
40308         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
40309         quote, be sure to prepend only one backslash.
40310         * tests/test-quotearg.c (use_quote_double_quotes): New function.
40311         (main): Test it.
40312
40313 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
40314
40315         quotearg-tests: test escaping of embedded locale quotes
40316         * tests/test-quotearg.c (struct result_strings): Add member for
40317         new input.
40318         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
40319         (inputs): Add new input.
40320         (results_g): Add expected results.
40321         (flag_results): Likewise.
40322         (locale_results): Likewise.
40323         (compare_strings): Check those.
40324
40325 2009-08-23  Bruno Haible  <bruno@clisp.org>
40326
40327         Tests for module 'dup3'.
40328         * modules/dup3-tests: New file.
40329         * tests/test-dup3.c: New file.
40330
40331         New module 'dup3'.
40332         * lib/unistd.in.h (dup3): New declaration.
40333         * lib/dup3.c: New file.
40334         * m4/dup3.m4: New file.
40335         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
40336         HAVE_DUP3.
40337         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
40338         * modules/dup3: New file.
40339         * doc/glibc-functions/dup3.texi: Mention the new module.
40340
40341 2009-08-23  Bruno Haible  <bruno@clisp.org>
40342
40343         Tweak the dup2 test.
40344         * tests/test-dup2.c (main): Create the test file empty. Verify that an
40345         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
40346         the test file is still empty. Fix argument order of lseek.
40347
40348 2009-08-23  Bruno Haible  <bruno@clisp.org>
40349
40350         Avoid test link errors when the modules getopt-gnu, gettext are used.
40351         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
40352         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
40353
40354 2009-08-23  Bruno Haible  <bruno@clisp.org>
40355
40356         Fix getdtablesize() on mingw.
40357         * lib/getdtablesize.c (getdtablesize): Implement differently.
40358         * lib/unistd.in.h (getdtablesize): Improve comment.
40359
40360 2009-08-23  Bruno Haible  <bruno@clisp.org>
40361
40362         New module 'mkostemp'.
40363         Based on Ulrich Drepper's 2007-08-10 change in glibc.
40364         * lib/stdlib.in.h (mksotemp): New declaration.
40365         * lib/mkostemp.c: New file, from glibc with modifications.
40366         * lib/tempname.h (GT_FILE): Remove outdated comment.
40367         (gen_tempname): Add flags argument.
40368         * lib/tempname.c (__GT_BIGFILE): Remove macro.
40369         (__GT_FILE): Map to 1.
40370         (small_open, large_open): Remove macros.
40371         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
40372         * lib/mkstemp.c (mkstemp): Update.
40373         * lib/mkdtemp.c (mkdtemp): Likewise.
40374         * m4/mkostemp.m4: New file.
40375         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
40376         HAVE_MKOSTEMP.
40377         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
40378         HAVE_MKOSTEMP.
40379         * modules/mkostemp: New file, based on modules/mkstemp.
40380         * doc/glibc-functions/mkostemp.texi: Mention the new module.
40381         * NEWS: Mention the change.
40382
40383 2009-08-23  Bruno Haible  <bruno@clisp.org>
40384
40385         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
40386         Reported by Eric Blake.
40387
40388 2009-08-23  Bruno Haible  <bruno@clisp.org>
40389
40390         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
40391         Reported by Eric Blake.
40392
40393 2009-08-23  Bruno Haible  <bruno@clisp.org>
40394
40395         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
40396         * modules/pipe2 (Depends-on): Likewise.
40397
40398 2009-08-23  Eric Blake  <ebb9@byu.net>
40399
40400         fcntl-h: add O_TTY_INIT support
40401         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
40402         * tests/test-fcntl-h.c (o): Test it.
40403         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
40404
40405         fcntl-h: rename from fcntl, in preparation for fcntl(2)
40406         * modules/fcntl: Move <fcntl.h> header replacement...
40407         * modules/fcntl-h: ...to new name, so as not to collide with
40408         like-named function.
40409         * tests/test-fcntl.c: Rename...
40410         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
40411         * modules/fcntl-tests: Rename...
40412         * modules/fcntl-h-tests: ...to this.  Update test file name.
40413         * modules/chdir-long (Depends-on): Update clients.
40414         * modules/chdir-safer (Depends-on): Likewise.
40415         * modules/fcntl-safer (Depends-on): Likewise.
40416         * modules/fts (Depends-on): Likewise.
40417         * modules/mkancesdirs (Depends-on): Likewise.
40418         * modules/mkdir-p (Depends-on): Likewise.
40419         * modules/open (Depends-on): Likewise.
40420         * modules/savewd (Depends-on): Likewise.
40421         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
40422         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
40423
40424 2009-08-22  Bruno Haible  <bruno@clisp.org>
40425
40426         * modules/binary-io (License): Relicense under LGPL.
40427         * modules/pipe2 (License): Likewise.
40428
40429 2009-08-22  Bruno Haible  <bruno@clisp.org>
40430
40431         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
40432         return value.
40433         * lib/pipe-filter-gi.c (filter_init): Likewise.
40434         Reported by Eric Blake.
40435
40436 2009-08-22  Bruno Haible  <bruno@clisp.org>
40437
40438         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
40439         * modules/pipe (Depends-on): Add pipe2.
40440
40441 2009-08-22  Bruno Haible  <bruno@clisp.org>
40442
40443         Tests for module 'pipe2'.
40444         * modules/pipe2-tests: New file.
40445         * tests/test-pipe2.c: New file.
40446
40447         New module 'pipe2'.
40448         * lib/unistd.in.h (pipe2): New declaration.
40449         * lib/pipe2.c: New file.
40450         * m4/pipe2.m4: New file.
40451         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
40452         HAVE_PIPE2.
40453         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
40454         * modules/pipe2: New file.
40455         * doc/glibc-functions/pipe2.texi: Mention the new module.
40456
40457 2009-08-22  Bruno Haible  <bruno@clisp.org>
40458
40459         Reference some new glibc functions.
40460         * doc/glibc-functions/accept4.texi: New file.
40461         * doc/glibc-functions/dup3.texi: New file.
40462         * doc/glibc-functions/mkostemp.texi: New file.
40463         * doc/glibc-functions/pipe2.texi: New file.
40464         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
40465         (Glibc sys/socket.h): Refer to accept4.
40466         (Glibc unistd.h): Refer to dup3, pipe2.
40467         Reported by Eric Blake.
40468
40469 2009-08-22  Jim Meyering  <meyering@redhat.com>
40470             Bruno Haible  <bruno@clisp.org>
40471
40472         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
40473         This makes it so packages using automake-1.11's silent-rules option
40474         can print e.g., a single "GEN    configmake.h" line, rather than
40475         the 30+ statements that perform the job.  If you want to see the
40476         actual commands, you can still run "make V=1".
40477         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
40478         so that make output is abbreviated when those variables are defined
40479         appropriately.
40480         * modules/argz: Likewise.
40481         * modules/arpa_inet: Likewise.
40482         * modules/byteswap: Likewise.
40483         * modules/configmake: Likewise.
40484         * modules/dirent: Likewise.
40485         * modules/errno: Likewise.
40486         * modules/fcntl: Likewise.
40487         * modules/float: Likewise.
40488         * modules/fnmatch: Likewise.
40489         * modules/getopt-posix: Likewise.
40490         * modules/glob: Likewise.
40491         * modules/iconv_open: Likewise.
40492         * modules/inttypes: Likewise.
40493         * modules/localcharset: Likewise.
40494         * modules/locale: Likewise.
40495         * modules/math: Likewise.
40496         * modules/netdb: Likewise.
40497         * modules/netinet_in: Likewise.
40498         * modules/poll: Likewise.
40499         * modules/posix_spawnp-tests: Likewise.
40500         * modules/sched: Likewise.
40501         * modules/search: Likewise.
40502         * modules/selinux-h: Likewise.
40503         * modules/signal: Likewise.
40504         * modules/spawn: Likewise.
40505         * modules/stdarg: Likewise.
40506         * modules/stdbool: Likewise.
40507         * modules/stddef: Likewise.
40508         * modules/stdint: Likewise.
40509         * modules/stdio: Likewise.
40510         * modules/stdlib: Likewise.
40511         * modules/string: Likewise.
40512         * modules/strings: Likewise.
40513         * modules/sys_file: Likewise.
40514         * modules/sys_ioctl: Likewise.
40515         * modules/sys_select: Likewise.
40516         * modules/sys_socket: Likewise.
40517         * modules/sys_stat: Likewise.
40518         * modules/sys_time: Likewise.
40519         * modules/sys_times: Likewise.
40520         * modules/sys_utsname: Likewise.
40521         * modules/sys_wait: Likewise.
40522         * modules/sysexits: Likewise.
40523         * modules/time: Likewise.
40524         * modules/unistd: Likewise.
40525         * modules/wchar: Likewise.
40526         * modules/wctype: Likewise.
40527
40528 2009-08-22  Jim Meyering  <meyering@redhat.com>
40529
40530         announce-gen: detect write failure
40531         * build-aux/announce-gen: Add Coda at end.
40532         Remove equivalent-but-more-verbose block at top.
40533
40534 2009-08-19  Akim Demaille  <demaille@gostai.com>
40535
40536         bootstrap: --help to stdout.
40537         * bootstrap (usage): Don't send --help to stderr.
40538         Use a here doc instead of a long string.
40539
40540 2009-08-21  Eric Blake  <ebb9@byu.net>
40541
40542         test-popen-safer: split from test-popen
40543         * tests/test-popen.c (main): Move...
40544         * tests/test-popen.h: ...into new file.
40545         * tests/test-popen-safer2.c: New file.
40546         * modules/popen-tests (Files): Add test-popen.h.
40547         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
40548         Suggested by Bruno Haible.
40549
40550         test-fcntl-safer: split from test-open
40551         * tests/test-open.c (main): Move...
40552         * tests/test-open.h: ...into new file.
40553         * tests/test-fcntl-safer.c: New file.
40554         * modules/open-tests (Files): Add test-open.h.
40555         * modules/fcntl-safer-tests: New file.
40556         Suggested by Bruno Haible.
40557
40558         test-fopen-safer: split from test-fopen
40559         * tests/test-fopen.c (main): Move...
40560         * tests/test-fopen.h: ...into new file.
40561         * tests/test-fopen-safer.c: New file.
40562         * modules/fopen-tests (Files): Add test-fopen.h.
40563         * modules/fopen-safer-tests: New file.
40564         Suggested by Bruno Haible.
40565
40566 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
40567
40568         popen-safer: test O_CLOEXEC at run-time.
40569         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
40570
40571 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
40572
40573         fcntl: move more flags to the header
40574         * lib/cloexec.c: Do not define FD_CLOEXEC here.
40575         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
40576         * lib/fcntl.in.h: Do both things here.
40577
40578 2009-08-21  Jim Meyering  <meyering@redhat.com>
40579
40580         consistently remove $@-t before redirecting to it
40581         * modules/argz: Remove $@-t and $@ before redirecting to the former.
40582         * modules/alloca-opt: Likewise.
40583         * modules/byteswap: Likewise.
40584         * modules/fnmatch: Likewise.
40585         * modules/getopt-posix: Likewise.
40586         * modules/glob: Likewise.
40587         * modules/poll: Likewise.
40588         * modules/posix_spawnp-tests: Likewise.
40589         * modules/sys_socket: Likewise.
40590         * modules/sysexits: Likewise.
40591
40592 2009-08-21  Eric Blake  <ebb9@byu.net>
40593
40594         popen: simplify access to original popen
40595         * lib/popen.c (rpl_popen): No need to worry about popen being a
40596         macro.
40597         Reported by Bruno Haible.
40598
40599 2009-08-20  Eric Blake  <ebb9@byu.net>
40600
40601         build: avoid some compiler warnings
40602         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
40603         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
40604         type.
40605         (new_exclude_segment, excluded_file_pattern_p)
40606         (excluded_file_name_p): Reduce scope.
40607         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
40608         old-style declaration.
40609
40610 2009-08-20  Simon Josefsson  <simon@josefsson.org>
40611
40612         * tests/test-exclude1.sh: Handle Windows EOL.
40613         * tests/test-exclude2.sh: Likewise.
40614         * tests/test-exclude3.sh: Likewise.
40615         * tests/test-exclude4.sh: Likewise.
40616         * tests/test-exclude5.sh: Likewise.
40617         * tests/test-exclude6.sh: Likewise.
40618         * tests/test-exclude7.sh: Likewise.
40619
40620 2009-08-19  Akim Demaille  <demaille@gostai.com>
40621
40622         bootstrap: find sha1sum when named gsha1sum.
40623         * bootstrap (find_tool): New.
40624         ($SHA1SUM): New.
40625         Use it.
40626
40627 2009-08-20  Jim Meyering  <meyering@redhat.com>
40628
40629         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
40630         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
40631         expression that converts "." in a file name to "\." in the resulting
40632         regexp.  Start with a dummy statement, so that prior shell variable
40633         definitions are expanded portably.  Reported by Simon Josefsson.
40634
40635 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
40636
40637         Fix polling for writeability of a screen buffer.
40638         * lib/poll.c: Distinguish input and screen buffers for the
40639         Win32 implementation.
40640         * lib/select.c: Likewise.
40641
40642 2009-08-19  Eric Blake  <ebb9@byu.net>
40643
40644         popen-safer: prevent popen from clobbering std descriptors
40645         * modules/popen-safer: New file.
40646         * lib/popen-safer.c: Likewise.
40647         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
40648         * lib/stdio--.h (popen): Provide override.
40649         * lib/stdio-safer.h (popen_safer): Provide declaration.
40650         * tests/test-popen.c (includes): Partially test this.
40651         * modules/popen-safer-tests: New file, for more tests.
40652         * tests/test-popen-safer.c: Likewise.
40653         * MODULES.html.sh (file stream based Input/Output): Mention it.
40654
40655         tests: test some of the *-safer modules
40656         * modules/fopen-safer (Depends-on): Add fopen.
40657         * modules/fcntl-safer (Depends-on): Add fcntl.
40658         * modules/stdlib-safer (Depends-on): Add stdlib.
40659         (configure.ac): Set indicator.
40660         * modules/unistd-safer (configure.ac): Likewise.
40661         * modules/tmpfile-safer (configure.ac): Likewise.
40662         (Depends-on): Add tmpfile.
40663         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
40664         active.
40665         * tests/test-fopen.c (includes): Test safer versions when they are
40666         in use.
40667         * tests/test-open.c (includes): Likewise.
40668
40669         popen: fix cygwin 1.5 bug when stdin closed
40670         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
40671         * modules/popen: New file.
40672         * modules/popen-tests: Likewise.
40673         * tests/test-popen.c: Likewise.
40674         * m4/popen.m4: Likewise.
40675         * lib/popen.c: Likewise.
40676         * lib/stdio.in.h (popen): New declaration.
40677         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
40678         * modules/stdio (Makefile.am): Likewise.
40679         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
40680
40681 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
40682
40683         maint.mk: give full control over update-copyright exclusions
40684         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
40685         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
40686         (update-copyright): Don't force inclusion of top-level
40687         ChangeLog.  Don't force exclusion of all COPYING files, but make
40688         them the default exclusion instead.
40689
40690 2009-08-16  Bruno Haible  <bruno@clisp.org>
40691
40692         Fix test failures on Solaris 10.
40693         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
40694         tests when Solaris iconv() is used.
40695         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
40696         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
40697         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
40698         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
40699         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
40700
40701 2009-08-16  Bruno Haible  <bruno@clisp.org>
40702
40703         Fix test failures on Solaris 10.
40704         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
40705         'tr' program and pass it as first argument.
40706         * tests/test-pipe-filter-gi1.sh: Likewise.
40707         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
40708         program as first argument.
40709         * tests/test-pipe-filter-gi1.c (main): Likewise.
40710
40711 2009-08-16  Eric Blake  <ebb9@byu.net>
40712
40713         fpurge: fix previous commits
40714         * modules/fpurge (Makefile.am): Make replacement conditional,
40715         partially reverting 2007-04-29 change; missed in previous
40716         attempt.
40717         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
40718         is missing.
40719
40720 2009-08-16  Bruno Haible  <bruno@clisp.org>
40721
40722         Clarify fpurge's effect on the file position.
40723         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
40724         * tests/test-fpurge.c (main): Make a second pass for checking the file
40725         position.
40726
40727 2009-08-16  Bruno Haible  <bruno@clisp.org>
40728
40729         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
40730         declaration of fpurge is missing.
40731         * tests/test-fpurge.c (main): Check that the file has not more contents
40732         than expected. Close the file before removing it.
40733
40734 2009-08-15  Eric Blake  <ebb9@byu.net>
40735
40736         fpurge: don't wrap working cygwin implementation
40737         * lib/fpurge.c (fpurge): Fix comment typo.
40738         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
40739         1.7 to avoid replacement.
40740         * tests/test-fpurge.c (main): Enhance test.
40741
40742 2009-08-15  Eric Blake  <ebb9@byu.net>
40743         and Jim Meyering  <meyering@redhat.com>
40744
40745         test-update-copyright: skip if perl is insufficient
40746         * tests/test-update-copyright.sh: Failure to run maintainer tool
40747         should not cause testsuite failure on cygwin 1.5.
40748
40749 2009-08-14  Eric Blake  <ebb9@byu.net>
40750
40751         doc: mention more functions added in cygwin 1.7.0
40752         * doc/posix-headers/limits.texi (limits.h): Update for recent
40753         cygwin additions.
40754         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
40755         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
40756         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
40757         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
40758         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
40759
40760 2009-08-14  Eric Blake  <ebb9@byu.net>
40761
40762         maint.mk: simplify update-copyright rule
40763         * top/maint.mk (update-copyright-local): Delete, and document how
40764         to do it in cfg.mk instead.
40765         (update-copyright-exclude-regexp): Delete, and document how to do
40766         it in .x-update-copyright instead.
40767         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
40768         exclude ChangeLog.
40769
40770 2009-08-14  Bruno Haible  <bruno@clisp.org>
40771
40772         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
40773
40774 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
40775
40776         maint.mk: support update-copyright-env
40777         * top/maint.mk (update-copyright-env): Define place-holder.
40778         (update-copyright): Expand $(update-copyright-env) before
40779         invoking update-copyright.
40780
40781 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
40782
40783         update-copyright: implement forced reformatting
40784         * build-aux/update-copyright: Implement and document
40785         UPDATE_COPYRIGHT_FORCE.
40786         * tests/test-update-copyright.sh: Test it.
40787
40788 2009-08-14  Eric Blake  <ebb9@byu.net>
40789         and Bruno Haible  <bruno@clisp.org>
40790
40791         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
40792         * tests/test-locale.c: Revert previous patch related to NULL.
40793         * tests/test-stdio.c: Likewise.
40794         * tests/test-stdlib.c: Likewise.
40795         * tests/test-string.c: Likewise.
40796         * tests/test-unistd.c: Likewise.
40797         * modules/time-tests (Depends-on): Add verify.
40798         * modules/wchar-tests (Depends-on): Likewise.
40799         * tests/test-time.c: Test for NULL compliance.
40800         * tests/test-wchar.c: Likewise.
40801         * modules/locale (Depends-on): Add stddef.
40802         * modules/stdio (Depends-on): Likewise.
40803         * modules/stdlib (Depends-on): Likewise.
40804         * modules/string (Depends-on): Likewise.
40805         * modules/time (Depends-on): Likewise.
40806         * modules/unistd (Depends-on): Likewise.
40807         * modules/wchar (Depends-on): Likewise.
40808         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
40809         * lib/stdlib.in.h (includes): Likewise.
40810         * lib/string.in.h (includes): Likewise.
40811         * lib/time.in.h (includes): Likewise.
40812         * lib/unistd.in.h (includes): Likewise.
40813         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
40814         replaced.
40815         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
40816         * m4/stddef_h.m4: New file.
40817         * modules/stddef: Likewise.
40818         * lib/stddef.in.h: Likewise.
40819         * modules/stddef-tests: Likewise.
40820         * tests/test-stddef.c: Likewise.
40821         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
40822         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
40823         * doc/posix-headers/locale.texi (locale.h): Likewise.
40824         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
40825         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
40826         * doc/posix-headers/string.texi (string.h): Likewise.
40827         * doc/posix-headers/time.texi (time.h): Likewise.
40828         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
40829         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
40830
40831 2009-08-14  Eric Blake  <ebb9@byu.net>
40832
40833         doc: improve git diff of texinfo files
40834         * .gitattributes: Add rule for *.texi files, with hint on how to
40835         use it.
40836         Copied from m4, and based on a report by Bruno Haible.
40837
40838 2009-08-14  Bruno Haible  <bruno@clisp.org>
40839
40840         Disable multithread support by default on Cygwin 1.5.x for real.
40841         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
40842
40843 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
40844
40845         update-copyright: much ado about intervals
40846         * build-aux/update-copyright: Implement and document
40847         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
40848         of copyright year intervals.
40849         Also, document UPDATE_COPYRIGHT_YEAR.
40850         * tests/test-update-copyright.sh: Test it.
40851
40852         update-copyright: convert 2-digit to 4-digit years
40853         * build-aux/update-copyright: Implement and document.
40854         * tests/test-update-copyright.sh: Update.
40855
40856 2009-08-14  Jim Meyering  <meyering@redhat.com>
40857
40858         test-exclude: avoid coreutils "make check" failure
40859         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
40860         just as in test-argmatch.c.
40861
40862 2009-08-13  Eric Blake  <ebb9@byu.net>
40863
40864         test-dup2: fix bad assumption
40865         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
40866         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
40867
40868         test-version-etc: fix CRLF portability issue
40869         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
40870         recognize \r.
40871         * tests/test-argp-version-etc-1.sh: Likewise.
40872
40873         getopt: update client modules
40874         * modules/argp (Depends-on): Use getopt-gnu.
40875         * modules/git-merge-changelog (Depends-on): Likewise.
40876         * modules/long-options (Depends-on): Likewise.
40877         * modules/xstrtol (Depends-on): Likewise.
40878
40879 2009-08-13  Simon Josefsson  <simon@josefsson.org>
40880
40881         * tests/test-version-etc.sh: Don't fail on different
40882         project/version.  Don't fail on CRLF differences.  Rewrite to use
40883         multiple -e instead of multiple sed forks, suggested by Eric Blake
40884         <ebb9@byu.net>.
40885         * tests/test-argp-version-etc-1.sh: Likewise.
40886
40887 2009-08-13  Simon Josefsson  <simon@josefsson.org>
40888
40889         * tests/test-version-etc.sh: Don't fail on different
40890         project/version.
40891
40892 2009-08-12  Bruno Haible  <bruno@clisp.org>
40893
40894         Tests for modules 'getopt-posix', 'getopt-gnu'.
40895         * modules/getopt-posix-tests: New file.
40896         * tests/test-getopt.c: New file.
40897         * tests/test-getopt.h: New file.
40898         * tests/test-getopt_long.h: New file.
40899
40900         New modules 'getopt-posix', 'getopt-gnu'.
40901         * modules/getopt-gnu: New file, renamed from modules/getopt.
40902         * modules/getopt-posix: New file.
40903         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
40904         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
40905         (gl_GETOPT): Remove macro.
40906         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
40907         Disable the test against BSD systems that declare optreset. Test
40908         against mingw bug. Test against lack of support of optional arguments
40909         on many platforms.
40910         * doc/glibc-headers/getopt.texi: Update module name and list of
40911         relevant platforms.
40912         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
40913         'getopt-gnu' and more portability problems.
40914         * NEWS: Mention the changes.
40915
40916 2009-08-12  Bruno Haible  <bruno@clisp.org>
40917
40918         Ensure that optarg etc. get declared by <unistd.h>.
40919         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
40920         AC_USE_SYSTEM_EXTENSIONS.
40921         * modules/getopt (Depends-on): Add 'extensions'.
40922
40923 2009-08-12  Bruno Haible  <bruno@clisp.org>
40924
40925         Avoid test link errors.
40926         * modules/pipe-filter-ii-tests (Makefile.am): Define
40927         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
40928         * modules/pipe-filter-gi-tests (Makefile.am): Define
40929         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
40930         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
40931
40932 2009-08-12  Bruno Haible  <bruno@clisp.org>
40933
40934         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
40935         gl_GETOPT_SUBSTITUTE before.
40936         (gl_GETOPT): Use it.
40937         * m4/argp.m4 (gl_ARGP): Update.
40938         Reported by Sergey Poznyakoff.
40939
40940         * m4/getopt.m4: Reorder macros.
40941         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
40942         (gl_GETOPT_SUBSTITUTE): Remove macro.
40943
40944 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
40945
40946         Minor improvement in gitlog-to-changelog
40947
40948         * build-aux/gitlog-to-changelog: New option `--format' makes
40949         output format string configurable.
40950
40951 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
40952
40953         Optimize exclude: use hash tables for non-wildcard patterns.
40954
40955         * lib/exclude.c: Include hash.h and mbuiter.h
40956         (struct exclude_pattern, exclude_segment): New data types.
40957         (struct exclude): Rewrite.
40958         (fnmatch_pattern_has_wildcards): New function.
40959         (new_exclude_segment, free_exclude_segment): New functions.
40960         (excluded_file_pattern_p, excluded_file_name_p): New functions.
40961         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
40962         * lib/exclude.h (is_fnmatch_pattern): New prototype.
40963         * modules/exclude: Depend on hash and mbuiter.
40964
40965         * modules/exclude-tests: New file.
40966         * tests/test-exclude.c: New file.
40967         * tests/test-exclude1.sh: New file.
40968         * tests/test-exclude2.sh: New file.
40969         * tests/test-exclude3.sh: New file.
40970         * tests/test-exclude4.sh: New file.
40971         * tests/test-exclude5.sh: New file.
40972         * tests/test-exclude6.sh: New file.
40973         * tests/test-exclude7.sh: New file.
40974
40975 2009-08-12  Bruno Haible  <bruno@clisp.org>
40976
40977         Ensure that getopt() gets declared by <unistd.h>.
40978         * lib/unistd.in.h: Conditionally include getopt.h.
40979         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
40980         Set GNULIB_UNISTD_H_GETOPT.
40981         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
40982         GNULIB_UNISTD_H_GETOPT.
40983         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
40984
40985 2009-08-12  Bruno Haible  <bruno@clisp.org>
40986
40987         Clarify logic.
40988         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
40989         gl_replace_getopt instead of GETOPT_H.
40990
40991 2009-08-12  Bruno Haible  <bruno@clisp.org>
40992
40993         * m4/getopt.m4: Add comments.
40994
40995 2009-08-12  Bruno Haible  <bruno@clisp.org>
40996
40997         Disable multithread support by default on Cygwin 1.5.x.
40998         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
40999         set gl_use_threads=no if not specified otherwise.
41000
41001 2009-08-11  Bruno Haible  <bruno@clisp.org>
41002
41003         Avoid compilation error on NetBSD 5.0.
41004         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
41005         * tests/test-stdio.c: Likewise.
41006         * tests/test-stdlib.c: Likewise.
41007         * tests/test-string.c: Likewise.
41008         * tests/test-unistd.c: Likewise.
41009         Reported by Greg Troxel <gdt@ir.bbn.com>
41010         at <https://savannah.gnu.org/support/?106973>.
41011
41012 2009-08-11  Bruno Haible  <bruno@clisp.org>
41013
41014         * modules/dup2-tests (Depends-on): Remove close.
41015
41016         Undo 2009-07-19 commit.
41017         * modules/acl-tests (Depends-on): Remove close.
41018         * modules/binary-io-tests (Depends-on): Likewise.
41019         * modules/closein-tests (Depends-on): Likewise.
41020         * modules/flock-tests (Depends-on): Likewise.
41021         * modules/fsync-tests (Depends-on): Likewise.
41022         * modules/lseek-tests (Depends-on): Likewise.
41023         * modules/pipe-tests (Depends-on): Likewise.
41024         * modules/posix_spawn-tests (Depends-on): Likewise.
41025         * modules/posix_spawnp-tests (Depends-on): Likewise.
41026         * modules/stat-time-tests (Depends-on): Likewise.
41027         * modules/yesno-tests (Depends-on): Likewise.
41028
41029 2009-08-10  Bruno Haible  <bruno@clisp.org>
41030
41031         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
41032
41033 2009-08-10  Bruno Haible  <bruno@clisp.org>
41034
41035         Fix a gcc warning.
41036         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
41037
41038 2009-08-10  Bruno Haible  <bruno@clisp.org>
41039
41040         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
41041         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
41042         not only the first time.
41043         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
41044         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
41045         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
41046         is 1, not only the the first time.
41047
41048 2009-08-10  Bruno Haible  <bruno@clisp.org>
41049
41050         Make it possible to use module 'gethostname' without module 'close'.
41051         * lib/unistd.in.h (close): Evoke a link error only if
41052         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
41053         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
41054         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
41055         * modules/unistd (Makefile.am): Substitute
41056         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
41057         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
41058         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
41059         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
41060         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
41061         * modules/sys_ioctl (Makefile.am): Substitute
41062         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
41063         * modules/socket (configure.ac): On native Windows, set
41064         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
41065         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
41066         Reported by Sam Steingold <sds@gnu.org>.
41067
41068 2009-08-10  Bruno Haible  <bruno@clisp.org>
41069
41070         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
41071         * modules/ioctl (configure.ac): Likewise.
41072
41073 2009-08-10  Bruno Haible  <bruno@clisp.org>
41074
41075         Avoid collision between gnulib wrapper and libintl wrapper.
41076         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
41077         already defined in intl/printf.c.
41078         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
41079         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
41080
41081 2009-08-09  Bruno Haible  <bruno@clisp.org>
41082
41083         Make <sys/select.h> really self-contained, also on Solaris 10.
41084         * lib/sys_select.in.h: Include <string.h>.
41085         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
41086         Solaris 10 problem.
41087         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
41088         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
41089         Reported by Jim Meyering.
41090
41091 2009-08-09  Bruno Haible  <bruno@clisp.org>
41092
41093         Avoid warnings from 'aclocal' that are due to a use of macro name
41094         AM_XGETTEXT_OPTION that is not defined in automake.
41095         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
41096         automake.
41097         * modules/error (configure.ac): Likewise.
41098         * modules/propername (configure.ac): Likewise.
41099         * modules/vasprintf (configure.ac): Likewise.
41100         * modules/verror (configure.ac): Likewise.
41101         * modules/xprintf (configure.ac): Likewise.
41102         * modules/xvasprintf (configure.ac): Likewise.
41103
41104 2009-08-08  Bruno Haible  <bruno@clisp.org>
41105
41106         Avoid compilation error in C++ mode.
41107         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
41108         Reported by Sam Steingold <sds@gnu.org>.
41109
41110 2009-08-08  Bruno Haible  <bruno@clisp.org>
41111
41112         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
41113         for the various Unix platforms.
41114         * doc/posix-headers/limits.texi: Update platforms list regarding
41115         HOST_NAME_MAX.
41116         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
41117
41118 2009-08-07  Jim Meyering  <meyering@redhat.com>
41119
41120         selinux-at: fix typo in a comment
41121         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
41122         Spotted by Paolo Bonzini.
41123
41124         selinux-at: remove redundant m4 code, add documentation
41125         * modules/selinux-at (configure.ac): Remove redundant code.
41126         LIB_SELINUX is already set via the dependent module, selinux-h.
41127         (Include): Add quotes around selinux-at.h.
41128         * lib/selinux-at.h: Add documentation.
41129         Reported by Bruno Haible in
41130         http://marc.info/?l=gnulib-bug&m=124958988300749
41131
41132 2009-08-07  Bruno Haible  <bruno@clisp.org>
41133
41134         Avoid link error on MacOS X 10.3 and 10.4.
41135         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
41136         on non-ELF systems.
41137         * lib/argp-pv.c (argp_program_version): Likewise.
41138         Reported by Simon Josefsson.
41139
41140 2009-08-07  Simon Josefsson  <simon@josefsson.org>
41141
41142         * tests/test-version-etc.sh: Use $EXEEXT.
41143
41144 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
41145
41146         update-copyright: update documentation to point to maint.mk
41147         * build-aux/update-copyright: Here.
41148
41149 2009-08-06  Jim Meyering  <meyering@redhat.com>
41150
41151         maint.mk: support update-copyright-local
41152         * top/maint.mk (update-copyright-local): Define place-holder.
41153         (update-copyright): Depend on $(update-copyright-local).
41154
41155 2009-08-06  Jim Meyering  <meyering@redhat.com>
41156
41157         selinux-at: new module
41158         Initially written for coreutils, this module will soon be
41159         used by findutils, too.
41160         * MODULES.html.sh [Misc]: Add selinux-at.
41161         * lib/selinux-at.h: New file, from coreutils.
41162         * lib/selinux-at.c: Likewise.
41163         * modules/selinux-at: Likewise.
41164         (License): Change from LGPL to GPL, since it depends
41165         on the GPL'd openat module.
41166
41167         doc: update README
41168         * README: Remove references to cogito.
41169         Remove cvs-repo-updating instructions from 2007.
41170         Don't imply that CVS is better if you have limited disk space.
41171
41172 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
41173
41174         update-copyright: support C-style comments
41175         * build-aux/update-copyright: Implement and document.
41176         * tests/test-update-copyright.sh: Test.
41177
41178 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
41179
41180         update-copyright: support omitted "(C)"
41181         * build-aux/update-copyright: Implement and document.  Also,
41182         allow variable whitespace before "(C)".
41183         * tests/test-update-copyright.sh: Test.
41184
41185 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
41186
41187         update-copyright: don't trip on non-FSF copyright statements
41188         * build-aux/update-copyright: Fix so that the first correctly
41189         formatted FSF copyright statement is recognized no matter what
41190         appears before it.  Update documentation.
41191         * tests/test-update-copyright.sh: Test that.
41192
41193 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
41194
41195         update-copyright: clean up code a little
41196         * build-aux/update-copyright: Append "_re" to the name of any
41197         variable holding a regular expression.
41198         Replace "old" and "new" with "stmt" in variable names.
41199         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
41200         handled correctly.
41201         Format code more consistently.
41202
41203 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
41204
41205         update-copyright-tests: improve portability
41206         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
41207         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
41208
41209 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
41210
41211         update-copyright: support @copyright{} and &copy;
41212         * build-aux/update-copyright: Implement and document.
41213         * tests/test-update-copyright.sh: Test.
41214
41215 2009-08-04  Jim Meyering  <meyering@redhat.com>
41216
41217         update-copyright-tests: correctly test EOL=\r\n handling
41218         * tests/test-update-copyright.sh: Put \r at the end of some lines
41219         for the dos-eol tests.  Based on a patch by Joel E. Denny.
41220
41221         maint.mk: make update-copyright exclusion list more configurable
41222         * top/maint.mk (update-copyright): Default to excluding COPYING,
41223         but allow an override, in case someone does want to update that file.
41224
41225         maint.mk: don't update copyright date in COPYING
41226         * top/maint.mk (update-copyright): Exclude COPYING.
41227
41228         maint.mk: add a copyright-updating rule
41229         * top/maint.mk (update-copyright): New rule.
41230         Derived from coreutils/Makefile.am.
41231
41232         update-copyright: rename some variables
41233         * build-aux/update-copyright: Rename a few variables for clarity.
41234         Tweak syntax.  List Joel E. Denny as coauthor.
41235
41236 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
41237
41238         update-copyright: fix bug for 2-digit last year and add tests
41239         * build-aux/update-copyright: Fix bug.
41240         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
41241         specified.
41242         * modules/update-copyright-tests: New
41243         * tests/test-update-copyright.sh: New.
41244
41245 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
41246
41247         update-copyright: handle leading tabs in line prefix
41248         * build-aux/update-copyright: Count leading tabs as 8 spaces
41249         when computing margin.  This helps with the formatting of
41250         ChangeLogs, for example.
41251         Fix documentation a little.
41252
41253 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
41254
41255         update-copyright: support EOL=\r\n
41256         * build-aux/update-copyright: Implement that.
41257
41258 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
41259
41260         update-copyright: automatically format copyright statements
41261         * build-aux/update-copyright: Implement that.
41262         Also, be a little more predictable and safer by always failing
41263         when the full copyright format is not perfectly recognized as an
41264         unbroken whole.  Discussed at
41265         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
41266         Rewrite documentation.
41267
41268 2009-08-03  Bruno Haible  <bruno@clisp.org>
41269
41270         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
41271
41272 2009-08-02  Bruno Haible  <bruno@clisp.org>
41273
41274         Tests for module 'uname'.
41275         * modules/uname-tests: New file.
41276         * tests/test-uname.c: New file.
41277
41278         New module 'uname'.
41279         * lib/uname.c: New file.
41280         * m4/uname.m4: New file.
41281         * modules/uname: New file.
41282         * doc/posix-functions/uname.texi: Mention the new module.
41283
41284 2009-08-02  Bruno Haible  <bruno@clisp.org>
41285
41286         Tests for module 'sys_utsname'.
41287         * modules/sys_utsname-tests: New file.
41288         * tests/test-sys_utsname.c: New file.
41289
41290         New module 'sys_utsname'.
41291         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
41292         * m4/sys_utsname_h.m4: New file.
41293         * modules/sys_utsname: New file.
41294         * doc/posix-headers/sys_utsname.texi: Mention the new module.
41295
41296 2009-08-02  Bruno Haible  <bruno@clisp.org>
41297
41298         Implicitly initialize the sockets library.
41299         * lib/gethostname.c: Include sockets.h.
41300         (rpl_gethostname): Invoke gl_sockets_startup.
41301         * lib/socket.c: Include sockets.h.
41302         (rpl_socket): Invoke gl_sockets_startup.
41303         * modules/gethostname (Depends-on): Add sockets.
41304         * modules/socket (Depends-on): Likewise.
41305         * tests/test-poll.c: Don't include sockets.h.
41306         (main): Don't invoke gl_sockets_startup.
41307         * tests/test-select.c: Don't include sockets.h.
41308         (main): Don't invoke gl_sockets_startup.
41309
41310 2009-08-02  Bruno Haible  <bruno@clisp.org>
41311
41312         Allow multiple calls to gl_sockets_startup.
41313         * lib/sockets.c (initialized_sockets_version): New variable.
41314         (gl_sockets_startup): Do nothing if already called for this or a higher
41315         version.
41316         (gl_sockets_cleanup): Reset initialized_sockets_version.
41317
41318 2009-08-03  Simon Josefsson  <simon@josefsson.org>
41319
41320         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
41321         different project/version.
41322
41323 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
41324             Bruno Haible  <bruno@clisp.org>
41325
41326         Tests for module 'pipe-filter-gi'.
41327         * modules/pipe-filter-gi-tests: New file.
41328         * tests/test-pipe-filter-gi1.sh: New file.
41329         * tests/test-pipe-filter-gi1.c: New file.
41330         * tests/test-pipe-filter-gi2.sh: New file.
41331         * tests/test-pipe-filter-gi2-main.c: New file.
41332         * tests/test-pipe-filter-gi2-child.c: New file.
41333
41334         New module 'pipe-filter-gi'.
41335         * lib/pipe-filter-gi.c: New file.
41336         * modules/pipe-filter-gi: New file.
41337
41338 2009-08-02  Bruno Haible  <bruno@clisp.org>
41339             Paolo Bonzini  <bonzini@gnu.org>
41340
41341         Tests for module 'pipe-filter-ii'.
41342         * modules/pipe-filter-ii-tests: New file.
41343         * tests/test-pipe-filter-ii1.sh: New file.
41344         * tests/test-pipe-filter-ii1.c: New file.
41345         * tests/test-pipe-filter-ii2.sh: New file.
41346         * tests/test-pipe-filter-ii2-main.c: New file.
41347         * tests/test-pipe-filter-ii2-child.c: New file.
41348
41349         New module 'pipe-filter-ii'.
41350         * lib/pipe-filter.h: New file.
41351         * lib/pipe-filter-ii.c: New file.
41352         * lib/pipe-filter-aux.h: New file.
41353         * modules/pipe-filter-ii: New file.
41354
41355 2009-08-02  Simon Josefsson  <simon@josefsson.org>
41356
41357         * lib/gc-libgcrypt.c: Change copyright to FSF.
41358         * lib/gc-gnulib.c: Likewise.
41359
41360 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
41361
41362         * lib/gethostname.c: Include limits.h.
41363
41364 2009-08-02  Simon Josefsson  <simon@josefsson.org>
41365             Bruno Haible  <bruno@clisp.org>
41366
41367         Ensure HOST_NAME_MAX as part of the gethostname module.
41368         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
41369         define also HOST_NAME_MAX.
41370         * tests/test-gethostname.c: Include <limits.h>.
41371         (main): Check also HOST_NAME_MAX.
41372         * doc/posix-headers/limits.texi: Document the mingw problem.
41373
41374 2009-08-02  Bruno Haible  <bruno@clisp.org>
41375
41376         * lib/gethostname.c (gethostname): Fix handling of large len argument.
41377         Add comments.
41378
41379 2009-03-31  Simon Josefsson  <simon@josefsson.org>
41380
41381         * lib/gethostname.c: Add Windows wrapper.
41382         * m4/gethostname.m4: Look for gethostname in -lws2_32.
41383         * modules/gethostname: Depend on sys_socket & errno, for also
41384         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
41385         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
41386
41387 2009-07-31  Jim Meyering  <meyering@redhat.com>
41388
41389         getloadavg: fix symbol name in comment
41390         * lib/getloadavg.c: Correct a typo I introduced when adding
41391         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
41392         Matt Kraai spotted the problem.
41393
41394 2009-07-29  Matt Kraai  <mkraai@beckman.com>
41395
41396         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
41397         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
41398         code also if ! defined N_NAME_POINTER.
41399         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
41400         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
41401         but the n_name member is a 12-byte array.
41402
41403 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
41404
41405         update-copyright: generalize comment handling
41406         * build-aux/update-copyright: Handle copyright statements
41407         within more comment styles.
41408         Document usage.
41409         Report any file with an external copyright holder or parse failure.
41410
41411 2009-07-29  Jim Meyering  <meyering@redhat.com>
41412
41413         mktime: correct setting of REPLACE_MKTIME
41414         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
41415
41416         update-copyright: new module
41417         * modules/update-copyright: New file.
41418         * build-aux/update-copyright: New file.
41419         * MODULES.html.sh (maint+release support): Add update-copyright.
41420
41421 2009-07-27  Bruno Haible  <bruno@clisp.org>
41422
41423         Fix compilation error when <ctime> is used and mktime is replaced.
41424         * lib/time.in.h (mktime): New declaration.
41425         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
41426         REPLACE_MKTIME instead of defining mktime in config.h.
41427         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
41428         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
41429         Reported by Ross McFarland <rwmcfa1@neces.com>.
41430
41431 2009-07-27  Bruno Haible  <bruno@clisp.org>
41432
41433         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
41434         Reported by Matt Kraai <mkraai@beckman.com>.
41435
41436 2009-07-25  Jim Meyering  <meyering@redhat.com>
41437
41438         maint.mk: avoid warnings about missing files
41439         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
41440         diagnostic when .prev-version does not exist.
41441         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
41442         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
41443         nonexistent cfg.mk.
41444         Suggestions from Simon Josefsson.
41445
41446 2009-07-25  Bruno Haible  <bruno@clisp.org>
41447
41448         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
41449         defined as macros. Needed on QNX 6.4.1.
41450         Reported by Matt Kraai <mkraai@beckman.com>.
41451
41452 2009-07-23  Jim Meyering  <meyering@redhat.com>
41453
41454         maint.mk: invoke "make dist" with a working value of XZ_OPT
41455         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
41456
41457 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
41458
41459         Make fseeko.c compile on QNX.
41460         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
41461
41462 2009-07-22  Peter Simons  <simons@cryp.to>
41463
41464         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
41465         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
41466         * lib/md4.h: Likewise.
41467         * lib/md5.h: Likewise.
41468         * lib/sha1.h: Likewise.
41469         * lib/sha256.h: Likewise.
41470         * lib/sha512.h: Likewise.
41471
41472         tests-sha1: don't assign literal string to 'char *' variable
41473         * tests/test-sha1.c (main): Declare locals with "const" to match
41474         attributes of the right hand side.
41475
41476 2009-07-21  Eric Blake  <ebb9@byu.net>
41477
41478         dup2: fix more mingw problems
41479         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
41480         fd to itself.
41481         * doc/posix-functions/dup2.texi (dup2): Document the bug.
41482         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
41483         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
41484         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
41485         care of mingw bugs.
41486
41487 2009-07-21  Jim Meyering  <meyering@redhat.com>
41488
41489         vc-list-files: avoid failure when /bin/sh is dash
41490         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
41491         On some Debian based systems, /bin/sh is a symlink to dash, and running
41492         this command would omit the "/" following each 'tests' prefix:
41493           dash -x build-aux/vc-list-files -C . tests
41494         That is because bash and dash work differently:
41495           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
41496           bash ok
41497           dash odd
41498
41499 2009-07-21  Eric Blake  <ebb9@byu.net>
41500
41501         dup2-tests: test previous patch
41502         * modules/dup2-tests: New file.
41503         * tests/test-dup2.c: Likewise.
41504         * tests/test-open.c (main): Avoid unspecified behavior.
41505         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
41506         test.
41507
41508         dup2: work around mingw and cygwin 1.5 bug
41509         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
41510         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
41511         * modules/unistd (Makefile.am): Substitute it.
41512         * lib/unistd.in.h (dup2): Declare the replacement.
41513         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
41514         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
41515         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
41516         * modules/execute (Depends-on): Add dup2.
41517         * modules/fseterr (Depends-on): Likewise.
41518         * modules/pipe (Depends-on): Likewise.
41519         * modules/posix_spawn-internal (Depends-on): Likewise.
41520
41521 2009-07-21  Bruno Haible  <bruno@clisp.org>
41522
41523         * modules/.gitattributes: New file.
41524
41525 2009-07-20  Bruno Haible  <bruno@clisp.org>
41526
41527         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
41528         (main): Use it.
41529
41530 2009-07-20  Eric Blake  <ebb9@byu.net>
41531
41532         test-pipe: make a bit more robust.
41533         * tests/test-pipe.c (myerr): Allow error messages regardless of
41534         what we do to stderr.
41535         (test_pipe): Rearrange to avoid deadlock.
41536         (child_main): Try a larger read, to ensure we avoided deadlock.
41537         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
41538         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
41539         if misused.
41540
41541 2009-07-19  Jim Meyering  <meyering@redhat.com>
41542
41543         fts: avoid false-positive cycle-detection
41544         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
41545         for each new command line argument.
41546
41547 2009-07-19  Bruno Haible  <bruno@clisp.org>
41548
41549         Fix build error on mingw with the modules sys_select and unistd.
41550         * modules/acl-tests (Depends-on): Add close.
41551         * modules/binary-io-tests (Depends-on): Likewise.
41552         * modules/closein-tests (Depends-on): Likewise.
41553         * modules/flock-tests (Depends-on): Likewise.
41554         * modules/fsync-tests (Depends-on): Likewise.
41555         * modules/lseek-tests (Depends-on): Likewise.
41556         * modules/pipe-tests (Depends-on): Likewise.
41557         * modules/posix_spawn-tests (Depends-on): Likewise.
41558         * modules/posix_spawnp-tests (Depends-on): Likewise.
41559         * modules/stat-time-tests (Depends-on): Likewise.
41560         * modules/yesno-tests (Depends-on): Likewise.
41561
41562 2009-07-19  Bruno Haible  <bruno@clisp.org>
41563
41564         Unify conditionals.
41565         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
41566         macros, not at the compiler macros.
41567         * lib/pipe.c: Likewise.
41568         * lib/execute.c: Likewise.
41569         * lib/spawni.c: Likewise.
41570
41571 2009-07-19  Bruno Haible  <bruno@clisp.org>
41572
41573         Fix handling of closed stdin/stdout/stderr on mingw.
41574         * lib/w32spawn.h: Include unistd.h.
41575         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
41576         file descriptor with O_NOINHERIT flag.
41577         (fd_safer_noinherit): New function, based on fd-safer.c.
41578         (dup_safer_noinherit): New function, based on dup-safer.c.
41579         (undup_safer_noinherit): New function.
41580         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
41581         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
41582         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
41583         instead of fd_safer.
41584         * tests/test-pipe.c: Include <windows.h>.
41585         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
41586         result.
41587
41588         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
41589         from main.
41590         (test_pipe): Pass an extra argument for disambiguation.
41591         (main): Invoke parent_main or child_main.
41592
41593         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
41594         consistently.
41595
41596 2009-07-18  Eric Blake  <ebb9@byu.net>
41597
41598         test-pipe: fix mingw build
41599         * tests/test-pipe.c (main): Avoid fcntl on mingw.
41600
41601 2009-07-18  Bruno Haible  <bruno@clisp.org>
41602
41603         * modules/pipe-tests (Makefile.am): Fix typo.
41604
41605 2009-07-18  Eric Blake  <ebb9@byu.net>
41606
41607         error: fix mingw build
41608         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
41609         Reported by Bruno Haible.
41610
41611         error: avoid undefined use of stdout
41612         * lib/error.c (error, error_at_line): Check that fd 1 is open
41613         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
41614         is handling faults and the close_stdout module wants to report the
41615         detection of closed stdout as an error.
41616
41617 2009-07-17  Eric Blake  <ebb9@byu.net>
41618
41619         pipe: be robust in face of closed fds
41620         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
41621         should cause child to misbehave.
41622         * modules/pipe-tests: New module.
41623         * tests/test-pipe.c: New file.
41624         * tests/test-pipe.sh: New file.
41625         Reported by Akim Demaille.
41626
41627 2009-07-14  Bruno Haible  <bruno@clisp.org>
41628
41629         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
41630         Reported by anonymous kc.
41631
41632 2009-07-07  Jim Meyering  <meyering@redhat.com>
41633
41634         maint.mk: don't look for translatable strings in *.m4 or *.mk
41635         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
41636         when searching for translatable strings.
41637
41638 2009-07-05  Jim Meyering  <meyering@redhat.com>
41639
41640         remove superfluous parentheses in STREQ definition
41641         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
41642         * lib/getugroups.c (STREQ): Likewise.
41643         * lib/fnmatch.c (STREQ): Likewise.
41644         Spotted by Bruno Haible.
41645
41646 2009-07-04  Jim Meyering  <meyering@redhat.com>
41647
41648         argv-iter: new module
41649         * MODULES.html.sh: Add argv-iter.
41650         * lib/argv-iter.c, lib/argv-iter.h: New files.
41651         * modules/argv-iter: New file.
41652         * modules/argv-iter-tests: New file.
41653         * tests/test-argv-iter.c: Test it.
41654
41655 2009-07-04  Bruno Haible  <bruno@clisp.org>
41656
41657         Fix assertion.
41658         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
41659         contains more exact copies of a given entry than file2, leave the extra
41660         copies unpaired rather than aborting.
41661         Reported by Eric Blake.
41662
41663 2009-07-02  Bruno Haible  <bruno@clisp.org>
41664
41665         Speedup git-merge-changelog for git cherry-pick.
41666         * lib/git-merge-changelog.c (struct entries_mapping): New type.
41667         (entries_mapping_get): New function, extracted from compute_mapping.
41668         (entries_mapping_reverse_get): New function.
41669         (compute_mapping): Add a 'full' argument. Return the result in a
41670         'struct entries_mapping'.
41671         (main): Update. Access the mappings through entries_mapping_get.
41672         Reported by Eric Blake.
41673
41674 2009-07-02  Bruno Haible  <bruno@clisp.org>
41675
41676         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
41677         best_i.
41678
41679 2009-07-02  Bruno Haible  <bruno@clisp.org>
41680
41681         Speed up approximate search for matching ChangeLog entries.
41682         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
41683         argument. Call fstrcmp_bounded instead of fstrcmp.
41684         (compute_mapping, try_split_merged_entry, main): Update callers.
41685
41686 2009-07-02  Bruno Haible  <bruno@clisp.org>
41687
41688         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
41689
41690 2009-06-30  Bruno Haible  <bruno@clisp.org>
41691
41692         Reduce the number of uc_is_cased calls.
41693         * lib/unicase.h (casing_suffix_context_t): Add
41694         'first_char_except_ignorable' field.
41695         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
41696         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
41697         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
41698         Update initializer.
41699         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
41700         case-ignorable characters.
41701         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
41702         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
41703         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
41704         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
41705         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
41706
41707 2009-06-30  Bruno Haible  <bruno@clisp.org>
41708
41709         Tests for module 'unicase/ignorable'.
41710         * modules/unicase/ignorable-tests: New file.
41711         * tests/unicase/test-ignorable.c: New file, generated by
41712         gen-uni-tables.
41713
41714         Tests for module 'unicase/cased'.
41715         * modules/unicase/cased-tests: New file.
41716         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
41717         * tests/unicase/test-predicate-part1.h: New file, derived from
41718         tests/unictype/test-predicate-part1.h.
41719         * tests/unicase/test-predicate-part2.h: New file, same as
41720         tests/unictype/test-predicate-part2.h.
41721
41722         Fix evaluation of "Before C" condition of FINAL_SIGMA.
41723         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
41724         (output_casing_properties): New function.
41725         (main): Call it.
41726         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
41727         * lib/unicase/cased.c: Include unictype/bitmap.h.
41728         (uc_is_cased): Define through a bitmap lookup.
41729         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
41730         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
41731         (uc_is_case_ignorable): Define through a bitmap lookup.
41732         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
41733         lib/unictype/bitmap.h.
41734         (Depends-on): Add inline. Clean up.
41735         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
41736         lib/unictype/bitmap.h.
41737         (Depends-on): Add inline. Clean up.
41738         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
41739         recognition.
41740         * tests/unicase/test-u16-tolower.c (main): Likewise.
41741         * tests/unicase/test-u32-tolower.c (main): Likewise.
41742
41743 2009-06-30  Bruno Haible  <bruno@clisp.org>
41744
41745         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
41746         * lib/unicase/u16-casemap.c: Likewise.
41747         * lib/unicase/u32-casemap.c: Likewise.
41748
41749 2009-06-29  Bruno Haible  <bruno@clisp.org>
41750
41751         Define u32_casefold as a wrapper around u32_ct_casefold.
41752         * lib/unicase/u32-casefold.c: Update.
41753         * modules/unicase/u32-casefold (Depends-on): Add
41754         unicase/u32-ct-casefold, unicase/empty-prefix-context,
41755         unicase/empty-suffix-context. Clean up.
41756
41757         Define u16_casefold as a wrapper around u16_ct_casefold.
41758         * lib/unicase/u16-casefold.c: Update.
41759         * modules/unicase/u16-casefold (Depends-on): Add
41760         unicase/u16-ct-casefold, unicase/empty-prefix-context,
41761         unicase/empty-suffix-context. Clean up.
41762
41763         Define u8_casefold as a wrapper around u8_ct_casefold.
41764         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
41765         * lib/unicase/u8-casefold.c: Update.
41766         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
41767         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
41768
41769         Define u32_totitle as a wrapper around u32_ct_totitle.
41770         * lib/unicase/u32-totitle.c: Update.
41771         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
41772         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
41773
41774         Define u16_totitle as a wrapper around u16_ct_totitle.
41775         * lib/unicase/u16-totitle.c: Update.
41776         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
41777         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
41778
41779         Define u8_totitle as a wrapper around u8_ct_totitle.
41780         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
41781         functions.
41782         (FUNC): Delegate to U_CT_TOTITLE.
41783         * lib/unicase/u8-totitle.c: Update.
41784         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
41785         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
41786
41787         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
41788         invocation.
41789         * modules/unicase/u32-tolower (Depends-on): Add
41790         unicase/empty-prefix-context, unicase/empty-suffix-context.
41791
41792         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
41793         invocation.
41794         * modules/unicase/u16-tolower (Depends-on): Add
41795         unicase/empty-prefix-context, unicase/empty-suffix-context.
41796
41797         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
41798         * modules/unicase/u8-tolower (Depends-on): Add
41799         unicase/empty-prefix-context, unicase/empty-suffix-context.
41800
41801         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
41802         invocation.
41803         * modules/unicase/u32-toupper (Depends-on): Add
41804         unicase/empty-prefix-context, unicase/empty-suffix-context.
41805
41806         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
41807         invocation.
41808         * modules/unicase/u16-toupper (Depends-on): Add
41809         unicase/empty-prefix-context, unicase/empty-suffix-context.
41810
41811         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
41812         * modules/unicase/u8-toupper (Depends-on): Add
41813         unicase/empty-prefix-context, unicase/empty-suffix-context.
41814
41815         New module 'unicase/u32-ct-casefold'.
41816         * lib/unicase/u32-ct-casefold.c: New file.
41817         * modules/unicase/u32-ct-casefold: New file.
41818
41819         New module 'unicase/u16-ct-casefold'.
41820         * lib/unicase/u16-ct-casefold.c: New file.
41821         * modules/unicase/u16-ct-casefold: New file.
41822
41823         New module 'unicase/u8-ct-casefold'.
41824         * lib/unicase/u8-ct-casefold.c: New file.
41825         * lib/unicase/u-ct-casefold.h: New file, derived from
41826         lib/unicase/u-casefold.h.
41827         * modules/unicase/u8-ct-casefold: New file.
41828
41829         New module 'unicase/u32-ct-totitle'.
41830         * lib/unicase/u32-ct-totitle.c: New file.
41831         * modules/unicase/u32-ct-totitle: New file.
41832
41833         New module 'unicase/u16-ct-totitle'.
41834         * lib/unicase/u16-ct-totitle.c: New file.
41835         * modules/unicase/u16-ct-totitle: New file.
41836
41837         New module 'unicase/u8-ct-totitle'.
41838         * lib/unicase/u8-ct-totitle.c: New file.
41839         * lib/unicase/u-ct-totitle.h: New file, derived from
41840         lib/unicase/u-totitle.h.
41841         * modules/unicase/u8-ct-totitle: New file.
41842
41843         New module 'unicase/u32-ct-tolower'.
41844         * lib/unicase/u32-ct-tolower.c: New file.
41845         * modules/unicase/u32-ct-tolower: New file.
41846
41847         New module 'unicase/u16-ct-tolower'.
41848         * lib/unicase/u16-ct-tolower.c: New file.
41849         * modules/unicase/u16-ct-tolower: New file.
41850
41851         New module 'unicase/u8-ct-tolower'.
41852         * lib/unicase/u8-ct-tolower.c: New file.
41853         * modules/unicase/u8-ct-tolower: New file.
41854
41855         New module 'unicase/u32-ct-toupper'.
41856         * lib/unicase/u32-ct-toupper.c: New file.
41857         * modules/unicase/u32-ct-toupper: New file.
41858
41859         New module 'unicase/u16-ct-toupper'.
41860         * lib/unicase/u16-ct-toupper.c: New file.
41861         * modules/unicase/u16-ct-toupper: New file.
41862
41863         New module 'unicase/u8-ct-toupper'.
41864         * lib/unicase/u8-ct-toupper.c: New file.
41865         * modules/unicase/u8-ct-toupper: New file.
41866
41867         Add context arguments to u*_casemap functions.
41868         * lib/unicase/unicasemap.h: Include unicase.h.
41869         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
41870         suffix_context arguments.
41871         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
41872         functions.
41873         (FUNC): Add prefix_context and suffix_context arguments. Use
41874         uc_is_cased and uc_is_case_ignorable.
41875         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
41876         * lib/unicase/u16-casemap.c: Likewise.
41877         * lib/unicase/u32-casemap.c: Likewise.
41878         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
41879         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
41880         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
41881         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
41882         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
41883         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
41884
41885         New module 'unicase/u32-suffix-context'.
41886         * lib/unicase/u32-suffix-context.c: New file.
41887         * modules/unicase/u32-suffix-context: New file.
41888
41889         New module 'unicase/u16-suffix-context'.
41890         * lib/unicase/u16-suffix-context.c: New file.
41891         * modules/unicase/u16-suffix-context: New file.
41892
41893         New module 'unicase/u8-suffix-context'.
41894         * lib/unicase/u8-suffix-context.c: New file.
41895         * lib/unicase/u-suffix-context.h: New file.
41896         * modules/unicase/u8-suffix-context: New file.
41897
41898         New module 'unicase/empty-suffix-context'.
41899         * lib/unicase/empty-suffix-context.c: New file.
41900         * modules/unicase/empty-suffix-context: New file.
41901
41902         New module 'unicase/u32-prefix-context'.
41903         * lib/unicase/u32-prefix-context.c: New file.
41904         * modules/unicase/u32-prefix-context: New file.
41905
41906         New module 'unicase/u16-prefix-context'.
41907         * lib/unicase/u16-prefix-context.c: New file.
41908         * modules/unicase/u16-prefix-context: New file.
41909
41910         New module 'unicase/u8-prefix-context'.
41911         * lib/unicase/u8-prefix-context.c: New file.
41912         * lib/unicase/u-prefix-context.h: New file.
41913         * lib/unicase/context.h: New file.
41914         * modules/unicase/u8-prefix-context: New file.
41915
41916         New module 'unicase/empty-prefix-context'.
41917         * lib/unicase/empty-prefix-context.c: New file.
41918         * modules/unicase/empty-prefix-context: New file.
41919
41920         New module 'unicase/ignorable'.
41921         * lib/unicase/ignorable.c: New file.
41922         * modules/unicase/ignorable: New file.
41923
41924         New module 'unicase/cased'.
41925         * lib/unicase/caseprop.h: New file.
41926         * lib/unicase/cased.c: New file.
41927         * modules/unicase/cased: New file.
41928
41929         New functions for case mapping of substrings.
41930         * lib/unicase.h (casing_prefix_context_t): New type.
41931         (unicase_empty_prefix_context): New variable.
41932         (u8_casing_prefix_context, u16_casing_prefix_context,
41933         u32_casing_prefix_context, u8_casing_prefixes_context,
41934         u16_casing_prefixes_context, u32_casing_prefixes_context): New
41935         declarations.
41936         (casing_suffix_context_t): New type.
41937         (unicase_empty_suffix_context): New variable.
41938         (u8_casing_suffix_context, u16_casing_suffix_context,
41939         u32_casing_suffix_context, u8_casing_suffixes_context,
41940         u16_casing_suffixes_context, u32_casing_suffixes_context,
41941         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
41942         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
41943         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
41944         declarations.
41945
41946 2009-06-28  Jim Meyering  <meyering@redhat.com>
41947
41948         boostrap: indent only with spaces
41949         * build-aux/bootstrap: Indent only with spaces, never TABs.
41950
41951         bootstrap: split long lines
41952         * build-aux/bootstrap: Keep line length < 80.
41953
41954         bootstrap: sync from coreutils
41955         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
41956         just as autoreconf does.  Verify a list of prerequisite
41957         package-name,version-number pairs if defined in bootstrap.conf.
41958         Refer to README-prereq, if prerequisites are not satisfied.
41959
41960 2009-06-27  Eric Blake  <ebb9@byu.net>
41961
41962         tests: add test for bogus NULL definition
41963         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
41964         * tests/test-stdlib.c: Likewise.
41965         * tests/test-string.c: Likewise.
41966         * tests/test-locale.c: Likewise.
41967         * tests/test-unistd.c: Likewise.
41968         * modules/stdio-tests (Depends-on): Add verify.
41969         * modules/stdlib-tests (Depends-on): Likewise.
41970         * modules/string-tests (Depends-on): Likewise.
41971         * modules/locale-tests (Depends-on): Likewise.
41972         * modules/unistd-tests (Depends-on): Likewise.
41973
41974 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
41975
41976         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
41977         self-explaining comment.
41978         * m4/selinux-selinux-h: Update serial.
41979         (gl_LIBSELINUX): New macro, adding a warning for missing development
41980         packages to code extracted from...
41981         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
41982         Add warning for missing development packages here, too.
41983
41984 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
41985
41986         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
41987
41988 2009-06-25  Eric Blake  <ebb9@byu.net>
41989
41990         version-etc: fix regression
41991         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
41992         gcc.
41993         (version_etc): Use it, to catch bugs with trailing NULL.
41994         * lib/version-etc.c (version_etc_arn): Delete unused argument.
41995         (version_etc_va): Fix logic bug.
41996         * modules/version-etc-tests: Add test.
41997         * tests/test-version-etc.c: New file.
41998         * tests/test-version-etc.sh: Likewise.
41999
42000 2009-06-25  Sam Steingold  <sds@gnu.org>
42001
42002         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
42003         mbtowc declaration.
42004
42005 2009-06-25  Eric Blake  <ebb9@byu.net>
42006
42007         fpurge: migrate into <stdio.h>
42008         * lib/fpurge.h: Delete...
42009         * lib/stdio.in.h (fpurge): ...and declare here, instead.
42010         * lib/fpurge.c (fpurge): Change declaring header.
42011         * modules/fpurge (Files): Drop deleted file.
42012         (Depends-on): Add stdio.
42013         (configure.ac): Set witness.
42014         * modules/stdio (Makefile.am): Support fpurge macros.
42015         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
42016         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
42017         * lib/fflush.c: Update client.
42018         * tests/test-fpurge.c: Likewise.
42019         * NEWS: Mention the change.
42020
42021 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
42022
42023         * lib/argp-version-etc.c (program_authors): Add const
42024         qualifier.
42025         * lib/version-etc.c: Fix typos in the comments.
42026         * modules/argp-version-etc: Depends on version-etc.
42027
42028 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
42029
42030         argp-version-etc: new module.
42031
42032         * lib/argp-version-etc.c: New file.
42033         * lib/argp-version-etc.h: New file.
42034         * modules/argp-version-etc: New file.
42035         * modules/argp-version-etc-tests: New file.
42036         * tests/test-argp-version-etc.c: New test.
42037         * tests/test-argp-version-etc-1.sh: New test.
42038
42039 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
42040
42041         Provide additional interfaces and documentation for version-etc
42042         module.
42043
42044         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
42045         interfaces.
42046         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
42047         prototypes.
42048
42049 2009-06-24  Bruno Haible  <bruno@clisp.org>
42050
42051         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
42052         HAVE_LIB${NAME} macro.
42053         Reported by Sam Steingold <sds@gnu.org>.
42054
42055 2009-06-23  Simon Josefsson  <simon@josefsson.org>
42056
42057         * modules/hash-tests (test_hash_LDADD): Link to libintl when
42058         needed.
42059
42060 2009-06-21  Bruno Haible  <bruno@clisp.org>
42061
42062         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
42063         work.
42064         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
42065         together with LIB${NAME}, LTLIB${NAME}.
42066         Reported by Sam Steingold <sds@gnu.org>.
42067
42068 2009-06-20  Jim Meyering  <meyering@redhat.com>
42069
42070         tests: make sc_require_test_exit_idiom more generic
42071         * top/maint.mk (Exit_witness_file): New overridable variable.
42072         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
42073         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
42074
42075 2009-06-19  Jim Meyering  <meyering@redhat.com>
42076
42077         hash: reverse order of src/dst parameters in an internal interface
42078         * lib/hash.c (transfer_entries): Reverse order of parameters to
42079         put DST before SRC.  Adjust callers.
42080
42081         tests: test-hash: avoid wholesale duplication
42082         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
42083         Instead, use a loop and add a single conditional.
42084
42085         tests: test-hash: allow seed selection via a command line argument
42086         * tests/test-hash.c (get_seed): New function.
42087         (main): Use it.
42088
42089 2009-06-19  Eric Blake  <ebb9@byu.net>
42090
42091         hash: avoid memory leak on allocation failure
42092         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
42093         failure.  Factor repeated algorithm...
42094         (transfer_entries): ...into new helper routine.
42095         (hash_delete): React to hash_rehash return value.
42096
42097         hash: reduce memory pressure in hash_rehash no-op case
42098         * lib/hash.c (next_prime): Avoid overflow.
42099         (hash_initialize): Factor bucket size computation...
42100         (compute_bucket_size): ...into new helper function.
42101         (hash_rehash): Use new function and open coding to reduce memory
42102         pressure, and avoid a memory leak in USE_OBSTACK code.
42103         Reported by Jim Meyering.
42104
42105 2009-06-18  Eric Blake  <ebb9@byu.net>
42106
42107         hash: make rotation more obvious
42108         * modules/hash (Depends-on): Add bitrotate and stdint.
42109         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
42110         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
42111         (SIZE_MAX): Rely on headers for definition.
42112         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
42113         (raw_hasher): Use rotr_sz.
42114         Suggested by Jim Meyering.
42115
42116         hash: fix memory leak in last patch
42117         * lib/hash.c (hash_rehash): Avoid memory leak.
42118
42119         hash: avoid no-op rehashing
42120         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
42121
42122         hash: provide default callback functions
42123         * lib/hash.c (raw_hasher, raw_comparator): New functions.
42124         (hash_initialize): Use them as defaults.
42125         * tests/test-hash.c (main): Test this.
42126
42127         hash: minor optimization
42128         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
42129         when possible.
42130         (hash_initialize): Document this promise.
42131         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
42132         * tests/test-hash.c (hash_compare_strings): Test this.
42133
42134 2009-06-18  Bruno Haible  <bruno@clisp.org>
42135
42136         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
42137         going to be replaced anyway.
42138
42139 2009-06-18  Bruno Haible  <bruno@clisp.org>
42140
42141         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
42142         in one place.
42143         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
42144         be replaced anyway.
42145
42146 2009-06-18  Eric Blake  <ebb9@byu.net>
42147
42148         hash: check for resize before insertion
42149         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
42150         threshold before insertion, so that a pathological hash_rehash
42151         that fills every bucket can still trigger another rehash.
42152
42153 2009-06-18  Jim Meyering  <meyering@redhat.com>
42154
42155         hash-tests: add a loop around the small tests
42156         * tests/test-hash.c (main): Repeat small tests with selected
42157         small initial table sizes.
42158
42159 2009-06-17  Eric Blake  <ebb9@byu.net>
42160
42161         hash: minor cleanups
42162         * lib/hash.h (hash_entry): Make opaque, by moving...
42163         * lib/hash.c (hash_entry): ...here.
42164         (hash_insert): Clarify restrictions on what can be inserted.
42165         (hash_get_next): Clarify when it is safe to remove an element
42166         during traversal.
42167         (check_tuning): Skip verification when tuning is known safe.
42168         (hash_initialize): Clarify restrictions on tuning.
42169
42170 2009-06-17  Jim Meyering  <jim@meyering.net>
42171         and Eric Blake  <ebb9@byu.net>
42172
42173         hash-tests: new module
42174         * modules/hash-tests: New file.
42175         * tests/test-hash.c: New file.
42176
42177 2009-06-17  Eric Blake  <ebb9@byu.net>
42178
42179         strstr-simple: document new module
42180         * MODULES.html.sh: Document new module.
42181
42182         strstr, strcasestr: replace on platforms with broken memchr
42183         * modules/strstr: Split into...
42184         * modules/strstr-simple: ...new module that does not care about
42185         performance, but does care about glibc bug.
42186         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
42187         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
42188         if platform memchr is broken, per Debian bug 521737.
42189         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
42190         memchr.
42191         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
42192         * doc/posix-functions/strstr.texi (strstr): Document the fix.
42193         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
42194         * modules/mountlist (Depends-on): Add strstr-simple.
42195         * modules/gen-uni-tables (Depends-on): Likewise.
42196         * modules/argz (Depends-on): Add strstr.
42197
42198 2009-06-17  Bruno Haible  <bruno@clisp.org>
42199
42200         * modules/posix_spawn-internal (Depends-on): Add errno.
42201
42202 2009-06-17  Bruno Haible  <bruno@clisp.org>
42203
42204         Define missing ESTALE on Interix 3.5.
42205         * lib/errno.in.h (ESTALE): Assign a value if missing.
42206         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
42207         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
42208         missing.
42209         * doc/posix-headers/errno.texi: Mention the Interix bug.
42210         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
42211
42212 2009-06-15  Eric Blake  <ebb9@byu.net>
42213
42214         memchr, memchr2: add valgrind exception
42215         * lib/memchr.valgrind: New file.
42216         * lib/memchr2.valgrind: New file.
42217         * modules/memchr (Files): Distribute valgrind file.
42218         * modules/memchr2 (Files): Likewise.
42219
42220         docs: memchr is no longer obsolete
42221         * MODULES.html.sh: Move memchr from obsolete to string.h section.
42222         * lib/string.in.h (memchr): Simplify logic.
42223
42224 2009-06-14  Jim Meyering  <meyering@redhat.com>
42225
42226         link-follow: fix the "checking..." message to not mention trailing slash
42227         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
42228         never considered trailing slashes.
42229
42230 2009-06-14  Bruno Haible  <bruno@clisp.org>
42231
42232         * m4/memchr.m4: Mention also the bug on IA-64.
42233         * doc/posix-functions/memchr.texi: Likewise.
42234
42235 2009-06-12  Eric Blake  <ebb9@byu.net>
42236
42237         memchr: detect broken x86_64 and alpha implementations
42238         * modules/memchr-tests (Depends-on): Move mmap detection...
42239         * modules/memchr (Depends-on): ...here.
42240         (configure.ac): Set indicator.
42241         * lib/string.in.h (memchr): Declare replacement.
42242         * modules/string (Makefile.am): Trigger replacement.
42243         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
42244         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
42245         bugs.
42246         * doc/posix-functions/memchr.texi (memchr): Document the bug.
42247         * modules/getpagesize (License): Relax license.
42248
42249 2009-06-11  Bruno Haible  <bruno@clisp.org>
42250
42251         * lib/idpriv.h: Add more references.
42252
42253 2009-06-08  Bruno Haible  <bruno@clisp.org>
42254
42255         Tests for module 'idpriv-droptemp'.
42256         * modules/idpriv-droptemp-tests: New file.
42257         * tests/test-idpriv-droptemp.sh: New file.
42258         * tests/test-idpriv-droptemp.su.sh: New file.
42259         * tests/test-idpriv-droptemp.c: New file.
42260
42261         New module 'idpriv-droptemp'.
42262         * lib/idpriv-droptemp.c: New file.
42263         * modules/idpriv-droptemp: New file.
42264
42265 2009-06-08  Bruno Haible  <bruno@clisp.org>
42266
42267         Tests for module 'idpriv-drop'.
42268         * modules/idpriv-drop-tests: New file.
42269         * tests/test-idpriv-drop.sh: New file.
42270         * tests/test-idpriv-drop.su.sh: New file.
42271         * tests/test-idpriv-drop.c: New file.
42272
42273         New module 'idpriv-drop'.
42274         * lib/idpriv.h: New file.
42275         * lib-idpriv-drop.c: New file.
42276         * m4/idpriv.m4: New file.
42277         * modules/idpriv-drop: New file.
42278
42279 2009-06-08  Bruno Haible  <bruno@clisp.org>
42280
42281         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
42282         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
42283         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
42284         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
42285         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
42286         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
42287         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
42288
42289 2009-06-08  Eric Blake  <ebb9@byu.net>
42290
42291         test-strstr: use memory fence, when possible
42292         * tests/test-strstr.c (main): Use memory fence, in order to be
42293         more likely to trigger Debian bug 521737.
42294         * modules/strstr-tests (Files): Pull in additional files.
42295
42296         memchr: no longer obsolete, for wider field testing
42297         * modules/memchr (Status, Notice): Delete, this module is no
42298         longer obsolete.
42299         * modules/vasnprintf (Depends-on): Add memchr.
42300
42301 2009-06-07  Jim Meyering  <meyering@redhat.com>
42302
42303         hash: declare some functions with the warn_unused_result attribute
42304         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
42305
42306 2009-06-07  Bruno Haible  <bruno@clisp.org>
42307
42308         * tests/test-alignof.c: Don't test int64_t if it does not exist.
42309         Reported by Eric Blake.
42310
42311 2009-06-06  Eric Blake  <ebb9@byu.net>
42312
42313         test-alignof: fix typo with long double
42314         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
42315         compiler error.
42316
42317 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
42318
42319         Escape non-texinfo { and }s.
42320         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
42321         markup error.
42322
42323 2009-06-04  Jim Meyering  <meyering@redhat.com>
42324
42325         gitlog-to-changelog: don't infloop on an empty commit log
42326         * build-aux/gitlog-to-changelog: Warn about an empty log message.
42327         Reported by Boris Petersen <transacid@centerim.org>.
42328
42329 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
42330
42331         version-etc: extend for packagers
42332         Add three new configure options, intended for packagers:
42333           --with-packager="packager name"
42334           --with-packager-version="packager-specific version"
42335           --with-packager-bug-reports="packager bug reporting"
42336         An example with coreutils:
42337           $ ./configure \
42338             --with-packager=Gentoo \
42339             --with-packager-bug-report=http://bugs.gentoo.org/ \
42340             --with-packager-version="patchset 1.6"
42341           $ ./src/ls --version | head -n2
42342           ls (GNU coreutils) 7.1-dirty
42343           Packaged by Gentoo (patchset 1.6)
42344         Note that the bug reporting info via --help doesn't show up because
42345         coreutils uses its own custom emit_bug_reporting_address() implementation
42346         in src/system.h.  If it didn't, it'd look like:
42347           $ ./src/ls --help | tail -n4
42348           Report bugs to <bug-coreutils@gnu.org>.
42349           Report Gentoo bugs to <http://bugs.gentoo.org/>.
42350           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
42351           General help using GNU software: <http://www.gnu.org/gethelp/>.
42352         * lib/version-etc.c: Print new information, if provided.
42353         * m4/version-etc.m4: New file.
42354         * modules/version-etc (Files): Add m4/version-etc.m4.
42355         (configure.ac): Add gl_VERSION_ETC.
42356
42357 2009-05-31  Bruno Haible  <bruno@clisp.org>
42358
42359         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
42360         and 'int64_t'.
42361         * modules/alignof-tests (Dependencies): Add stdint.
42362         Reported by Eric Blake.
42363
42364 2009-05-31  Bruno Haible  <bruno@clisp.org>
42365
42366         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
42367         restriction due to compiler bugs.
42368         Reported by Eric Blake.
42369
42370 2009-05-31  Simon Josefsson  <simon@josefsson.org>
42371             Bruno Haible  <bruno@clisp.org>
42372
42373         Fix test-alignof failure.
42374         * lib/alignof.h (alignof_slot): New macro.
42375         (alignof_type): New macro, with the same semantics as the previous
42376         'alignof'.
42377         (alignof): Alias to alignof_slot.
42378         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
42379         check that the results are usable as constant expressions.
42380
42381 2009-05-31  Bruno Haible  <bruno@clisp.org>
42382
42383         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
42384         * tests/test-memchr.c (main): Check that memchr does not read past the
42385         first occurrence of the byte.
42386         * tests/test-strstr.c (main): Update comment.
42387         Suggested by Eric Blake.
42388
42389 2009-05-30  Bruno Haible  <bruno@clisp.org>
42390
42391         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
42392         detail how to use dumpbin.
42393         Reported by David Byron <dbyron@dbyron.com>.
42394
42395 2009-06-02  Simon Josefsson  <simon@josefsson.org>
42396
42397         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
42398
42399 2009-06-02  Simon Josefsson  <simon@josefsson.org>
42400
42401         * m4/manywarnings.m4: Add GCC 4.4 warnings.
42402
42403 2009-05-28  Bruno Haible  <bruno@clisp.org>
42404
42405         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
42406         build-aux/ files.
42407
42408 2009-05-28  Simon Josefsson  <simon@josefsson.org>
42409
42410         * gnulib-tool (func_import): Transform license on build-aux/ files too.
42411
42412 2009-05-27  Simon Josefsson  <simon@josefsson.org>
42413
42414         * gnulib-tool (sed_transform_main_lib_file)
42415         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
42416         regexps.
42417
42418 2009-05-26  Simon Josefsson  <simon@josefsson.org>
42419
42420         * tests/test-strstr.c: Add another self-test.
42421         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
42422         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
42423
42424 2009-05-23  Bruno Haible  <bruno@clisp.org>
42425
42426         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
42427         change.
42428
42429 2009-05-21  Bruno Haible  <bruno@clisp.org>
42430
42431         Simplify use of mode_t varargs.
42432         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
42433         uses 'mode_t' or 'int'.
42434         * lib/openat.c (openat): Likewise.
42435         * lib/open-safer.c (open_safer): Likewise.
42436         * m4/mode_t.m4: New file.
42437         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
42438         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
42439         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
42440         * modules/open (Files): Add m4/mode_t.m4.
42441         * modules/openat (Files): Likewise.
42442         * modules/fcntl-safer (Files): Likewise.
42443         Suggested by Eric Blake.
42444
42445 2009-05-21  Pádraig Brady  <P@draigbrady.com>
42446
42447         * doc/glibc-functions/fallocate.texi: New file.
42448         * doc/gnulib.texi: Include it.
42449
42450 2009-05-21  Eric Blake  <ebb9@byu.net>
42451             Bruno Haible  <bruno@clisp.org>
42452
42453         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
42454         invocations.
42455         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
42456
42457 2009-05-21  Eric Blake  <ebb9@byu.net>
42458             Bruno Haible  <bruno@clisp.org>
42459
42460         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
42461         include_next. Fix of 2008-11-20 commit.
42462         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
42463         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
42464         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
42465         NEXT_MATH_H.
42466         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
42467         instead of NEXT_MATH_H.
42468
42469 2009-05-21  Bruno Haible  <bruno@clisp.org>
42470
42471         Avoid redefinition warnings for SIZE_MAX.
42472         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
42473         Reported by Simon Josefsson.
42474
42475 2009-05-21  Bruno Haible  <bruno@clisp.org>
42476
42477         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
42478         AC_CACHE_VAL.
42479
42480 2009-05-20  Bruno Haible  <bruno@clisp.org>
42481
42482         Make zeroptr.h work on mingw.
42483         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
42484         mprotect.
42485         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
42486         * modules/memchr2-tests (configure.ac): Likewise.
42487         * modules/memcmp-tests (configure.ac): Likewise.
42488         * modules/memmem-tests (configure.ac): Likewise.
42489         * modules/memrchr-tests (configure.ac): Likewise.
42490         Reported by Simon Josefsson.
42491
42492 2009-05-20  Simon Josefsson  <simon@josefsson.org>
42493
42494         * tests/test-glob.c: Include string.h for strcmp prototype.
42495
42496 2009-05-20  Simon Josefsson  <simon@josefsson.org>
42497
42498         * modules/getdelim (Depends-on): Add explicit stdint, although it
42499         was implicitly already pulled in via realloc-posix.
42500         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
42501
42502 2009-05-20  Simon Josefsson  <simon@josefsson.org>
42503
42504         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
42505         G. Christensen" <tgc@jupiterrise.com>.
42506         * m4/sys_socket_h.m4: Check for sa_family_t.
42507         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
42508         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
42509         * tests/test-sys_socket.c: Check that sa_family_t works.
42510
42511 2009-05-18  Eric Blake  <ebb9@byu.net>
42512
42513         maint.mk: allow gnulib_dir in VPATH build
42514         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
42515
42516 2009-05-15  Jim Meyering  <meyering@redhat.com>
42517
42518         maint.mk: Give gnulib_dir a default definition.
42519         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
42520         Thus, most packages no longer need to specify this variable in cfg.mk
42521
42522 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
42523
42524         rename.m4: fix typos that would make non-mingw cross-configure fail
42525         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
42526
42527 2009-05-13  Eric Blake  <ebb9@byu.net>
42528
42529         mmap-anon: avoid out-of-order autoconf expansion
42530         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
42531         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
42532         * modules/memchr-tests (Depends-on): Add extensions.
42533         * modules/memchr2-tests (Depends-on): Add extensions.
42534         * modules/memcmp-tests (Depends-on): Add extensions.
42535         * modules/memmem-tests (Depends-on): Add extensions.
42536         * modules/memrchr-tests (Depends-on): Add extensions.
42537
42538 2009-05-13  Bruno Haible  <bruno@clisp.org>
42539
42540         Make some tests ISO C 99 compliant.
42541         * tests/zerosize-ptr.h: New file.
42542         * tests/test-memchr.c: Include zerosize-ptr.h.
42543         (main): Use a zero-size object pointer instead of NULL.
42544         * tests/test-memchr2.c: Include zerosize-ptr.h.
42545         (main): Use a zero-size object pointer instead of NULL.
42546         * tests/test-memcmp.c: Include zerosize-ptr.h.
42547         (main): Use a zero-size object pointer instead of NULL.
42548         * tests/test-memmem.c: Include zerosize-ptr.h.
42549         (main): Use a zero-size object pointer instead of NULL.
42550         * tests/test-memrchr.c: Include zerosize-ptr.h.
42551         (main): Use a zero-size object pointer instead of NULL.
42552         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
42553         m4/mmap-anon.m4.
42554         (Depends-on): Add getpagesize.
42555         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
42556         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
42557         m4/mmap-anon.m4.
42558         (Depends-on): Add getpagesize.
42559         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
42560         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
42561         m4/mmap-anon.m4.
42562         (Depends-on): Add getpagesize.
42563         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
42564         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
42565         m4/mmap-anon.m4.
42566         (Depends-on): Add getpagesize.
42567         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
42568         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
42569         m4/mmap-anon.m4.
42570         (Depends-on): Add getpagesize.
42571         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
42572
42573 2009-05-12  Bruno Haible  <bruno@clisp.org>
42574
42575         Tests for module 'alignof'.
42576         * modules/alignof-tests: New file.
42577         * tests/test-alignof.c: New file.
42578
42579 2009-05-12  Bruno Haible  <bruno@clisp.org>
42580
42581         Fix alignof macro.
42582         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
42583         vendor compilers that are always correct.
42584
42585 2009-05-12  Bruno Haible  <bruno@clisp.org>
42586
42587         Make the MAP_ANONYMOUS detection work on HP-UX 11.
42588         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
42589         not whether its fully works.
42590
42591 2009-05-12  Bruno Haible  <bruno@clisp.org>
42592
42593         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
42594
42595 2009-05-12  Jim Meyering  <meyering@redhat.com>
42596
42597         * top/maint.mk: Adjust backslash alignment.
42598
42599 2009-05-11  Simon Josefsson  <simon@josefsson.org>
42600
42601         * top/maint.mk: Make $(srcdir)/build-aux configurable.
42602
42603 2009-05-11  Eric Blake  <ebb9@byu.net>
42604
42605         argp: avoid undefined behavior
42606         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
42607         macros.
42608
42609 2009-05-08  Simon Josefsson  <simon@josefsson.org>
42610
42611         * tests/test-vc-list-files-git.sh: Do git config of user.email and
42612         user.name to prevent git commit from complaining.
42613
42614 2009-05-10  Bruno Haible  <bruno@clisp.org>
42615
42616         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
42617         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
42618         it rewrites every file name only once.
42619         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
42620
42621 2009-05-08  Bruno Haible  <bruno@clisp.org>
42622
42623         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
42624         instead of 'max'.
42625
42626 2009-05-08  Simon Josefsson  <simon@josefsson.org>
42627
42628         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
42629         sockaddr_storage test.
42630
42631 2009-05-07  Simon Josefsson  <simon@josefsson.org>
42632
42633         * modules/sys_socket (Makefile.am): Substitute
42634         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
42635         * m4/sys_socket_h.m4: Check for sockaddr_storage.
42636         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
42637         * tests/test-sys_socket.c: Check sockaddr_storage.
42638
42639 2009-05-08  Bruno Haible  <bruno@clisp.org>
42640
42641         New module 'alignof'.
42642         * lib/alignof.h: New file.
42643         * modules/alignof: New file.
42644
42645 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
42646             Bruno Haible  <bruno@clisp.org>
42647
42648         Fix test-file-has-acl on FreeBSD.
42649         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
42650         mask is implicitly added.
42651         * tests/test-file-has-acl.c: Include <signal.h>.
42652         (main): Terminate the test after 5 seconds.
42653         * modules/acl-tests (configure.ac): Check for alarm function.
42654
42655 2009-05-04  Bruno Haible  <bruno@clisp.org>
42656
42657         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
42658         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
42659         * modules/errno (configure.ac): Drop AC_REQUIRE.
42660         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
42661         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
42662
42663 2009-05-04  Simon Josefsson  <simon@josefsson.org>
42664
42665         * modules/glob-tests: New module.
42666         * tests/test-glob.c: Add.
42667
42668 2009-05-04  Simon Josefsson  <simon@josefsson.org>
42669
42670         * modules/fnmatch-tests: New module.
42671         * tests/test-fnmatch.c: Add.
42672
42673 2009-05-04  Eric Blake  <ebb9@byu.net>
42674
42675         maint: make the new no-submodule-changes rule VPATH-safe
42676         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
42677
42678 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
42679             Bruno Haible  <bruno@clisp.org>
42680
42681         acl: Fix infinite loop on FreeBSD.
42682         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
42683         of return value from acl_get_entry.
42684         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
42685         Likewise.
42686
42687 2009-05-03  Bruno Haible  <bruno@clisp.org>
42688
42689         * lib/acl-internal.h (acl_entries): Clarify return value.
42690         * lib/acl_entries.c (acl_entries): Likewise.
42691
42692 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
42693
42694         Bug fix in acl module.
42695         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
42696
42697 2009-05-03  Bruno Haible  <bruno@clisp.org>
42698
42699         Create gperf-generated file in the source dir, not in the build dir.
42700         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
42701         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
42702         * modules/unicase/locale-language (unicase/locale-languages.h):
42703         Likewise.
42704         * modules/unicase/special-casing (unicase/special-casing-table.h):
42705         Likewise.
42706         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
42707         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
42708         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
42709         Reported by Ralf Wildenhues.
42710
42711 2009-05-03  Bruno Haible  <bruno@clisp.org>
42712
42713         * modules/fnmatch (Description, configure.ac): Taken from
42714         fnmatch-posix.
42715         * modules/fnmatch-posix: Turn into a symbolic reference to the
42716         'fnmatch' module, and deprecate.
42717         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
42718
42719 2009-05-03  Bruno Haible  <bruno@clisp.org>
42720
42721         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
42722         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
42723         Reported by Ralf Wildenhues.
42724
42725 2009-05-04  Simon Josefsson  <simon@josefsson.org>
42726
42727         * m4/fnmatch.m4: Fix fnmatch re-define.
42728
42729 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
42730
42731         priv-set: new module and tests; adapt write-any-file
42732         * lib/priv-set.c: New file.
42733         * lib/priv-set.h: New file.
42734         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
42735         * lib/write-any-file.c: Simplify by using priv-set module.
42736         * m4/priv-set.m4: New file.
42737         * modules/priv-set: New file.
42738         * modules/unlinkdir: Add dependency on priv-set module.
42739         * modules/write-any-file: Likewise.
42740
42741         Tests for module 'priv-set'.
42742         * modules/priv-set-tests: New file.
42743         * tests/test-priv-set.c: New file.
42744
42745 2009-05-03  Jim Meyering  <meyering@redhat.com>
42746             Bruno Haible  <bruno@clisp.org>
42747
42748         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
42749         use the converted UTF-8 variant of the name instead.
42750
42751 2009-05-03  Jim Meyering  <meyering@redhat.com>
42752
42753         tests: tighten some getdate tests
42754         * tests/test-getdate.c (main): Tighten tests: require equality,
42755         not just greater than.  Set TZ envvar to UTC0.
42756
42757 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
42758
42759         getdate: correctly interpret "next monday" when run on a Monday
42760         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
42761         that e.g., "next tues" (when run on a tuesday) results in a date
42762         that is one week in the future, and not today's date.
42763         I.e., add a week when the wday is the same as the current one.
42764         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
42765         and earlier by Martin Bernreuther and Jan Minář.
42766         * tests/test-getdate.c (main): Check that "next DAY" is always in
42767         the future and that "last DAY" is always in the past.
42768
42769 2009-05-02  Jim Meyering  <meyering@redhat.com>
42770
42771         build: ensure that a release build fails when a submodule is unclean
42772         * top/maint.mk (no-submodule-changes): New rule.
42773         (alpha beta major): Depend on it.
42774
42775 2009-05-02  Bruno Haible  <bruno@clisp.org>
42776
42777         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
42778         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
42779         shell variable gl_fnmatch_required to detect which variant is
42780         requested.
42781         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
42782         gl_FUNC_FNMATCH_POSIX.
42783         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
42784         exclude fnmatch-posix.
42785
42786 2009-05-02  Bruno Haible  <bruno@clisp.org>
42787
42788         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
42789         * modules/mbsrtowcs (License): Change to LGPLv2+.
42790         * modules/strnlen1 (License): Likewise.
42791         Reported by Simon Josefsson.
42792
42793 2009-05-02  Bruno Haible  <bruno@clisp.org>
42794
42795         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
42796         "cross".
42797         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
42798         gnulib-tool was called with option --source-base=lib.
42799
42800 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42801
42802         Use automake *-local hooks without commands, for extensibility.
42803         * modules/localcharset (Makefile.am): Rename install-exec-local
42804         rule to install-exec-localcharset, and make it a prerequisite of
42805         install-exec-local.  Likewise, rename the uninstall-local rule to
42806         uninstall-localcharset, and make it a prerequisite of the former.
42807
42808 2009-05-01  Bruno Haible  <bruno@clisp.org>
42809
42810         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
42811         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
42812         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
42813         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
42814         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
42815         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
42816         m4/locale-zh.m4, m4/codeset.m4.
42817
42818         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
42819         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
42820         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
42821         m4/locale-zh.m4.
42822
42823         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
42824         REPLACE_WCRTOMB if mbstate_t must be replaced.
42825         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
42826         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
42827
42828 2009-05-01  Bruno Haible  <bruno@clisp.org>
42829
42830         Avoid compiler warnings when redefining macros defined by <libintl.h>.
42831         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
42832         dngettext, dcngettext, textdomain, bindtextdomain,
42833         bind_textdomain_codeset): Undefine before redefining.
42834
42835 2009-04-30  Bruno Haible  <bruno@clisp.org>
42836
42837         Fix bug introduced on 2009-04-25.
42838         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
42839         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
42840         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
42841         is defined.
42842         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
42843         is defined.
42844         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
42845         is defined.
42846         Reported by Elbert_Pol <elbert.pol@gmail.com>.
42847
42848 2009-04-28  Bruno Haible  <bruno@clisp.org>
42849
42850         Comment tweaks.
42851         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
42852         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
42853         * lib/unicase.h (u*_casexfrm): Likewise.
42854         Reported by Paolo Bonzini.
42855
42856 2009-04-28  Bruno Haible  <bruno@clisp.org>
42857
42858         Fix a compilation error.
42859         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
42860         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
42861         Reported by Jim Meyering.
42862
42863 2009-04-27  Bruno Haible  <bruno@clisp.org>
42864
42865         New module 'libunistring'.
42866         * modules/libunistring: New file.
42867         * m4/libunistring.m4: New file.
42868         * MODULES.html.sh (Unicode string functions): Add it.
42869
42870 2009-04-27  Eric Blake  <ebb9@byu.net>
42871
42872         maint.mk: allow package-specific header to provide <config.h>
42873         * top/maint.mk (sc_require_config_h): New variable.
42874         (sc_require_config_h, sc_require_config_h_first): Use it.
42875
42876 2009-04-27  Simon Josefsson  <simon@josefsson.org>
42877
42878         * top/maint.mk (sc_avoid_if_before_free): Except
42879         useless-if-before-free script.
42880
42881 2009-04-27  Eric Blake  <ebb9@byu.net>
42882
42883         maintainer-makefile: depend on all required helper scripts
42884         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
42885         useless-if-before-free.
42886         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
42887         version, rather than assuming gnulib checkout is available.
42888         Reported by Simen Josefsson.
42889
42890 2009-04-26  Bruno Haible  <bruno@clisp.org>
42891
42892         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
42893         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
42894         "../" or "..".
42895
42896 2009-04-26  Bruno Haible  <bruno@clisp.org>
42897
42898         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
42899         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
42900         AC_LIB_HAVE_LINKFLAGS.
42901
42902 2009-04-26  Bruno Haible  <bruno@clisp.org>
42903
42904         Simplify calling convention of u*_conv_from_encoding.
42905         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
42906         u32_conv_from_encoding): Expect a resultbuf argument and return the
42907         result directly as a pointer.
42908         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
42909         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
42910         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
42911         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
42912         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
42913         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
42914         Update.
42915         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
42916         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
42917         * lib/vasnprintf.c (VASNPRINTF): Update.
42918         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
42919         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
42920         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
42921         * NEWS: Mention the change.
42922
42923 2009-04-26  Bruno Haible  <bruno@clisp.org>
42924
42925         Simplify calling convention of u*_conv_to_encoding.
42926         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
42927         u32_conv_to_encoding): Expect a resultbuf argument and return the
42928         result directly as a pointer.
42929         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
42930         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
42931         freeing scaled_offsets if mem_iconveha failed.
42932         * lib/unicase/u-casexfrm.h (FUNC): Update.
42933         * lib/uninorm/u-normxfrm.h (FUNC): Update.
42934         * lib/vasnprintf.c (VASNPRINTF): Update.
42935         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
42936         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
42937         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
42938         * NEWS: Mention the change.
42939
42940 2009-04-26  Bruno Haible  <bruno@clisp.org>
42941
42942         Avoid test failures on AIX and OSF/1.
42943         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
42944         malloc(0).
42945         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
42946         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
42947         Likewise.
42948         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
42949         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
42950         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
42951         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
42952         * doc/posix-functions/malloc.texi: Document the portability problem
42953         related to malloc(0).
42954
42955 2009-04-26  Bruno Haible  <bruno@clisp.org>
42956
42957         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
42958         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
42959         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
42960
42961 2009-04-25  Bruno Haible  <bruno@clisp.org>
42962
42963         Avoid link error when creating a namespace clean library.
42964         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
42965         as macro with arguments if already defined as an alias.
42966         * lib/signbitf.c (gl_signbitf): Don't undefine.
42967         * lib/signbitd.c (gl_signbitd): Don't undefine.
42968         * lib/signbitl.c (gl_signbitl): Don't undefine.
42969
42970 2009-04-25  Jim Meyering  <meyering@redhat.com>
42971
42972         vc-list-files: fix another quoting bug
42973         * build-aux/vc-list-files: Avoid sed backslash expansion
42974         of pathological directory names.
42975
42976 2009-04-25  Eric Blake  <ebb9@byu.net>
42977
42978         vc-list-files: fix shell quoting error
42979         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
42980         timestamp.
42981
42982 2009-04-25  Jim Meyering  <meyering@redhat.com>
42983
42984         vc-list-files: restore lost functionality with subdir argument
42985         * build-aux/vc-list-files: When given a non-"." sub-directory
42986         argument, substitute the $dir/ prefix back onto each resulting name.
42987         Otherwise, coreutils' root_tests check would fail.
42988
42989 2009-04-24  Eric Blake  <ebb9@byu.net>
42990
42991         vc-list-files: ignore git symlinks
42992         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
42993         than ls-files, to ignore git symlinks.
42994
42995         maint.mk: import improvements from m4
42996         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
42997         (move_if_change): Delete unused macro.
42998         (news-date-check, vc-diff-check): Support VPATH builds.
42999         (announcement): Likewise.  Split --bootstrap-tools list...
43000         (boostrap-tools): ...into separate list, which can be overridden
43001         in cfg.mk.
43002         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
43003         requiring dependency on useless-if-before-free module.
43004         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
43005         Support VPATH builds.
43006
43007 2009-04-24  Jim Meyering  <meyering@redhat.com>
43008
43009         maint.mk: remove coreutils-specific rules and variables
43010         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
43011         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
43012         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
43013
43014         maint.mk: remove obsolete rule
43015         * top/maint.mk (rel-check): Remove rule.
43016         (WGET, WGETFLAGS): Remove now-unused variables.
43017
43018 2009-04-24  Simon Josefsson  <simon@josefsson.org>
43019
43020         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
43021         consistency.
43022
43023         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
43024         '$(PATH_SEPARATOR)' instead of ':'.
43025
43026 2009-04-24  Simon Josefsson  <simon@josefsson.org>
43027
43028         * lib/getopt1.c (main): Use 'const' for static array.
43029
43030 2009-04-24  Simon Josefsson  <simon@josefsson.org>
43031
43032         * top/maint.mk: Sync with coreutils.
43033         * NEWS: Explain incompatibilities.
43034
43035 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
43036             Bruno Haible  <bruno@clisp.org>
43037
43038         Fix cross-compilation results.
43039         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
43040         statement, as third argument of AC_TRY_RUN.
43041         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
43042         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
43043         Likewise.
43044         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
43045         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
43046         Likewise.
43047         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
43048         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
43049         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
43050
43051 2009-04-20  Bruno Haible  <bruno@clisp.org>
43052
43053         Avoid test failure on mingw.
43054         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
43055
43056 2009-04-20  Bruno Haible  <bruno@clisp.org>
43057
43058         Avoid compilation error on mingw.
43059         * modules/localename-tests (Depends-on): Add locale.
43060
43061 2009-04-19  Bruno Haible  <bruno@clisp.org>
43062
43063         Support for building a shared library on Windows platforms.
43064         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
43065         (main): Test the presence of UNINORM_NFC here.
43066         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
43067         (main): Test the presence of UNINORM_NFD here.
43068         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
43069         (main): Test the presence of UNINORM_NFKC here.
43070         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
43071         (main): Test the presence of UNINORM_NFKD here.
43072
43073 2009-04-19  Bruno Haible  <bruno@clisp.org>
43074
43075         Avoid a compiler warning.
43076         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
43077         Change type of variable 'sequence'.
43078
43079 2009-04-19  Bruno Haible  <bruno@clisp.org>
43080
43081         * modules/configmake (Makefile.am): When the contents of configmake.h
43082         does not change, arrange to preserve its modification time.
43083
43084 2009-04-17  Simon Josefsson  <simon@josefsson.org>
43085
43086         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
43087         gettext domain.
43088
43089 2009-04-16  Jim Meyering  <meyering@redhat.com>
43090
43091         useless-if-before-free: improve conversion code
43092         * build-aux/useless-if-before-free: Adjust code-in-comment to match
43093         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
43094
43095 2009-04-14  Bruno Haible  <bruno@clisp.org>
43096
43097         * modules/fcntl (Depends-on): Add extensions.
43098         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
43099
43100 2009-04-12  Ben Pfaff  <blp@gnu.org>
43101
43102         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
43103         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
43104
43105 2009-03-20  Ben Pfaff  <blp@gnu.org>
43106
43107         Make rename replace existing destinations on Windows.
43108         * m4/rename.m4: Add test for Mingw.
43109         * lib/rename.c: Add rename replacement that uses MoveFileEx with
43110         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
43111         * doc/posix-functions/rename.texi: Document.
43112
43113 2009-04-10  Bruno Haible  <bruno@clisp.org>
43114
43115         New include file "iconveh.h".
43116         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
43117         * lib/striconveh.h: Include it.
43118         (enum iconv_ilseq_handler): Remove definition.
43119         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
43120         striconveh.h.
43121         * lib/striconveha.c: Include striconveh.h.
43122         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
43123         * modules/striconveh (Files): Add lib/iconveh.h.
43124         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
43125         lib/striconveh.h.
43126
43127 2009-04-10  Bruno Haible  <bruno@clisp.org>
43128
43129         * lib/uniconv.h: Update comment.
43130
43131 2009-04-10  Bruno Haible  <bruno@clisp.org>
43132
43133         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
43134         always.
43135         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
43136         * lib/unistr/u16-mbtouc-aux.c: Likewise.
43137         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
43138         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
43139         "unistring-notinline.h", so that the function gets defined always.
43140         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
43141         * lib/unistr/u8-uctomb.c: Likewise.
43142         * lib/unistr/u16-mbtouc.c: Likewise.
43143         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
43144         * lib/unistr/u16-uctomb.c: Likewise.
43145         * lib/unistr/u32-mbtouc.c: Likewise.
43146         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
43147         * lib/unistr/u32-uctomb.c: Likewise.
43148
43149 2009-04-10  Bruno Haible  <bruno@clisp.org>
43150
43151         Mark 'utime' obsolete.
43152         * modules/utime (Status, Notice): New sections.
43153         Suggested by Jim Meyering.
43154
43155         Fix cross-compile guess for utime test.
43156         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
43157         autoconf.
43158         * doc/posix-functions/utime.texi: Give more precisions.
43159         Reported by Jan <ipif@ymail.com>.
43160
43161 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
43162
43163         filevercmp: correct today's change
43164         * lib/filevercmp.c: Also handle coreutils' test inputs.
43165         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
43166
43167         Fix regression in 'filevercmp' module. Thanks Sven Joachim
43168         for reporting it.
43169         * lib/filevercmp.c: Special handle for "", "." and "..".
43170         * tests/test-filevercmp.c: Enlarge the set suite.
43171
43172 2009-04-07  Jim Meyering  <meyering@redhat.com>
43173
43174         useless-if-before-free: show how to remove braced useless free, too
43175         * build-aux/useless-if-before-free: still only in a comment, though.
43176
43177 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
43178
43179         maint.mk: import changes to syntax-check macros from coreutils
43180         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
43181         Use them in the relevant macros.
43182
43183 2009-04-06  Bruno Haible  <bruno@clisp.org>
43184
43185         Fix unportable use of bit-fields.
43186         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
43187         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
43188         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
43189
43190 2009-04-06  Bruno Haible  <bruno@clisp.org>
43191
43192         Avoid test failures on AIX and OSF/1.
43193         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
43194         that malloc(0) = NULL.
43195         * tests/unicase/test-u8-tolower.c (check): Likewise.
43196         * tests/unicase/test-u8-totitle.c (check): Likewise.
43197         * tests/unicase/test-u8-toupper.c (check): Likewise.
43198         * tests/unicase/test-u16-casefold.c (check): Likewise.
43199         * tests/unicase/test-u16-tolower.c (check): Likewise.
43200         * tests/unicase/test-u16-totitle.c (check): Likewise.
43201         * tests/unicase/test-u16-toupper.c (check): Likewise.
43202         * tests/unicase/test-u32-casefold.c (check): Likewise.
43203         * tests/unicase/test-u32-tolower.c (check): Likewise.
43204         * tests/unicase/test-u32-totitle.c (check): Likewise.
43205         * tests/unicase/test-u32-toupper.c (check): Likewise.
43206         * tests/uninorm/test-u8-nfc.c (check): Likewise.
43207         * tests/uninorm/test-u8-nfd.c (check): Likewise.
43208         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
43209         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
43210         * tests/uninorm/test-u16-nfc.c (check): Likewise.
43211         * tests/uninorm/test-u16-nfd.c (check): Likewise.
43212         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
43213         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
43214         * tests/uninorm/test-u32-nfc.c (check): Likewise.
43215         * tests/uninorm/test-u32-nfd.c (check): Likewise.
43216         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
43217         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
43218
43219 2009-04-05  Bruno Haible  <bruno@clisp.org>
43220
43221         Work around an autoconf limitation.
43222         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
43223         comment line if it would be longer than 3 KB.
43224
43225 2009-04-05  Bruno Haible  <bruno@clisp.org>
43226
43227         Avoid test failure with libiconv-1.13.
43228         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
43229         of the expected test results.
43230
43231 2009-04-05  Bruno Haible  <bruno@clisp.org>
43232
43233         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
43234         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
43235         that it should be installed.
43236
43237 2009-04-05  Bruno Haible  <bruno@clisp.org>
43238
43239         * gnulib-tool: New option --copy-file.
43240         (func_usage): Document it.
43241         (func_dest_tmpfilename): Moved out of func_import.
43242         (func_add_file, func_update_file): New functions, extracted from
43243         func_import.
43244         (func_import): Update.
43245
43246 2009-04-05  Karl Berry  <karl@gnu.org>
43247
43248         * README: prominently mention gnulib-tool.
43249         Rearrange sections so getting the code is near the top.
43250
43251 2009-04-05  Bruno Haible  <bruno@clisp.org>
43252
43253         * lib/unicase.h: Mention u*_cmp2.
43254         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
43255         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
43256         * lib/unicase/ulc-casecmp.c: Likewise.
43257         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
43258         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
43259         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
43260         unistr/u8-cmp.
43261         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
43262         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
43263         unistr/u16-cmp.
43264         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
43265         unistr/u32-cmp.
43266
43267         * lib/uninorm.h: Mention u*_cmp2.
43268         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
43269         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
43270         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
43271         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
43272         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
43273         unistr/u8-cmp.
43274         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
43275         unistr/u16-cmp.
43276         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
43277         unistr/u32-cmp.
43278
43279         New module 'unistr/u32-cmp2'.
43280         * lib/unistr/u32-cmp2.c: New file.
43281         * modules/unistr/u32-cmp2: New file.
43282
43283         New module 'unistr/u16-cmp2'.
43284         * lib/unistr/u16-cmp2.c: New file.
43285         * modules/unistr/u16-cmp2: New file.
43286
43287         New module 'unistr/u8-cmp2'.
43288         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
43289         * lib/unistr/u8-cmp2.c: New file.
43290         * lib/unistr/u-cmp2.h: New file.
43291         * modules/unistr/u8-cmp2: New file.
43292
43293 2009-04-05  Bruno Haible  <bruno@clisp.org>
43294
43295         * lib/unictype.h (uc_property_is_valid): New macro.
43296         * tests/unictype/test-pr_byname.c (main): Use it.
43297
43298         * lib/unistr.h: Doc fixes.
43299         * lib/uniconv.h: Doc fixes.
43300         * lib/unictype.h: Doc fixes.
43301
43302 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
43303
43304         Port coreutils 7.2 to Solaris 8.
43305
43306         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
43307         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
43308         for Solaris 8.  This is a bit of a hack, as it means it's the
43309         caller's responsibility to add -lnsl if needed, but most likely it
43310         won't be needed since only getaddrinfo uses this and getaddrinfo
43311         isn't needed on Solaris 8.
43312
43313         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
43314         problem to Solaris 8 encountered with coreutils 7.2, which
43315         resulted in a message "fnmatch.c:292: warning: passing argument 4
43316         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
43317         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
43318
43319 2009-04-03  Simon Josefsson  <simon@josefsson.org>
43320
43321         * m4/ld-version-script.m4: Add FIXME comment.
43322
43323 2009-04-02  Simon Josefsson  <simon@josefsson.org>
43324
43325         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
43326         SOVERSION variable.
43327
43328 2009-04-02  Bruno Haible  <bruno@clisp.org>
43329
43330         * Makefile (info, html, dvi, pdf): Combine the rules.
43331         Suggested by Jim Meyering.
43332
43333 2009-04-01  Bruno Haible  <bruno@clisp.org>
43334
43335         * Makefile (info, html, dvi, pdf): New targets.
43336         Reported by Reuben Thomas <rrt@sc3d.org>.
43337
43338 2009-04-01  Bruno Haible  <bruno@clisp.org>
43339
43340         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
43341         can be put into PATH.
43342         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
43343
43344 2009-04-01  Bruno Haible  <bruno@clisp.org>
43345
43346         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
43347
43348 2009-04-01  Bruno Haible  <bruno@clisp.org>
43349
43350         Rename module 'visibility'.
43351         * modules/lib-symbol-visibility: Renamed from modules/visibility.
43352         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
43353         * doc/gnulib.texi: Update.
43354         * MODULES.html.sh (Misc): Update.
43355         * NEWS: Mention the change.
43356
43357 2009-04-01  Simon Josefsson  <simon@josefsson.org>
43358
43359         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
43360         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
43361         Eric Blake <ebb9@byu.net> for review.
43362         * MODULES.html.sh: Add lib-msvc-compat.
43363         * doc/gnulib.texi: Link to new section.
43364         * m4/ld-output-def.m4: New file.
43365         * doc/ld-output-def.texi: New file.
43366
43367 2009-04-01  Simon Josefsson  <simon@josefsson.org>
43368
43369         Rename ld-version-script to lib-symbol-versions.  Suggested by
43370         Bruno Haible <bruno@clisp.org>.
43371         * modules/ld-version-script: Renamed to lib-symbol-versions.
43372         * doc/ld-version-script.texi: Fix module name.
43373         * MODULES.html.sh: Add lib-symbol-versions.
43374
43375 2009-03-31  Simon Josefsson  <simon@josefsson.org>
43376
43377         * modules/u64-tests: New file.
43378         * tests/test-u64.c: New file.
43379
43380 2009-03-04  Simon Josefsson  <simon@josefsson.org>
43381
43382         * MODULES.html.sh: Mention u64.
43383         * modules/u64: New module.
43384         * modules/crypto/sha512: Depend on u64 module instead of providing
43385         u64.h.
43386
43387 2009-03-27  Eric Blake  <ebb9@byu.net>
43388
43389         test-strerror: make debugging EAI_SYSTEM easier
43390         * modules/getaddrinfo-tests (Depends-on): Add strerror.
43391         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
43392         failure was EAI_SYSTEM.
43393
43394 2009-03-25  Bruno Haible  <bruno@clisp.org>
43395
43396         Fix a problem with --enable-relocatable on Solaris 7.
43397         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
43398         since 2008-02-24.
43399
43400 2009-03-25  Eric Blake  <ebb9@byu.net>
43401
43402         test-sockets: avoid gcc warning
43403         * tests/test-sockets.c (main): Silence compiler warning.
43404
43405 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
43406
43407         New modules nproc, pthread, contributed by Glen Lenker.
43408
43409         * MODULES.html.sh: Add pthread, nproc.
43410         * lib/nproc.c: New file.
43411         * lib/nproc.h: New file.
43412         * lib/pthread.in.h: New file.
43413         * m4/pthread.m4: New file.
43414         * modules/nproc: New file.
43415         * modules/pthread: New file.
43416
43417 2009-03-24  Simon Josefsson  <simon@josefsson.org>
43418
43419         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
43420         New variable.
43421
43422 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
43423
43424         filevercmp: handle simple~ and numbered.~3~ backup suffixes
43425         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
43426         * tests/test-filevercmp.c: Add tests for backup suffixes.
43427
43428 2009-03-24  Simon Josefsson  <simon@josefsson.org>
43429
43430         * modules/stdlib (Depends-on): Add stdint, needed when defining
43431         struct random_data on, for example, HP-UX 10.20.  Reported by
43432         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
43433
43434 2009-03-24  Simon Josefsson  <simon@josefsson.org>
43435
43436         * lib/readline.c (readline): Call fflush on stdout after printing
43437         prompt.
43438
43439 2009-03-20  Bruno Haible  <bruno@clisp.org>
43440
43441         Remove dependency from 'close' module to -lws2_32 on native Windows.
43442         * lib/close-hook.h: New file.
43443         * lib/close-hook.c: New file.
43444         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
43445         w32sock.h.
43446         (_gl_close_fd_maybe_socket): Remove function.
43447         (rpl_close): Invoke execute_all_close_hooks instead of
43448         _gl_close_fd_maybe_socket.
43449         * lib/sockets.c: Include close-hook.h, w32sock.h.
43450         (close_fd_maybe_socket): New function, essentially from lib/close.c.
43451         (close_sockets_hook): New variable.
43452         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
43453         (gl_sockets_cleanup): Unregister it.
43454         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
43455         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
43456         * modules/close-hook: New file.
43457         * modules/close (Files): Remove lib/w32sock.h.
43458         (Depends-on): Add close-hook.
43459         (Link): Remove section.
43460         * modules/sockets (Files): Add lib/w32sock.h.
43461         (Depends-on): Add close-hook.
43462         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
43463         invocation.
43464         * NEWS: Mention that LIB_CLOSE is gone.
43465
43466 2009-03-23  Eric Blake  <ebb9@byu.net>
43467
43468         signal-tests: test previous patch
43469         * tests/test-signal.c: New file.
43470         * modules/signal-tests: Likewise.
43471
43472         signal.h: always support 'volatile sig_atomic_t'
43473         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
43474         (gl_SIGNAL_H_DEFAULTS): Add a default.
43475         * modules/signal (Makefile.am): Substitute if needed.
43476         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
43477         users can blindly add volatile.
43478         * doc/posix-headers/signal.texi (signal.h): Document it.
43479         Reported by Matthew Woehlke.
43480
43481 2009-03-23  Jim Meyering  <meyering@redhat.com>
43482
43483         pathmax: PATH_MAX: use pathconf only when available
43484         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
43485         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
43486         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
43487         This avoids a link failure in a PSP cross-compilation environment
43488         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
43489
43490         * lib/vasnprintf.c (divide): Fix typo in comment.
43491
43492 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43493
43494         * gnulib-tool (func_filter_filelist): Fix comment.
43495
43496 2009-03-20  Bruno Haible  <bruno@clisp.org>
43497
43498         Make sockets.h self-contained.
43499         * lib/sockets.c: Include sockets.h first.
43500         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
43501
43502 2009-03-19  Eric Blake  <ebb9@byu.net>
43503
43504         doc: mention more functions added in cygwin 1.7.0
43505         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
43506         addition.
43507         * doc/posix-functions/log2f.texi: Likewise.
43508
43509 2009-03-19  Jim Meyering  <meyering@redhat.com>
43510
43511         fsusage: avoid syntax error due to statement-before-declaration
43512         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
43513         after all declarations.  Reported by Matthew Woehlke in
43514         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
43515
43516 2009-03-18  Eric Blake  <ebb9@byu.net>
43517
43518         build-aux/compile: sync from automake
43519         * build-aux/compile: New file, from automake.
43520         * config/srclist.txt: Mention build-aux/compile.
43521
43522 2009-03-17  Bruno Haible  <bruno@clisp.org>
43523
43524         * lib/git-merge-changelog.c: Fix typo in comment.
43525         Reported by Reuben Thomas <rrt@sc3d.org>.
43526
43527 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
43528
43529         * m4/regex.m4: update and improve help for
43530         --without-included-regex.
43531
43532 2009-03-17  Simon Josefsson  <simon@josefsson.org>
43533
43534         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
43535         failure on missing include files.
43536
43537 2009-03-17  Eric Blake  <ebb9@byu.net>
43538
43539         doc: mention more functions added in cygwin 1.7.0
43540         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
43541         addition.
43542         * doc/posix-functions/fwscanf.texi: Likewise.
43543         * doc/posix-functions/swprintf.texi: Likewise.
43544         * doc/posix-functions/swscanf.texi: Likewise.
43545         * doc/posix-functions/vfwprintf.texi: Likewise.
43546         * doc/posix-functions/vfwscanf.texi: Likewise.
43547         * doc/posix-functions/vswprintf.texi: Likewise.
43548         * doc/posix-functions/vswscanf.texi: Likewise.
43549         * doc/posix-functions/vwprintf.texi: Likewise.
43550         * doc/posix-functions/vwscanf.texi: Likewise.
43551         * doc/posix-functions/wcscasecmp.texi: Likewise.
43552         * doc/posix-functions/wcsdup.texi: Likewise.
43553         * doc/posix-functions/wcsftime.texi: Likewise.
43554         * doc/posix-functions/wcsncasecmp.texi: Likewise.
43555         * doc/posix-functions/wprintf.texi: Likewise.
43556         * doc/posix-functions/wscanf.texi: Likewise.
43557         * doc/glibc-functions/gethostbyname2.texi: Likewise.
43558
43559 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43560
43561         maint.mk: really add $(AM_MAKEFLAGS)
43562         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
43563         was inadvertently omitted in the last commit.
43564         Spotted by Bruno Haible.
43565
43566         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
43567         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
43568         $(AM_MAKEFLAGS)' rather than plain `make'.
43569
43570         gnulib-tool: execute $MAKE not make
43571         * gnulib-tool: Default $MAKE to 'make'.
43572         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
43573         than make.  Initialize $MAKE in the do-autobuild script.
43574
43575         gnulib-tool: use $MAKE not make in generated files
43576         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
43577         make, in generated files.  Initialize $MAKE in the do-autobuild
43578         script.
43579
43580         * top/GNUmakefile (_have-git-version-gen): Fix typo.
43581
43582         GNUmakefile: disable parallelism only for multiple, recursive targets
43583         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
43584         additions in the Makefile.
43585         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
43586         by Automake.
43587         (.NOTPARALLEL): Only disable parallel builds if multiple targets
43588         are listed on the command line and at least one of them is
43589         listed in $(ALL_RECURSIVE_TARGETS).
43590
43591 2009-03-14  Bruno Haible  <bruno@clisp.org>
43592
43593         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
43594         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
43595         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
43596         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
43597         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
43598         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
43599         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
43600         unistr/u8-uctomb.
43601         * modules/unistr/u8-strchr (Depends-on): Likewise.
43602         * modules/unistr/u8-strrchr (Depends-on): Likewise.
43603         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
43604         unistr/u16-uctomb.
43605         * modules/unistr/u16-strchr (Depends-on): Likewise.
43606         * modules/unistr/u16-strrchr (Depends-on): Likewise.
43607
43608 2009-03-12  Bruno Haible  <bruno@clisp.org>
43609
43610         Work around select() bug on Interix 3.5.
43611         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
43612         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
43613         * m4/select.m4: New file.
43614         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
43615         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
43616         * modules/select (Files): Add m4/select.m4.
43617         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
43618         * modules/nanosleep (Depends-on): Add select.
43619         * modules/poll (Depends-on): Likewise.
43620         * doc/posix-functions/select.texi: Mention the Interix bug.
43621         Reported by Markus Duft <mduft@gentoo.org>.
43622
43623         * lib/select.c: Renamed from lib/winsock-select.c.
43624         * modules/select (Files): Add lib/select.c, remove
43625         lib/winsock-select.c.
43626         (configure.ac): Update.
43627
43628 2009-03-12  Jim Meyering  <meyering@redhat.com>
43629
43630         avoid gcc warnings about unused macro definitions
43631         * lib/readtokens.c (STREQ): Remove unused definition.
43632         * lib/xmalloc.c (SIZE_MAX): Likewise.
43633         * lib/openat-die.c (N_): Likewise.
43634         * lib/mountlist.c (SIZE_MAX): Remove definition.
43635         Instead, include <stdint.h>.
43636         * lib/readutmp.c: Likewise.
43637         * modules/readutmp (Depends-on): Add stdint.
43638         * modules/mountlist (Depends-on): Add stdint.
43639         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
43640
43641 2009-03-10  Bruno Haible  <bruno@clisp.org>
43642
43643         Tests for module 'mbmemcasecoll'.
43644         * modules/mbmemcasecoll-tests: New file.
43645         * tests/test-mbmemcasecoll1.sh: New file.
43646         * tests/test-mbmemcasecoll2.sh: New file.
43647         * tests/test-mbmemcasecoll3.sh: New file.
43648         * tests/test-mbmemcasecoll.c: New file.
43649
43650         New module 'mbmemcasecoll'.
43651         * lib/mbmemcasecoll.h: New file.
43652         * lib/mbmemcasecoll.c: New file.
43653         * modules/mbmemcasecoll: New file.
43654
43655         * tests/test-mbmemcasecmp.h: New file, extracted from
43656         tests/test-mbmemcasecmp.c.
43657         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
43658         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
43659         (main): Update.
43660         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
43661
43662 2009-03-09  Bruno Haible  <bruno@clisp.org>
43663
43664         Tests for module 'mbmemcasecmp'.
43665         * modules/mbmemcasecmp-tests: New file.
43666         * tests/test-mbmemcasecmp1.sh: New file.
43667         * tests/test-mbmemcasecmp2.sh: New file.
43668         * tests/test-mbmemcasecmp3.sh: New file.
43669         * tests/test-mbmemcasecmp.c: New file.
43670
43671         New module 'mbmemcasecmp'.
43672         * lib/mbmemcasecmp.h: New file.
43673         * lib/mbmemcasecmp.c: New file.
43674         * modules/mbmemcasecmp: New file.
43675
43676 2009-03-09  Bruno Haible  <bruno@clisp.org>
43677
43678         Tests for module 'unicase/ulc-casecoll'.
43679         * modules/unicase/ulc-casecoll-tests: New file.
43680         * tests/unicase/test-ulc-casecoll1.sh: New file.
43681         * tests/unicase/test-ulc-casecoll2.sh: New file.
43682         * tests/unicase/test-ulc-casecoll.c: New file.
43683
43684         New module 'unicase/ulc-casecoll'.
43685         * lib/unicase.h (ulc_casecoll): New declaration.
43686         * lib/unicase/ulc-casecoll.c: New file.
43687         * modules/unicase/ulc-casecoll: New file.
43688
43689         New module 'unicase/ulc-casexfrm'.
43690         * lib/unicase.h (ulc_casexfrm): New declaration.
43691         * lib/unicase/ulc-casexfrm.c: New file.
43692         * modules/unicase/ulc-casexfrm: New file.
43693
43694 2009-03-09  Bruno Haible  <bruno@clisp.org>
43695
43696         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
43697         invocations.
43698
43699         * m4/mbscasecmp.m4: Remove file.
43700         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
43701         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
43702
43703         * m4/mbscasestr.m4: Remove file.
43704         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
43705         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
43706
43707         * m4/mbschr.m4: Remove file.
43708         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
43709         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
43710
43711         * m4/mbscspn.m4: Remove file.
43712         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
43713         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
43714
43715         * m4/mbslen.m4: Remove file.
43716         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
43717         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
43718
43719         * m4/mbsncasecmp.m4: Remove file.
43720         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
43721         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
43722
43723         * m4/mbsnlen.m4: Remove file.
43724         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
43725         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
43726
43727         * m4/mbspbrk.m4: Remove file.
43728         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
43729         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
43730
43731         * m4/mbspcasecmp.m4: Remove file.
43732         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
43733         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
43734
43735         * m4/mbsrchr.m4: Remove file.
43736         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
43737         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
43738
43739         * m4/mbssep.m4: Remove file.
43740         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
43741         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
43742
43743         * m4/mbsspn.m4: Remove file.
43744         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
43745         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
43746
43747         * m4/mbsstr.m4: Remove file.
43748         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
43749         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
43750
43751         * m4/mbstok_r.m4: Remove file.
43752         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
43753         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
43754
43755         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
43756
43757         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
43758         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
43759
43760         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
43761
43762 2009-03-08  Bruno Haible  <bruno@clisp.org>
43763
43764         Tests for module 'unicase/ulc-casecmp'.
43765         * modules/unicase/ulc-casecmp-tests: New file.
43766         * tests/unicase/test-ulc-casecmp1.sh: New file.
43767         * tests/unicase/test-ulc-casecmp2.sh: New file.
43768         * tests/unicase/test-ulc-casecmp.c: New file.
43769
43770         New module 'unicase/ulc-casecmp'.
43771         * lib/unicase.h (ulc_casecmp): New declaration.
43772         * lib/unicase/ulc-casecmp.c: New file.
43773         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
43774         'const SRC_UNIT *'.
43775         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
43776         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
43777         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
43778         * modules/unicase/ulc-casecmp: New file.
43779
43780         Tests for module 'unicase/u32-is-cased'.
43781         * modules/unicase/u32-is-cased-tests: New file.
43782         * tests/unicase/test-u32-is-cased.c: New file.
43783
43784         Tests for module 'unicase/u16-is-cased'.
43785         * modules/unicase/u16-is-cased-tests: New file.
43786         * tests/unicase/test-u16-is-cased.c: New file.
43787
43788         Tests for module 'unicase/u8-is-cased'.
43789         * modules/unicase/u8-is-cased-tests: New file.
43790         * tests/unicase/test-u8-is-cased.c: New file.
43791         * tests/unicase/test-is-cased.h: New file.
43792
43793         New module 'unicase/u32-is-cased'.
43794         * lib/unicase/u32-is-cased.c: New file.
43795         * modules/unicase/u32-is-cased: New file.
43796
43797         New module 'unicase/u16-is-cased'.
43798         * lib/unicase/u16-is-cased.c: New file.
43799         * modules/unicase/u16-is-cased: New file.
43800
43801         New module 'unicase/u8-is-cased'.
43802         * lib/unicase/u8-is-cased.c: New file.
43803         * lib/unicase/u-is-cased.h: New file.
43804         * modules/unicase/u8-is-cased: New file.
43805
43806         Tests for module 'unicase/u32-is-casefolded'.
43807         * modules/unicase/u32-is-casefolded-tests: New file.
43808         * tests/unicase/test-u32-is-casefolded.c: New file.
43809
43810         Tests for module 'unicase/u16-is-casefolded'.
43811         * modules/unicase/u16-is-casefolded-tests: New file.
43812         * tests/unicase/test-u16-is-casefolded.c: New file.
43813
43814         Tests for module 'unicase/u8-is-casefolded'.
43815         * modules/unicase/u8-is-casefolded-tests: New file.
43816         * tests/unicase/test-u8-is-casefolded.c: New file.
43817         * tests/unicase/test-is-casefolded.h: New file.
43818
43819         New module 'unicase/u32-is-casefolded'.
43820         * lib/unicase/u32-is-casefolded.c: New file.
43821         * modules/unicase/u32-is-casefolded: New file.
43822
43823         New module 'unicase/u16-is-casefolded'.
43824         * lib/unicase/u16-is-casefolded.c: New file.
43825         * modules/unicase/u16-is-casefolded: New file.
43826
43827         New module 'unicase/u8-is-casefolded'.
43828         * lib/unicase/u8-is-casefolded.c: New file.
43829         * modules/unicase/u8-is-casefolded: New file.
43830
43831         Tests for module 'unicase/u32-is-titlecase'.
43832         * modules/unicase/u32-is-titlecase-tests: New file.
43833         * tests/unicase/test-u32-is-titlecase.c: New file.
43834
43835         Tests for module 'unicase/u16-is-titlecase'.
43836         * modules/unicase/u16-is-titlecase-tests: New file.
43837         * tests/unicase/test-u16-is-titlecase.c: New file.
43838
43839         Tests for module 'unicase/u8-is-titlecase'.
43840         * modules/unicase/u8-is-titlecase-tests: New file.
43841         * tests/unicase/test-u8-is-titlecase.c: New file.
43842         * tests/unicase/test-is-titlecase.h: New file.
43843
43844         New module 'unicase/u32-is-titlecase'.
43845         * lib/unicase/u32-is-titlecase.c: New file.
43846         * modules/unicase/u32-is-titlecase: New file.
43847
43848         New module 'unicase/u16-is-titlecase'.
43849         * lib/unicase/u16-is-titlecase.c: New file.
43850         * modules/unicase/u16-is-titlecase: New file.
43851
43852         New module 'unicase/u8-is-titlecase'.
43853         * lib/unicase/u8-is-titlecase.c: New file.
43854         * modules/unicase/u8-is-titlecase: New file.
43855
43856         Tests for module 'unicase/u32-is-lowercase'.
43857         * modules/unicase/u32-is-lowercase-tests: New file.
43858         * tests/unicase/test-u32-is-lowercase.c: New file.
43859
43860         Tests for module 'unicase/u16-is-lowercase'.
43861         * modules/unicase/u16-is-lowercase-tests: New file.
43862         * tests/unicase/test-u16-is-lowercase.c: New file.
43863
43864         Tests for module 'unicase/u8-is-lowercase'.
43865         * modules/unicase/u8-is-lowercase-tests: New file.
43866         * tests/unicase/test-u8-is-lowercase.c: New file.
43867         * tests/unicase/test-is-lowercase.h: New file.
43868
43869         New module 'unicase/u32-is-lowercase'.
43870         * lib/unicase/u32-is-lowercase.c: New file.
43871         * modules/unicase/u32-is-lowercase: New file.
43872
43873         New module 'unicase/u16-is-lowercase'.
43874         * lib/unicase/u16-is-lowercase.c: New file.
43875         * modules/unicase/u16-is-lowercase: New file.
43876
43877         New module 'unicase/u8-is-lowercase'.
43878         * lib/unicase/u8-is-lowercase.c: New file.
43879         * modules/unicase/u8-is-lowercase: New file.
43880
43881         Tests for module 'unicase/u32-is-uppercase'.
43882         * modules/unicase/u32-is-uppercase-tests: New file.
43883         * tests/unicase/test-u32-is-uppercase.c: New file.
43884
43885         Tests for module 'unicase/u16-is-uppercase'.
43886         * modules/unicase/u16-is-uppercase-tests: New file.
43887         * tests/unicase/test-u16-is-uppercase.c: New file.
43888
43889         Tests for module 'unicase/u8-is-uppercase'.
43890         * modules/unicase/u8-is-uppercase-tests: New file.
43891         * tests/unicase/test-u8-is-uppercase.c: New file.
43892         * tests/unicase/test-is-uppercase.h: New file.
43893
43894         New module 'unicase/u32-is-uppercase'.
43895         * lib/unicase/u32-is-uppercase.c: New file.
43896         * modules/unicase/u32-is-uppercase: New file.
43897
43898         New module 'unicase/u16-is-uppercase'.
43899         * lib/unicase/u16-is-uppercase.c: New file.
43900         * modules/unicase/u16-is-uppercase: New file.
43901
43902         New module 'unicase/u8-is-uppercase'.
43903         * lib/unicase/u8-is-uppercase.c: New file.
43904         * modules/unicase/u8-is-uppercase: New file.
43905
43906         New module 'unicase/u32-is-invariant'.
43907         * lib/unicase/u32-is-invariant.c: New file.
43908         * modules/unicase/u32-is-invariant: New file.
43909
43910         New module 'unicase/u16-is-invariant'.
43911         * lib/unicase/u16-is-invariant.c: New file.
43912         * modules/unicase/u16-is-invariant: New file.
43913
43914         New module 'unicase/u8-is-invariant'.
43915         * lib/unicase/u8-is-invariant.c: New file.
43916         * lib/unicase/invariant.h: New file.
43917         * lib/unicase/u-is-invariant.h: New file.
43918         * modules/unicase/u8-is-invariant: New file.
43919
43920         Tests for module 'unicase/u32-casecoll'.
43921         * modules/unicase/u32-casecoll-tests: New file.
43922         * tests/unicase/test-u32-casecoll.c: New file.
43923
43924         Tests for module 'unicase/u16-casecoll'.
43925         * modules/unicase/u16-casecoll-tests: New file.
43926         * tests/unicase/test-u16-casecoll.c: New file.
43927
43928         Tests for module 'unicase/u8-casecoll'.
43929         * modules/unicase/u8-casecoll-tests: New file.
43930         * tests/unicase/test-u8-casecoll.c: New file.
43931
43932         New module 'unicase/u32-casecoll'.
43933         * lib/unicase/u32-casecoll.c: New file.
43934         * modules/unicase/u32-casecoll: New file.
43935
43936         New module 'unicase/u16-casecoll'.
43937         * lib/unicase/u16-casecoll.c: New file.
43938         * modules/unicase/u16-casecoll: New file.
43939
43940         New module 'unicase/u8-casecoll'.
43941         * lib/unicase/u8-casecoll.c: New file.
43942         * lib/unicase/u-casecoll.h: New file.
43943         * modules/unicase/u8-casecoll: New file.
43944
43945         New module 'unicase/u32-casexfrm'.
43946         * lib/unicase/u32-casexfrm.c: New file.
43947         * modules/unicase/u32-casexfrm: New file.
43948
43949         New module 'unicase/u16-casexfrm'.
43950         * lib/unicase/u16-casexfrm.c: New file.
43951         * modules/unicase/u16-casexfrm: New file.
43952
43953         New module 'unicase/u8-casexfrm'.
43954         * lib/unicase/u8-casexfrm.c: New file.
43955         * lib/unicase/u-casexfrm.h: New file.
43956         * modules/unicase/u8-casexfrm: New file.
43957
43958         Tests for module 'unicase/u32-casecmp'.
43959         * modules/unicase/u32-casecmp-tests: New file.
43960         * tests/unicase/test-u32-casecmp.c: New file.
43961
43962         Tests for module 'unicase/u16-casecmp'.
43963         * modules/unicase/u16-casecmp-tests: New file.
43964         * tests/unicase/test-u16-casecmp.c: New file.
43965
43966         Tests for module 'unicase/u8-casecmp'.
43967         * modules/unicase/u8-casecmp-tests: New file.
43968         * tests/unicase/test-u8-casecmp.c: New file.
43969         * tests/unicase/test-casecmp.h: New file.
43970
43971         New module 'unicase/u32-casecmp'.
43972         * lib/unicase/u32-casecmp.c: New file.
43973         * modules/unicase/u32-casecmp: New file.
43974
43975         New module 'unicase/u16-casecmp'.
43976         * lib/unicase/u16-casecmp.c: New file.
43977         * modules/unicase/u16-casecmp: New file.
43978
43979         New module 'unicase/u8-casecmp'.
43980         * lib/unicase/u8-casecmp.c: New file.
43981         * lib/unicase/u-casecmp.h: New file.
43982         * modules/unicase/u8-casecmp: New file.
43983
43984         Tests for module 'unicase/u32-casefold'.
43985         * modules/unicase/u32-casefold-tests: New file.
43986         * tests/unicase/test-u32-casefold.c: New file.
43987
43988         Tests for module 'unicase/u16-casefold'.
43989         * modules/unicase/u16-casefold-tests: New file.
43990         * tests/unicase/test-u16-casefold.c: New file.
43991
43992         Tests for module 'unicase/u8-casefold'.
43993         * modules/unicase/u8-casefold-tests: New file.
43994         * tests/unicase/test-u8-casefold.c: New file.
43995
43996         New module 'unicase/u32-casefold'.
43997         * lib/unicase/u32-casefold.c: New file.
43998         * modules/unicase/u32-casefold: New file.
43999
44000         New module 'unicase/u16-casefold'.
44001         * lib/unicase/u16-casefold.c: New file.
44002         * modules/unicase/u16-casefold: New file.
44003
44004         New module 'unicase/u8-casefold'.
44005         * lib/unicase/u8-casefold.c: New file.
44006         * lib/unicase/u-casefold.h: New file.
44007         * modules/unicase/u8-casefold: New file.
44008
44009         New module 'unicase/tocasefold'.
44010         * lib/unicase/casefold.h: New file.
44011         * lib/unicase/tocasefold.c: New file.
44012         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
44013         * modules/unicase/tocasefold: New file.
44014
44015         Tests for module 'unicase/u32-totitle'.
44016         * modules/unicase/u32-totitle-tests: New file.
44017         * tests/unicase/test-u32-totitle.c: New file.
44018
44019         Tests for module 'unicase/u16-totitle'.
44020         * modules/unicase/u16-totitle-tests: New file.
44021         * tests/unicase/test-u16-totitle.c: New file.
44022
44023         Tests for module 'unicase/u8-totitle'.
44024         * modules/unicase/u8-totitle-tests: New file.
44025         * tests/unicase/test-u8-totitle.c: New file.
44026
44027         New module 'unicase/u32-totitle'.
44028         * lib/unicase/u32-totitle.c: New file.
44029         * modules/unicase/u32-totitle: New file.
44030
44031         New module 'unicase/u16-totitle'.
44032         * lib/unicase/u16-totitle.c: New file.
44033         * modules/unicase/u16-totitle: New file.
44034
44035         New module 'unicase/u8-totitle'.
44036         * lib/unicase/u8-totitle.c: New file.
44037         * lib/unicase/u-totitle.h: New file.
44038         * modules/unicase/u8-totitle: New file.
44039
44040         Tests for module 'unicase/u32-tolower'.
44041         * modules/unicase/u32-tolower-tests: New file.
44042         * tests/unicase/test-u32-tolower.c: New file.
44043
44044         Tests for module 'unicase/u16-tolower'.
44045         * modules/unicase/u16-tolower-tests: New file.
44046         * tests/unicase/test-u16-tolower.c: New file.
44047
44048         Tests for module 'unicase/u8-tolower'.
44049         * modules/unicase/u8-tolower-tests: New file.
44050         * tests/unicase/test-u8-tolower.c: New file.
44051
44052         New module 'unicase/u32-tolower'.
44053         * lib/unicase/u32-tolower.c: New file.
44054         * modules/unicase/u32-tolower: New file.
44055
44056         New module 'unicase/u16-tolower'.
44057         * lib/unicase/u16-tolower.c: New file.
44058         * modules/unicase/u16-tolower: New file.
44059
44060         New module 'unicase/u8-tolower'.
44061         * lib/unicase/u8-tolower.c: New file.
44062         * modules/unicase/u8-tolower: New file.
44063
44064         Tests for module 'unicase/u32-toupper'.
44065         * modules/unicase/u32-toupper-tests: New file.
44066         * tests/unicase/test-u32-toupper.c: New file.
44067
44068         Tests for module 'unicase/u16-toupper'.
44069         * modules/unicase/u16-toupper-tests: New file.
44070         * tests/unicase/test-u16-toupper.c: New file.
44071
44072         Tests for module 'unicase/u8-toupper'.
44073         * modules/unicase/u8-toupper-tests: New file.
44074         * tests/unicase/test-u8-toupper.c: New file.
44075
44076         New module 'unicase/u32-toupper'.
44077         * lib/unicase/u32-toupper.c: New file.
44078         * modules/unicase/u32-toupper: New file.
44079
44080         New module 'unicase/u16-toupper'.
44081         * lib/unicase/u16-toupper.c: New file.
44082         * modules/unicase/u16-toupper: New file.
44083
44084         New module 'unicase/u8-toupper'.
44085         * lib/unicase/u8-toupper.c: New file.
44086         * modules/unicase/u8-toupper: New file.
44087
44088         New module 'unicase/u32-casemap'.
44089         * lib/unicase/u32-casemap.c: New file.
44090         * modules/unicase/u32-casemap: New file.
44091
44092         New module 'unicase/u16-casemap'.
44093         * lib/unicase/u16-casemap.c: New file.
44094         * modules/unicase/u16-casemap: New file.
44095
44096         New module 'unicase/u8-casemap'.
44097         * lib/unicase/unicasemap.h: New file.
44098         * lib/unicase/u8-casemap.c: New file.
44099         * lib/unicase/u-casemap.h: New file.
44100         * modules/unicase/u8-casemap: New file.
44101
44102         New module 'unicase/special-casing'.
44103         * lib/unicase/special-casing.h: New file.
44104         * lib/unicase/special-casing.c: New file.
44105         * lib/unicase/special-casing-table.gperf: New file, generated by
44106         gen-uni-tables.c.
44107         * modules/unicase/special-casing: New file.
44108
44109         Tests for module 'unicase/locale-language'.
44110         * modules/unicase/locale-language-tests: New file.
44111         * tests/unicase/test-locale-language.sh: New file.
44112         * tests/unicase/test-locale-language.c: New file.
44113
44114         New module 'unicase/locale-language'.
44115         * lib/unicase/locale-language.c: New file.
44116         * lib/unicase/locale-languages.gperf: New file.
44117         * modules/unicase/locale-language: New file.
44118
44119         Generate more tables for case conversion and case folding.
44120         * lib/gen-uni-tables.c (SCC_*): New enum items.
44121         (struct special_casing_rule): New type.
44122         (casing_rules, num_casing_rules, allocated_casing_rules): New
44123         variables.
44124         (add_casing_rule, fill_casing_rules): New functions.
44125         (struct casefold_rule): New type.
44126         (casefolding_rules, num_casefolding_rules,
44127         allocated_casefolding_rules): New variables.
44128         (fill_casefolding_rules): New function.
44129         (unicode_casefold): New variable.
44130         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
44131         sort_casing_rules, output_casing_rules): New functions.
44132         (main): Accept to more arguments: SpecialCasing.txt and
44133         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
44134         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
44135         Output mapping for casefolding.
44136
44137         * lib/unicase.h: Include stdbool.h, uninorm.h.
44138         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
44139         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
44140         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
44141         arguments.
44142         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
44143         resultp arguments.
44144         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
44145         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
44146         resultp arguments.
44147         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
44148         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
44149         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
44150         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
44151         declarations.
44152         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
44153
44154 2009-03-08  Bruno Haible  <bruno@clisp.org>
44155
44156         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
44157         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
44158         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
44159         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
44160
44161 2009-03-07  Bruno Haible  <bruno@clisp.org>
44162
44163         Adjust u*_normcmp, u*_normcoll API.
44164         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
44165         u16_normcoll, u32_normcoll): Change failure conventions.
44166         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
44167         errno and return -1.
44168         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
44169
44170 2009-03-07  Bruno Haible  <bruno@clisp.org>
44171
44172         Tests for module 'uninorm/u32-normcoll'.
44173         * modules/uninorm/u32-normcoll-tests: New file.
44174         * tests/uninorm/test-u32-normcoll.c: New file.
44175
44176         Tests for module 'uninorm/u16-normcoll'.
44177         * modules/uninorm/u16-normcoll-tests: New file.
44178         * tests/uninorm/test-u16-normcoll.c: New file.
44179
44180         Tests for module 'uninorm/u8-normcoll'.
44181         * modules/uninorm/u8-normcoll-tests: New file.
44182         * tests/uninorm/test-u8-normcoll.c: New file.
44183
44184 2009-03-07  Bruno Haible  <bruno@clisp.org>
44185
44186         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
44187         tests/uninorm/test-u32-normcmp.c.
44188         * tests/uninorm/test-u32-normcmp.c: Include it.
44189         (test_nonascii): New function, extracted from main. Add some more
44190         tests.
44191         (main): Invoke test_ascii and test_nonascii.
44192         * modules/uninorm/u32-normcmp-tests (Files): Add
44193         tests/uninorm/test-u32-normcmp.h.
44194         (Depends-on): Remove uninorm/u32-normcmp.
44195
44196         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
44197         tests/uninorm/test-u16-normcmp.c.
44198         * tests/uninorm/test-u16-normcmp.c: Include it.
44199         (test_nonascii): New function, extracted from main. Add some more
44200         tests.
44201         (main): Invoke test_ascii and test_nonascii.
44202         * modules/uninorm/u16-normcmp-tests (Files): Add
44203         tests/uninorm/test-u16-normcmp.h.
44204         (Depends-on): Remove uninorm/u16-normcmp.
44205
44206         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
44207         tests/uninorm/test-u8-normcmp.c.
44208         * tests/uninorm/test-u8-normcmp.c: Include it.
44209         (test_nonascii): New function, extracted from main. Add some more
44210         tests.
44211         (main): Invoke test_ascii and test_nonascii.
44212         * modules/uninorm/u8-normcmp-tests (Files): Add
44213         tests/uninorm/test-u8-normcmp.h.
44214         (Depends-on): Remove uninorm/u8-normcmp.
44215
44216 2009-03-07  Bruno Haible  <bruno@clisp.org>
44217
44218         New module 'uninorm/u32-normcoll'.
44219         * lib/uninorm/u32-normcoll.c: New file.
44220         * modules/uninorm/u32-normcoll: New file.
44221
44222         New module 'uninorm/u16-normcoll'.
44223         * lib/uninorm/u16-normcoll.c: New file.
44224         * modules/uninorm/u16-normcoll: New file.
44225
44226         New module 'uninorm/u8-normcoll'.
44227         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
44228         declarations.
44229         * lib/uninorm/u8-normcoll.c: New file.
44230         * lib/uninorm/u-normcoll.h: New file.
44231         * modules/uninorm/u8-normcoll: New file.
44232
44233         New module 'uninorm/u32-normxfrm'.
44234         * lib/uninorm/u32-normxfrm.c: New file.
44235         * modules/uninorm/u32-normxfrm: New file.
44236
44237         New module 'uninorm/u16-normxfrm'.
44238         * lib/uninorm/u16-normxfrm.c: New file.
44239         * modules/uninorm/u16-normxfrm: New file.
44240
44241         New module 'uninorm/u8-normxfrm'.
44242         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
44243         declarations.
44244         * lib/uninorm/u8-normxfrm.c: New file.
44245         * lib/uninorm/u-normxfrm.h: New file.
44246         * modules/uninorm/u8-normxfrm: New file.
44247
44248 2009-03-07  Bruno Haible  <bruno@clisp.org>
44249
44250         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
44251         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
44252         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
44253
44254 2009-03-07  Bruno Haible  <bruno@clisp.org>
44255
44256         New module 'memxfrm'.
44257         * lib/memxfrm.h: New file.
44258         * lib/memxfrm.c: New file.
44259         * modules/memxfrm: New file.
44260
44261 2009-03-07  Bruno Haible  <bruno@clisp.org>
44262
44263         New module 'memcmp2'.
44264         * lib/memcmp2.h: New file.
44265         * lib/memcmp2.c: New file.
44266         * modules/memcmp2: New file.
44267
44268 2009-03-07  Bruno Haible  <bruno@clisp.org>
44269
44270         Tests for module 'uninorm/decomposing-form'.
44271         * modules/uninorm/decomposing-form-tests: New file.
44272         * tests/uninorm/test-decomposing-form.c: New file.
44273
44274         New module 'uninorm/decomposing-form'.
44275         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
44276         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
44277         Add 'decomposing_variant' field.
44278         * lib/uninorm/decomposing-form.c: New file.
44279         * lib/uninorm/nfc.c (uninorm_nfc): Update.
44280         * lib/uninorm/nfd.c (uninorm_nfd): Update.
44281         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
44282         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
44283         * modules/uninorm/decomposing-form: New file.
44284         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
44285         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
44286
44287 2009-03-07  Bruno Haible  <bruno@clisp.org>
44288
44289         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
44290         strings.
44291
44292 2009-03-06  Bruno Haible  <bruno@clisp.org>
44293
44294         Tests for module 'uninorm/u32-normcmp'.
44295         * tests/uninorm/test-u32-normcmp.c: New file.
44296         * modules/uninorm/u32-normcmp-tests: New file.
44297
44298         Tests for module 'uninorm/u16-normcmp'.
44299         * tests/uninorm/test-u16-normcmp.c: New file.
44300         * modules/uninorm/u16-normcmp-tests: New file.
44301
44302         Tests for module 'uninorm/u8-normcmp'.
44303         * tests/uninorm/test-u8-normcmp.c: New file.
44304         * modules/uninorm/u8-normcmp-tests: New file.
44305
44306         New module 'uninorm/u32-normcmp'.
44307         * lib/uninorm/u32-normcmp.c: New file.
44308         * modules/uninorm/u32-normcmp: New file.
44309
44310         New module 'uninorm/u16-normcmp'.
44311         * lib/uninorm/u16-normcmp.c: New file.
44312         * modules/uninorm/u16-normcmp: New file.
44313
44314         New module 'uninorm/u8-normcmp'.
44315         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
44316         declarations.
44317         * lib/uninorm/u8-normcmp.c: New file.
44318         * lib/uninorm/u-normcmp.h: New file.
44319         * modules/uninorm/u8-normcmp: New file.
44320
44321 2009-03-06  Bruno Haible  <bruno@clisp.org>
44322
44323         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
44324         Reported by Eric Blake.
44325
44326 2009-03-06  Eric Blake  <ebb9@byu.net>
44327             Bruno Haible  <bruno@clisp.org>
44328
44329         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
44330         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
44331         condition.
44332         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
44333         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
44334         condition.
44335         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
44336
44337 2009-03-06  Eric Blake  <ebb9@byu.net>
44338
44339         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
44340         to avoid compiler warnings.
44341         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
44342
44343 2009-03-05  Bruno Haible  <bruno@clisp.org>
44344
44345         * tests/test-ftell.c (main): Disable test beyond end of file on
44346         FreeMiNT.
44347         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
44348
44349 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
44350
44351         * lib/filevercmp.c: Move hidden files up in ordering.
44352         * tests/test-filevercmp.c: Add tests for hidden files.
44353
44354 2009-03-04  Bruno Haible  <bruno@clisp.org>
44355
44356         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
44357         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
44358         AM_CFLAGS.
44359         Reported by Simon Josefsson.
44360
44361 2009-03-03  Bruno Haible  <bruno@clisp.org>
44362
44363         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
44364         Reported by Simon Josefsson.
44365
44366         * doc/ld-version-script.texi: Update node reference.
44367
44368 2009-03-03  Bruno Haible  <bruno@clisp.org>
44369
44370         * modules/visibility (License): Change to 'unlimited'.
44371         Suggested by Simon Josefsson.
44372
44373 2009-03-03  Jim Meyering  <meyering@redhat.com>
44374
44375         unlinkdir: cannot_unlink_dir may modify process state
44376         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
44377         it's neither thread-safe nor appropriate for use in a library.
44378
44379 2009-03-03  Eric Blake  <ebb9@byu.net>
44380
44381         test-closein: silence test under Darwin
44382         * tests/test-closein.sh: Ignore stderr from cat, since we don't
44383         care if it dies from EPIPE or EBADF.
44384
44385 2009-03-03  Bruno Haible  <bruno@clisp.org>
44386
44387         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
44388         earlier.
44389         * doc/visibility.texi: Fix @node and @section.
44390
44391 2009-03-03  Simon Josefsson  <simon@josefsson.org>
44392
44393         * doc/gnulib.texi: Link to sections for ld version script and
44394         visibility.
44395         * doc/visibility.texi: Add @node and @section.
44396         * modules/ld-version-script: New module.
44397         * m4/ld-version-script.m4: New file.
44398         * doc/ld-version-script.texi: New file.
44399
44400 2009-03-02  David Lutterkort  <lutter@redhat.com>
44401
44402         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
44403         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
44404
44405 2009-03-02  Bruno Haible  <bruno@clisp.org>
44406
44407         * doc/visibility.texi: Mention libtool's -export-symbols option.
44408
44409 2009-03-02  Jim Meyering  <meyering@redhat.com>
44410
44411         announce-gen: new option: --no-print-checksums
44412         * build-aux/announce-gen (usage): Describe it.
44413         (print_checksums): Print a newline here, not in the [*] footnote.
44414         (main): Honor it.
44415
44416 2009-03-01  Bruno Haible  <bruno@clisp.org>
44417
44418         Use socklen_t in the native Windows replacements prototypes.
44419         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
44420         instead of 'int'.
44421         * lib/getsockopt.c (rpl_getsockopt): Likewise.
44422         * lib/setsockopt.c (rpl_setsockopt): Likewise.
44423         * modules/getsockopt (Depends-on): Add socklen.
44424         * modules/setsockopt (Depends-on): Add socklen.
44425
44426 2009-03-01  Bruno Haible  <bruno@clisp.org>
44427
44428         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
44429         least 4.2.
44430
44431 2009-03-01  Eric Blake  <ebb9@byu.net>
44432             Bruno Haible  <bruno@clisp.org>
44433
44434         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
44435         error messages.
44436         * lib/wait-process.c (wait_subprocess): Omit error message about
44437         deadly signal sent to the child of termsigp != NULL.
44438
44439 2009-03-01  Eric Blake  <ebb9@byu.net>
44440
44441         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
44442
44443 2009-03-01  Bruno Haible  <bruno@clisp.org>
44444
44445         Avoid a gcc warning.
44446         * tests/test-sched.c (b): Make global.
44447         Reported by Eric Blake.
44448
44449 2009-01-19  Martin Lambers  <marlam@marlam.de>
44450
44451         Provide POSIX semantics for socket timeout options on W32.
44452         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
44453         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
44454         * modules/setsockopt: Depend on sys_time module for struct timeval.
44455         * modules/getsockopt: Depend on sys_time module for struct timeval.
44456
44457 2009-03-01  Simon Josefsson  <simon@josefsson.org>
44458
44459         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
44460         __USE_GNU, for consistency with netdb.in.h.
44461         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
44462
44463 2009-03-01  Bruno Haible  <bruno@clisp.org>
44464
44465         More support for FreeMiNT.
44466         * lib/fseeko.c (rpl_fseeko): Complete last commit.
44467         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
44468
44469 2009-03-01  Bruno Haible  <bruno@clisp.org>
44470
44471         More support for FreeMiNT.
44472         * lib/fpurge.c (fpurge): Correct last commit.
44473         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
44474
44475 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44476
44477         Fix unportable awk script in vc-list-files.
44478         * build-aux/vc-list-files: In the replacement awk script, use
44479         substr with a second argument of 1, not zero.
44480         Report by Simon Josefsson.
44481
44482 2009-02-28  Bruno Haible  <bruno@clisp.org>
44483
44484         More support for FreeMiNT.
44485         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
44486         to FreeMiNT today.
44487         * lib/fwriting.c (fwriting): Likewise.
44488         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
44489
44490 2009-02-28  Bruno Haible  <bruno@clisp.org>
44491
44492         * tests/test-freadseek.c (main): Disable test beyond end of file on
44493         FreeMiNT.
44494         * tests/test-ftello.c (main): Likewise.
44495         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
44496
44497 2009-02-28  Bruno Haible  <bruno@clisp.org>
44498
44499         Add tentative support for FreeMiNT.
44500         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
44501         * lib/fpurge.c (fpurge): Likewise.
44502         * lib/freadable.c (freadable): Likewise.
44503         * lib/freading.c (freading): Likewise.
44504         * lib/freadptr.c (freadptr): Likewise.
44505         * lib/freadseek.c (freadptrinc): Likewise.
44506         * lib/fseeko.c (rpl_fseeko): Likewise.
44507         * lib/fseterr.c (fseterr): Likewise.
44508         * lib/fwritable.c (fwritable): Likewise.
44509         * lib/fwriting.c (fwriting): Likewise.
44510         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
44511         Hourihane.
44512         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
44513
44514 2009-02-28  Bruno Haible  <bruno@clisp.org>
44515
44516         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
44517         SIGCHLD.
44518         Reported by Jim Meyering.
44519
44520 2009-02-28  Bruno Haible  <bruno@clisp.org>
44521
44522         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
44523         Mention the results of these tests on various platforms.
44524         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
44525         order.
44526         * doc/posix-functions/printf.texi: Likewise.
44527         * doc/posix-functions/snprintf.texi: Likewise.
44528         * doc/posix-functions/sprintf.texi: Likewise.
44529         * doc/posix-functions/vfprintf.texi: Likewise.
44530         * doc/posix-functions/vprintf.texi: Likewise.
44531         * doc/posix-functions/vsnprintf.texi: Likewise.
44532         * doc/posix-functions/vsprintf.texi: Likewise.
44533         * doc/glibc-functions/obstack_printf.texi: Likewise.
44534         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
44535
44536 2009-02-28  Bruno Haible  <bruno@clisp.org>
44537
44538         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
44539         Reported by Loïc Minier <lool@dooz.org>.
44540
44541 2009-02-27  Bruno Haible  <bruno@clisp.org>
44542
44543         * gnulib-tool (func_import): Make the sed expression used to create the
44544         sed script for updating the .gitignore file POSIX compliant.
44545         Reported by Eric Blake.
44546
44547 2009-02-27  Bruno Haible  <bruno@clisp.org>
44548
44549         * gnulib-tool (sed): Don't alias as "sed --posix".
44550         Reported by Eric Blake.
44551
44552 2009-02-27  Bruno Haible  <bruno@clisp.org>
44553
44554         Avoid test link errors.
44555         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
44556         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
44557         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
44558         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
44559         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
44560
44561 2009-02-27  Bruno Haible  <bruno@clisp.org>
44562
44563         Avoid spurious "(cached)" in configure output.
44564         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
44565         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
44566         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
44567         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
44568         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
44569         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
44570         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
44571         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
44572         Reported by Eric Blake.
44573
44574 2009-02-27  Eric Blake  <ebb9@byu.net>
44575
44576         printf: fix regression in previous patch
44577         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
44578
44579 2009-02-27  Bruno Haible  <bruno@clisp.org>
44580
44581         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
44582         value.
44583         * lib/stdint.in.h: Likewise.
44584         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
44585
44586 2009-02-27  Eric Blake  <ebb9@byu.net>
44587
44588         doc: mention more functions added in cygwin 1.7.0
44589         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
44590         addition.
44591         * doc/posix-functions/open_wmemstream.texi: Likewise.
44592         * doc/posix-functions/wcsnlen.texi: Likewise.
44593         * doc/posix-functions/wcsnrtombs.texi: Likewise.
44594         * doc/posix-functions/wcstod.texi: Likewise.
44595         * doc/posix-functions/wcstof.texi: Likewise.
44596         * doc/posix-functions/wcstoimax.texi: Likewise.
44597         * doc/posix-functions/wcstok.texi: Likewise.
44598         * doc/posix-functions/wcstoumax.texi: Likewise.
44599
44600         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
44601         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
44602         * doc/posix-functions/fprintf.texi: Update.
44603         * doc/posix-functions/printf.texi: Update.
44604         * doc/posix-functions/snprintf.texi: Update.
44605         * doc/posix-functions/sprintf.texi: Update.
44606         * doc/posix-functions/vfprintf.texi: Update.
44607         * doc/posix-functions/vprintf.texi: Update.
44608         * doc/posix-functions/vsnprintf.texi: Update.
44609         * doc/posix-functions/vsprintf.texi: Update.
44610         * doc/glibc-functions/obstack_printf.texi: Update.
44611         * doc/glibc-functions/obstack_vprintf.texi: Update.
44612
44613 2009-02-26  Eric Blake  <ebb9@byu.net>
44614
44615         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
44616         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
44617         compilation bug by using runtime conversion.
44618         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
44619         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
44620         * modules/ceill-tests (Files): Use nan.h.
44621         * modules/floorl-tests (Files): Likewise.
44622         * modules/frexpl-tests (Files): Likewise.
44623         * modules/isnanl-tests (Files): Likewise.
44624         * modules/ldexpl-tests (Files): Likewise.
44625         * modules/roundl-tests (Files): Likewise.
44626         * modules/truncl-tests (Files): Likewise.
44627         * tests/test-ceill.c (main): Use a working NaN.
44628         * tests/test-floorl.c (main): Likewise.
44629         * tests/test-frexpl.c (main): Likewise.
44630         * tests/test-isnan.c (test_long_double): Likewise.
44631         * tests/test-isnanl.h (main): Likewise.
44632         * tests/test-ldexpl.h (main): Likewise.
44633         * tests/test-roundl.h (main): Likewise.
44634         * tests/test-truncl.h (main): Likewise.
44635         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
44636
44637 2009-02-26  Eric Blake  <ebb9@byu.net>
44638             Bruno Haible  <bruno@clisp.org>
44639
44640         Work around a *printf bug with %ls on Solaris.
44641         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
44642         precision is specified, sprintf stops converting the wide string
44643         argument when the number of bytes that have been produced by this
44644         conversion equals or exceeds the precision.
44645         * doc/posix-functions/fprintf.texi: Update.
44646         * doc/posix-functions/printf.texi: Update.
44647         * doc/posix-functions/snprintf.texi: Update.
44648         * doc/posix-functions/sprintf.texi: Update.
44649         * doc/posix-functions/vfprintf.texi: Update.
44650         * doc/posix-functions/vprintf.texi: Update.
44651         * doc/posix-functions/vsnprintf.texi: Update.
44652         * doc/posix-functions/vsprintf.texi: Update.
44653         * doc/glibc-functions/obstack_printf.texi: Update.
44654         * doc/glibc-functions/obstack_vprintf.texi: Update.
44655
44656 2009-02-26  Eric Blake  <ebb9@byu.net>
44657
44658         stdlib: favor compiler check of random.h
44659         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
44660         to avoid an ObjC random.h installed by Swarm.
44661
44662 2009-02-26  Bruno Haible  <bruno@clisp.org>
44663
44664         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
44665         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
44666         Reported by Gary V. Vaughan <gary@gnu.org>.
44667
44668 2009-02-26  Bruno Haible  <bruno@clisp.org>
44669
44670         Fix *printf behaviour regarding the %ls directive.
44671         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
44672         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
44673         NEED_PRINTF_DIRECTIVE_LS.
44674         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
44675         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
44676         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
44677         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
44678         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
44679         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
44680         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
44681         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
44682         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
44683         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
44684         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
44685         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
44686         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
44687         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
44688         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
44689         * doc/posix-functions/fprintf.texi: Update.
44690         * doc/posix-functions/printf.texi: Update.
44691         * doc/posix-functions/snprintf.texi: Update.
44692         * doc/posix-functions/sprintf.texi: Update.
44693         * doc/posix-functions/vfprintf.texi: Update.
44694         * doc/posix-functions/vprintf.texi: Update.
44695         * doc/posix-functions/vsnprintf.texi: Update.
44696         * doc/posix-functions/vsprintf.texi: Update.
44697         * doc/glibc-functions/obstack_printf.texi: Update.
44698         * doc/glibc-functions/obstack_vprintf.texi: Update.
44699         Reported by Eric Blake.
44700
44701 2009-02-25  Bruno Haible  <bruno@clisp.org>
44702
44703         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
44704         with known value.
44705         Reported by Gary V. Vaughan <gary@gnu.org>.
44706
44707 2009-02-25  Bruno Haible  <bruno@clisp.org>
44708
44709         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
44710         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
44711         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
44712         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
44713         Reported by Gary V. Vaughan <gary@gnu.org>.
44714
44715 2009-02-25  Bruno Haible  <bruno@clisp.org>
44716
44717         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
44718         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
44719         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
44720         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
44721         Reported by Gary V. Vaughan <gary@gnu.org>.
44722
44723 2009-02-25  Eric Blake  <ebb9@byu.net>
44724
44725         tests: skip fseek/ftell tests if ungetc is broken
44726         * m4/ungetc.m4: New file.
44727         * modules/fseek-tests: Split test, so ungetc dependency is
44728         separate from rest of test.
44729         * modules/fseeko-tests: Likewise.
44730         * modules/ftell-tests: Likewise.
44731         * modules/ftello-tests: Likewise.
44732         * tests/test-fseek.c (main): Isolate ungetc dependency.
44733         * tests/test-fseeko.c (main): Likewise.
44734         * tests/test-ftell.c (main): Likewise.
44735         * tests/test-ftello.c (main): Likewise.
44736         * tests/test-fseek2.sh: New file.
44737         * tests/test-fseeko2.sh: Likewise.
44738         * tests/test-ftell2.sh: Likewise.
44739         * tests/test-ftello2.sh: Likewise.
44740
44741 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
44742
44743         test-getaddrinfo: fix usage of skip return code 77
44744         * tests/test-gettaddrinfo.c: Return skip code 77 only
44745         for first occurance of skip (4x77 is not 77)
44746
44747 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
44748
44749         strtod: avoid C99 decl-after-statement
44750         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
44751
44752 2009-02-24  Eric Blake  <ebb9@byu.net>
44753
44754         strtod: detect HP-UX 11.31 bug
44755         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
44756         Reported by Gary V. Vaughan.
44757
44758 2009-02-23  Bruno Haible  <bruno@clisp.org>
44759
44760         Fix invalid read past end of memory block.
44761         * lib/vasnprintf.c (DCHAR_SET): Define.
44762         (local_wcslen): Define only when needed.
44763         (local_strnlen, local_wcsnlen): New functions.
44764         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
44765         directives that involve a conversion ourselves.
44766         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
44767         wcsnlen, mbrtowc, wcrtomb.
44768         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
44769         * tests/test-vasprintf-posix.c (test_function): Likewise.
44770         * tests/test-snprintf-posix.h (test_function): Likewise.
44771         * tests/test-sprintf-posix.h (test_function): Likewise.
44772         Reported by Ben Pfaff <blp@cs.stanford.edu>.
44773
44774 2009-02-22  Bruno Haible  <bruno@clisp.org>
44775
44776         Implement new clarified decomposition of Hangul syllables.
44777         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
44778         of type LTV, return only a pairwise decomposition.
44779         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
44780         Likewise.
44781         * tests/uninorm/test-decomposition.c (main): Updated expected result.
44782         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
44783         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
44784
44785 2009-02-22  Bruno Haible  <bruno@clisp.org>
44786
44787         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
44788         zero-length results and shrink excess allocated memory.
44789         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
44790         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
44791         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
44792         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
44793         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
44794         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
44795         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
44796         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
44797         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
44798         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
44799         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
44800         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
44801
44802 2009-02-21  Bruno Haible  <bruno@clisp.org>
44803
44804         * doc/gnulib.texi: Include safe-alloc.texi earlier.
44805         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
44806         spaces after a period. Put a space between a macro name and its
44807         argument list. Trivial rewordings.
44808         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
44809         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
44810         (main): Return 0 explicitly.
44811
44812 2009-02-21  Bruno Haible  <bruno@clisp.org>
44813
44814         Tests for module 'uninorm/filter'.
44815         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
44816         * modules/uninorm/filter-tests: New file.
44817
44818         New module 'uninorm/filter'.
44819         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
44820         uninorm_filter_flush, uninorm_filter_free): New declarations.
44821         * lib/uninorm/uninorm-filter.c: New file.
44822         * modules/uninorm/filter: New file.
44823
44824 2009-02-21  Bruno Haible  <bruno@clisp.org>
44825
44826         Tests for module 'uninorm/nfkc'.
44827         * tests/uninorm/test-nfkc.c: New file.
44828         * tests/uninorm/test-u8-nfkc.c: New file.
44829         * tests/uninorm/test-u16-nfkc.c: New file.
44830         * tests/uninorm/test-u32-nfkc.c: New file.
44831         * tests/uninorm/test-u32-nfkc-big.sh: New file.
44832         * tests/uninorm/test-u32-nfkc-big.c: New file.
44833         * modules/uninorm/nfkc-tests: New file.
44834
44835         New module 'uninorm/nfkc'.
44836         * lib/uninorm/nfkc.c: New file.
44837         * modules/uninorm/nfkc: New file.
44838
44839         Tests for module 'uninorm/nfkd'.
44840         * tests/uninorm/test-nfkd.c: New file.
44841         * tests/uninorm/test-u8-nfkd.c: New file.
44842         * tests/uninorm/test-u16-nfkd.c: New file.
44843         * tests/uninorm/test-u32-nfkd.c: New file.
44844         * tests/uninorm/test-u32-nfkd-big.sh: New file.
44845         * tests/uninorm/test-u32-nfkd-big.c: New file.
44846         * modules/uninorm/nfkd-tests: New file.
44847
44848         New module 'uninorm/nfkd'.
44849         * lib/uninorm/nfkd.c: New file.
44850         * modules/uninorm/nfkd: New file.
44851
44852         Tests for module 'uninorm/nfc'.
44853         * tests/uninorm/test-nfc.c: New file.
44854         * tests/uninorm/test-u8-nfc.c: New file.
44855         * tests/uninorm/test-u16-nfc.c: New file.
44856         * tests/uninorm/test-u32-nfc.c: New file.
44857         * tests/uninorm/test-u32-nfc-big.sh: New file.
44858         * tests/uninorm/test-u32-nfc-big.c: New file.
44859         * modules/uninorm/nfc-tests: New file.
44860
44861         New module 'uninorm/nfc'.
44862         * lib/uninorm/nfc.c: New file.
44863         * modules/uninorm/nfc: New file.
44864
44865         Tests for module 'uninorm/nfd'.
44866         * tests/uninorm/test-nfd.c: New file.
44867         * tests/uninorm/test-u8-nfd.c: New file.
44868         * tests/uninorm/test-u16-nfd.c: New file.
44869         * tests/uninorm/test-u32-nfd.c: New file.
44870         * tests/uninorm/test-u32-nfd-big.sh: New file.
44871         * tests/uninorm/test-u32-nfd-big.c: New file.
44872         * tests/uninorm/test-u32-normalize-big.h: New file.
44873         * tests/uninorm/test-u32-normalize-big.c: New file.
44874         * tests/uninorm/NormalizationTest.txt: New file, created from
44875         Unicode 5.1.0 NormalizationTest.txt.
44876         * modules/uninorm/nfd-tests: New file.
44877
44878         New module 'uninorm/nfd'.
44879         * lib/uninorm/nfd.c: New file.
44880         * modules/uninorm/nfd: New file.
44881
44882         New module 'uninorm/u32-normalize'.
44883         * lib/uninorm/u32-normalize.c: New file.
44884         * modules/uninorm/u32-normalize: New file.
44885
44886         New module 'uninorm/u16-normalize'.
44887         * lib/uninorm/u16-normalize.c: New file.
44888         * modules/uninorm/u16-normalize: New file.
44889
44890         New module 'uninorm/u8-normalize'.
44891         * lib/uninorm/u8-normalize.c: New file.
44892         * lib/uninorm/normalize-internal.h: New file.
44893         * lib/uninorm/u-normalize-internal.h: New file.
44894         * modules/uninorm/u8-normalize: New file.
44895
44896         New module 'uninorm/decompose-internal'.
44897         * lib/uninorm/decompose-internal.c: New file.
44898         * modules/uninorm/decompose-internal: New file.
44899
44900         Tests for module 'uninorm/composition'.
44901         * tests/uninorm/test-composition.c: New file.
44902         * modules/uninorm/composition-tests: New file.
44903
44904         New module 'uninorm/composition'.
44905         * lib/uninorm/composition.c: New file.
44906         * lib/uninorm/composition-table.gperf: New file, generated by
44907         gen-uni-tables.
44908         * modules/uninorm/composition: New file.
44909
44910         Tests for module 'uninorm/compat-decomposition'.
44911         * tests/uninorm/test-compat-decomposition.c: New file.
44912         * modules/uninorm/compat-decomposition-tests: New file.
44913
44914         New module 'uninorm/compat-decomposition'.
44915         * lib/uninorm/decompose-internal.h: New file.
44916         * lib/uninorm/compat-decomposition.c: New file.
44917         * modules/uninorm/compat-decomposition: New file.
44918
44919         Tests for module 'uninorm/canonical-decomposition'.
44920         * tests/uninorm/test-canonical-decomposition.c: New file.
44921         * modules/uninorm/canonical-decomposition-tests: New file.
44922
44923         New module 'uninorm/canonical-decomposition'.
44924         * lib/uninorm/canonical-decomposition.c: New file.
44925         * modules/uninorm/canonical-decomposition: New file.
44926
44927         Tests for module 'uninorm/decomposition'.
44928         * tests/uninorm/test-decomposition.c: New file.
44929         * modules/uninorm/decomposition-tests: New file.
44930
44931         New module 'uninorm/decomposition'.
44932         * lib/uninorm/decomposition.c: New file.
44933         * modules/uninorm/decomposition: New file.
44934
44935         New module 'uninorm/decomposition-table'.
44936         * lib/uninorm/decomposition-table.h: New file.
44937         * lib/uninorm/decomposition-table.c: New file.
44938         * lib/uninorm/decomposition-table1.h: New file, generated by
44939         gen-uni-tables.
44940         * lib/uninorm/decomposition-table2.h: New file, generated by
44941         gen-uni-tables.
44942         * modules/uninorm/decomposition-table: New file.
44943
44944         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
44945         (UC_DECOMP_*): New enumeration items.
44946         (get_decomposition): New function.
44947         (struct decomp_table): New type.
44948         (output_decomposition, output_decomposition_tables): New functions.
44949         (unicode_composition_exclusions): New variable.
44950         (fill_composition_exclusions, debug_output_composition_tables): New
44951         functions.
44952         (main): Accept one more argument. Invoke fill_composition_exclusions.
44953         Output decomposition and composition tables.
44954
44955         New module 'uninorm/base'.
44956         * lib/uninorm.h: New file.
44957         * lib/unictype.h: Update comment.
44958         * modules/uninorm/base: New file.
44959
44960 2009-02-21  David Lutterkort  <lutter@redhat.com>
44961
44962         Tests for module 'safe-alloc'.
44963         * tests/test-safe-alloc.c: New file.
44964         * modules/safe-alloc-tests: New file.
44965
44966         New module 'safe-alloc'.
44967         * lib/safe-alloc.h: New file.
44968         * lib/safe-alloc.c: New file.
44969         * m4/safe-alloc.m4: New file.
44970         * modules/safe-alloc: New file.
44971         * doc/safe-alloc.texi: New file.
44972         * doc/gnulib.texi: Include it.
44973         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
44974         safe-alloc.
44975
44976 2009-02-18  Bruno Haible  <bruno@clisp.org>
44977
44978         Fix link error on non-glibc systems.
44979         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
44980         variable.
44981         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
44982
44983 2009-02-18  Jim Meyering  <meyering@redhat.com>
44984
44985         fts: avoid used-uninitialized error due to recent change
44986         * lib/fts.c (fts_read): Guard uses of the new member,
44987         parent->fts_n_dirs_remaining, since it's not relevant for
44988         the parent of a directory specified on the command-line.
44989
44990 2009-02-17  James Youngman  <jay@gnu.org>
44991             Bruno Haible  <bruno@clisp.org>
44992
44993         * m4/include_next.m4: Reformulate comment.
44994
44995 2009-02-16  Jim Meyering  <meyering@redhat.com>
44996
44997         fts: add #if guards so that the fts_lgpl module still builds
44998         * lib/fts.c: Guard just-added hash-table-using parts with
44999         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
45000         Reported by Simon Josefsson.
45001
45002 2009-02-15  Bruno Haible  <bruno@clisp.org>
45003
45004         * modules/array-mergesort-tests: New file.
45005         * tests/test-array-mergesort.c: New file.
45006
45007         New module 'array-mergesort'.
45008         * modules/array-mergesort: New file.
45009         * lib/array-mergesort.h: New file.
45010
45011 2009-02-15  Bruno Haible  <bruno@clisp.org>
45012
45013         Fix 2009-02-07 commit.
45014         * lib/gen-uni-tables.c (output_predicate, output_category,
45015         output_combclass, output_bidi_category, output_decimal_digit,
45016         output_digit, output_numeric, output_mirror, output_scripts,
45017         output_ident_category, output_simple_mapping): Fix format directives.
45018         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
45019
45020 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
45021
45022         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
45023         fixes are available from IBM.
45024
45025 2009-02-13  Jim Meyering  <meyering@redhat.com>
45026
45027         fts: arrange not to stat non-directories in more cases
45028         This makes GNU find (when it doesn't need to stat each file)
45029         *much* more efficient at traversing reiserfs file systems.
45030         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
45031         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
45032         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
45033         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
45034         (leaf_optimization_applies): New function.
45035         (LCO_hash, LCO_compare): New helper functions.
45036         (link_count_optimize_ok): New function.
45037         (fts_stat): Initialize new member (if dir).
45038         (fts_read): Decrement parent's fts_n_dirs_remaining count if
45039         we've just stat'ed a directory.  Skip the stat call when possible.
45040         ---
45041         Note this AFS-related exchange:
45042         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
45043         and note find's pioctl call in find/fstype.c.
45044         But that is necessary only if you want to enable the
45045         optimization for AFS, and for now, I don't.
45046
45047         fts: move a function definition "up" (no semantic change)
45048         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
45049         "up" to precede upcoming use of a related function.
45050
45051 2009-02-11  Jim Meyering  <meyering@redhat.com>
45052
45053         fts: correct internal computation of nlinks (optimization-related)
45054         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
45055         whether the current entry is a directory, so don't test it.
45056
45057 2009-02-10  Bruno Haible  <bruno@clisp.org>
45058
45059         Tests for module 'uniwbrk/ulc-wordbreaks'.
45060         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
45061         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
45062         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
45063
45064         Tests for module 'uniwbrk/u32-wordbreaks'.
45065         * modules/uniwbrk/u32-wordbreaks-tests: New file.
45066         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
45067
45068         Tests for module 'uniwbrk/u16-wordbreaks'.
45069         * modules/uniwbrk/u16-wordbreaks-tests: New file.
45070         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
45071
45072         Tests for module 'uniwbrk/u8-wordbreaks'.
45073         * modules/uniwbrk/u8-wordbreaks-tests: New file.
45074         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
45075
45076 2009-02-10  Bruno Haible  <bruno@clisp.org>
45077
45078         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
45079         property.
45080         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
45081         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
45082         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
45083
45084 2009-02-10  Simon Josefsson  <simon@josefsson.org>
45085
45086         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
45087         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
45088
45089 2009-02-10  Bruno Haible  <bruno@clisp.org>
45090
45091         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
45092         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
45093         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
45094         * lib/unilbrk/u8-possible-linebreaks.c: Update.
45095         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
45096         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
45097
45098 2009-02-09  Simon Josefsson  <simon@josefsson.org>
45099
45100         * lib/sockets.h (gl_fd_to_handle): New function.
45101
45102         * tests/test-sockets.c: Call gl_fd_to_handle.
45103
45104 2009-02-09  Bruno Haible  <bruno@clisp.org>
45105
45106         * doc/havelib.texi: Document the conventions on bi-arch systems.
45107
45108 2009-02-08  Bruno Haible  <bruno@clisp.org>
45109
45110         Document the AC_LIB_LINKFLAGS macro.
45111         * doc/havelib.texi: New file, mostly written on 2005-05-24.
45112         * doc/gnulib.texi: Include it.
45113
45114 2009-02-08  Bruno Haible  <bruno@clisp.org>
45115
45116         Fix wrong order of sections, compared to TOC.
45117         * doc/gnulib.texi: Include relocatable-maint.texi after the
45118         "Regular expressions" node, not before.
45119
45120 2009-02-08  Bruno Haible  <bruno@clisp.org>
45121
45122         Tests for module 'unicase/totitle'.
45123         * modules/unicase/totitle-tests: New file.
45124
45125         Tests for module 'unicase/tolower'.
45126         * modules/unicase/tolower-tests: New file.
45127
45128         Tests for module 'unicase/toupper'.
45129         * modules/unicase/toupper-tests: New file.
45130         * tests/unicase/test-mapping-part1.h: New file.
45131         * tests/unicase/test-mapping-part2.h: New file.
45132
45133         New module 'unicase/totitle'.
45134         * modules/unicase/totitle: New file.
45135         * lib/unicase/totitle.c: New file.
45136
45137         New module 'unicase/tolower'.
45138         * modules/unicase/tolower: New file.
45139         * lib/unicase/tolower.c: New file.
45140
45141         New module 'unicase/toupper'.
45142         * modules/unicase/toupper: New file.
45143         * lib/unicase/toupper.c: New file.
45144         * lib/unicase/simple-mapping.h: New file.
45145
45146         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
45147         (mapping_table): New structure.
45148         (output_simple_mapping): New function.
45149         (main): Invoke output_simple_mapping_test and output_simple_mapping.
45150         * modules/gen-uni-tables (Description): Update.
45151         * lib/unicase/toupper.h: New file, automatically generated by
45152         gen-uni-tables.
45153         * lib/unicase/tolower.h: New file, automatically generated by
45154         gen-uni-tables.
45155         * lib/unicase/totitle.h: New file, automatically generated by
45156         gen-uni-tables.
45157         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
45158         gen-uni-tables.
45159         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
45160         gen-uni-tables.
45161         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
45162         gen-uni-tables.
45163
45164         New module 'unicase/base'.
45165         * modules/unicase/base: New file.
45166         * lib/unicase.h: New file.
45167
45168 2009-02-08  Bruno Haible  <bruno@clisp.org>
45169
45170         New module 'uniwbrk/ulc-wordbreaks'.
45171         * modules/uniwbrk/ulc-wordbreaks: New file.
45172         * lib/uniwbrk/ulc-wordbreaks.c: New file.
45173
45174         New module 'uniwbrk/u32-wordbreaks'.
45175         * modules/uniwbrk/u32-wordbreaks: New file.
45176         * lib/uniwbrk/u32-wordbreaks.c: New file.
45177
45178         New module 'uniwbrk/u16-wordbreaks'.
45179         * modules/uniwbrk/u16-wordbreaks: New file.
45180         * lib/uniwbrk/u16-wordbreaks.c: New file.
45181
45182         New module 'uniwbrk/u8-wordbreaks'.
45183         * modules/uniwbrk/u8-wordbreaks: New file.
45184         * lib/uniwbrk/u8-wordbreaks.c: New file.
45185         * lib/uniwbrk/u-wordbreaks.h: New file.
45186
45187         New module 'uniwbrk/table'.
45188         * modules/uniwbrk/table: New file.
45189         * lib/uniwbrk/wbrktable.h: New file.
45190         * lib/uniwbrk/wbrktable.c: New file.
45191
45192         New module 'uniwbrk/wordbreak-property'.
45193         * modules/uniwbrk/wordbreak-property: New file.
45194         * lib/uniwbrk/wordbreak-property.c: New file.
45195
45196         * lib/gen-uni-tables.c (WBP_*): New enum items.
45197         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
45198         (unicode_org_wbp): New variable.
45199         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
45200         New functions.
45201         (wbp_table): New structure.
45202         (output_wbp, output_wbrk_tables): New functions.
45203         (main): Accept additional argument. Invoke fill_org_wbp,
45204         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
45205         output_wbrk_tables.
45206         * modules/gen-uni-tables (Description): Update.
45207         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
45208         gen-uni-tables.
45209
45210         New module 'uniwbrk/base'.
45211         * modules/uniwbrk/base: New file.
45212         * lib/uniwbrk.h: New file.
45213
45214 2009-02-08  Bruno Haible  <bruno@clisp.org>
45215
45216         Update to Unicode 5.1.0.
45217         * lib/gen-uni-tables.c (is_property_alphabetic): Include
45218         U+2185..U+2188.
45219         (is_property_default_ignorable_code_point): Don't include characters
45220         of category Cc or Cs and not-a-characters.
45221         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
45222         U+0D79, U+109E, U+109F, U+A60C.
45223         * lib/unictype/bidi_of.h: Regenerated.
45224         * lib/unictype/blocks.h: Regenerated.
45225         * lib/unictype/categ_C.h: Regenerated.
45226         * lib/unictype/categ_Cf.h: Regenerated.
45227         * lib/unictype/categ_Cn.h: Regenerated.
45228         * lib/unictype/categ_L.h: Regenerated.
45229         * lib/unictype/categ_Ll.h: Regenerated.
45230         * lib/unictype/categ_Lm.h: Regenerated.
45231         * lib/unictype/categ_Lo.h: Regenerated.
45232         * lib/unictype/categ_Lu.h: Regenerated.
45233         * lib/unictype/categ_M.h: Regenerated.
45234         * lib/unictype/categ_Mc.h: Regenerated.
45235         * lib/unictype/categ_Me.h: Regenerated.
45236         * lib/unictype/categ_Mn.h: Regenerated.
45237         * lib/unictype/categ_N.h: Regenerated.
45238         * lib/unictype/categ_Nd.h: Regenerated.
45239         * lib/unictype/categ_Nl.h: Regenerated.
45240         * lib/unictype/categ_No.h: Regenerated.
45241         * lib/unictype/categ_P.h: Regenerated.
45242         * lib/unictype/categ_Pd.h: Regenerated.
45243         * lib/unictype/categ_Pe.h: Regenerated.
45244         * lib/unictype/categ_Pf.h: Regenerated.
45245         * lib/unictype/categ_Pi.h: Regenerated.
45246         * lib/unictype/categ_Po.h: Regenerated.
45247         * lib/unictype/categ_Ps.h: Regenerated.
45248         * lib/unictype/categ_S.h: Regenerated.
45249         * lib/unictype/categ_Sk.h: Regenerated.
45250         * lib/unictype/categ_Sm.h: Regenerated.
45251         * lib/unictype/categ_So.h: Regenerated.
45252         * lib/unictype/categ_of.h: Regenerated.
45253         * lib/unictype/combining.h: Regenerated.
45254         * lib/unictype/ctype_alnum.h: Regenerated.
45255         * lib/unictype/ctype_alpha.h: Regenerated.
45256         * lib/unictype/ctype_graph.h: Regenerated.
45257         * lib/unictype/ctype_lower.h: Regenerated.
45258         * lib/unictype/ctype_print.h: Regenerated.
45259         * lib/unictype/ctype_punct.h: Regenerated.
45260         * lib/unictype/ctype_upper.h: Regenerated.
45261         * lib/unictype/decdigit.h: Regenerated.
45262         * lib/unictype/digit.h: Regenerated.
45263         * lib/unictype/mirror.h: Regenerated.
45264         * lib/unictype/numeric.h: Regenerated.
45265         * lib/unictype/pr_alphabetic.h: Regenerated.
45266         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
45267         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
45268         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
45269         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
45270         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
45271         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
45272         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
45273         * lib/unictype/pr_combining.h: Regenerated.
45274         * lib/unictype/pr_dash.h: Regenerated.
45275         * lib/unictype/pr_decimal_digit.h: Regenerated.
45276         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
45277         * lib/unictype/pr_deprecated.h: Regenerated.
45278         * lib/unictype/pr_diacritic.h: Regenerated.
45279         * lib/unictype/pr_extender.h: Regenerated.
45280         * lib/unictype/pr_format_control.h: Regenerated.
45281         * lib/unictype/pr_grapheme_base.h: Regenerated.
45282         * lib/unictype/pr_grapheme_extend.h: Regenerated.
45283         * lib/unictype/pr_grapheme_link.h: Regenerated.
45284         * lib/unictype/pr_id_continue.h: Regenerated.
45285         * lib/unictype/pr_id_start.h: Regenerated.
45286         * lib/unictype/pr_ideographic.h: Regenerated.
45287         * lib/unictype/pr_ignorable_control.h: Regenerated.
45288         * lib/unictype/pr_lowercase.h: Regenerated.
45289         * lib/unictype/pr_math.h: Regenerated.
45290         * lib/unictype/pr_numeric.h: Regenerated.
45291         * lib/unictype/pr_other_alphabetic.h: Regenerated.
45292         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
45293         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
45294         * lib/unictype/pr_other_id_continue.h: Regenerated.
45295         * lib/unictype/pr_other_lowercase.h: Regenerated.
45296         * lib/unictype/pr_other_math.h: Regenerated.
45297         * lib/unictype/pr_punctuation.h: Regenerated.
45298         * lib/unictype/pr_sentence_terminal.h: Regenerated.
45299         * lib/unictype/pr_soft_dotted.h: Regenerated.
45300         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
45301         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
45302         * lib/unictype/pr_unified_ideograph.h: Regenerated.
45303         * lib/unictype/pr_uppercase.h: Regenerated.
45304         * lib/unictype/pr_xid_continue.h: Regenerated.
45305         * lib/unictype/pr_xid_start.h: Regenerated.
45306         * lib/unictype/pr_zero_width.h: Regenerated.
45307         * lib/unictype/scripts.h: Regenerated.
45308         * lib/unictype/scripts_byname.gperf: Regenerated.
45309         * lib/unictype/sy_java_ident.h: Regenerated.
45310         * lib/unilbrk/lbrkprop1.h: Regenerated.
45311         * lib/unilbrk/lbrkprop2.h: Regenerated.
45312         * tests/unictype/test-categ_C.c: Regenerated.
45313         * tests/unictype/test-categ_Cf.c: Regenerated.
45314         * tests/unictype/test-categ_Cn.c: Regenerated.
45315         * tests/unictype/test-categ_L.c: Regenerated.
45316         * tests/unictype/test-categ_Ll.c: Regenerated.
45317         * tests/unictype/test-categ_Lm.c: Regenerated.
45318         * tests/unictype/test-categ_Lo.c: Regenerated.
45319         * tests/unictype/test-categ_Lu.c: Regenerated.
45320         * tests/unictype/test-categ_M.c: Regenerated.
45321         * tests/unictype/test-categ_Mc.c: Regenerated.
45322         * tests/unictype/test-categ_Me.c: Regenerated.
45323         * tests/unictype/test-categ_Mn.c: Regenerated.
45324         * tests/unictype/test-categ_N.c: Regenerated.
45325         * tests/unictype/test-categ_Nd.c: Regenerated.
45326         * tests/unictype/test-categ_Nl.c: Regenerated.
45327         * tests/unictype/test-categ_No.c: Regenerated.
45328         * tests/unictype/test-categ_P.c: Regenerated.
45329         * tests/unictype/test-categ_Pd.c: Regenerated.
45330         * tests/unictype/test-categ_Pe.c: Regenerated.
45331         * tests/unictype/test-categ_Pf.c: Regenerated.
45332         * tests/unictype/test-categ_Pi.c: Regenerated.
45333         * tests/unictype/test-categ_Po.c: Regenerated.
45334         * tests/unictype/test-categ_Ps.c: Regenerated.
45335         * tests/unictype/test-categ_S.c: Regenerated.
45336         * tests/unictype/test-categ_Sk.c: Regenerated.
45337         * tests/unictype/test-categ_Sm.c: Regenerated.
45338         * tests/unictype/test-categ_So.c: Regenerated.
45339         * tests/unictype/test-ctype_alnum.c: Regenerated.
45340         * tests/unictype/test-ctype_alpha.c: Regenerated.
45341         * tests/unictype/test-ctype_graph.c: Regenerated.
45342         * tests/unictype/test-ctype_lower.c: Regenerated.
45343         * tests/unictype/test-ctype_print.c: Regenerated.
45344         * tests/unictype/test-ctype_punct.c: Regenerated.
45345         * tests/unictype/test-ctype_upper.c: Regenerated.
45346         * tests/unictype/test-decdigit.h: Regenerated.
45347         * tests/unictype/test-digit.h: Regenerated.
45348         * tests/unictype/test-numeric.h: Regenerated.
45349         * tests/unictype/test-pr_alphabetic.c: Regenerated.
45350         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
45351         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
45352         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
45353         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
45354         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
45355         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
45356         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
45357         * tests/unictype/test-pr_combining.c: Regenerated.
45358         * tests/unictype/test-pr_dash.c: Regenerated.
45359         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
45360         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
45361         * tests/unictype/test-pr_deprecated.c: Regenerated.
45362         * tests/unictype/test-pr_diacritic.c: Regenerated.
45363         * tests/unictype/test-pr_extender.c: Regenerated.
45364         * tests/unictype/test-pr_format_control.c: Regenerated.
45365         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
45366         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
45367         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
45368         * tests/unictype/test-pr_id_continue.c: Regenerated.
45369         * tests/unictype/test-pr_id_start.c: Regenerated.
45370         * tests/unictype/test-pr_ideographic.c: Regenerated.
45371         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
45372         * tests/unictype/test-pr_lowercase.c: Regenerated.
45373         * tests/unictype/test-pr_math.c: Regenerated.
45374         * tests/unictype/test-pr_numeric.c: Regenerated.
45375         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
45376         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
45377         Regenerated.
45378         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
45379         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
45380         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
45381         * tests/unictype/test-pr_other_math.c: Regenerated.
45382         * tests/unictype/test-pr_punctuation.c: Regenerated.
45383         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
45384         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
45385         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
45386         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
45387         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
45388         * tests/unictype/test-pr_uppercase.c: Regenerated.
45389         * tests/unictype/test-pr_xid_continue.c: Regenerated.
45390         * tests/unictype/test-pr_xid_start.c: Regenerated.
45391         * tests/unictype/test-pr_zero_width.c: Regenerated.
45392
45393         Update to Unicode 5.1.0.
45394         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
45395         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
45396         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
45397         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
45398         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
45399         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
45400         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
45401         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
45402         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
45403         (nonspacing_table_ind): Update.
45404         * tests/uniwidth/test-uc_width2.sh: Update expected result.
45405
45406         Update to Unicode 5.1.0.
45407         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
45408         code transform.
45409         * lib/uniname/uniname.c (unicode_character_name,
45410         unicode_name_character): Add the range 0x1Fxxx to the code transform.
45411         * lib/uniname/uninames.h: Regenerated.
45412         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
45413
45414 2009-02-07  Bruno Haible  <bruno@clisp.org>
45415
45416         Merge gen-ctype and gen-lbrk into a single program.
45417         * lib/gen-uni-tables.c: New file, incorporating
45418         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
45419         Add directory prefixes to the names of the generated files.
45420         * lib/unictype/gen-ctype.c: Remove file.
45421         * lib/unilbrk/gen-lbrk.c: Remove file.
45422         * modules/gen-uni-tables: New file.
45423         * modules/unictype/gen-ctype: Remove file.
45424         * modules/unilbrk/gen-lbrk: Remove file.
45425
45426 2009-02-07  Bruno Haible  <bruno@clisp.org>
45427
45428         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
45429
45430         New module 'unistr/u32-strcoll'.
45431         * modules/unistr/u32-strcoll: New file.
45432         * lib/unistr/u32-strcoll.c: New file.
45433
45434         New module 'unistr/u16-strcoll'.
45435         * modules/unistr/u16-strcoll: New file.
45436         * lib/unistr/u16-strcoll.c: New file.
45437
45438         New module 'unistr/u8-strcoll'.
45439         * modules/unistr/u8-strcoll: New file.
45440         * lib/unistr/u8-strcoll.c: New file.
45441         * lib/unistr/u-strcoll.h: New file.
45442
45443 2009-02-07  Bruno Haible  <bruno@clisp.org>
45444
45445         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
45446         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
45447         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
45448         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
45449         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
45450         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
45451
45452 2009-02-07  Bruno Haible  <bruno@clisp.org>
45453
45454         Make 64-bit clean.
45455         * lib/unictype/gen-ctype.c (output_predicate, output_category,
45456         output_combclass, output_bidi_category, output_decimal_digit,
45457         output_digit, output_numeric, output_mirror, output_scripts,
45458         output_ident_category): Use proper width specifier in format strings.
45459
45460 2009-02-07  Bruno Haible  <bruno@clisp.org>
45461
45462         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
45463         failure behaviour.
45464
45465 2009-02-07  Jim Meyering  <meyering@redhat.com>
45466
45467         regex: avoid compilation failure with upcoming gcc-4.4
45468         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
45469         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
45470         "... error: integer overflow in preprocessor expression".
45471
45472 2009-02-05  Ben Pfaff  <blp@gnu.org>
45473
45474         Fix link errors on Windows when close module is used.
45475         * modules/close: Add $(LIB_CLOSE) to Link section.
45476         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
45477         $(LIB_CLOSE) on Windows.
45478
45479 2009-02-05  Jim Meyering  <meyering@redhat.com>
45480
45481         still avoid unused-parameter warnings, but do it cleanly
45482         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
45483         (get_fs_usage): Cast to void instead.
45484         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
45485         (dev_from_mount_options, read_file_system_list): Cast to void.
45486         Prompted by Bruno Haible.
45487
45488 2009-02-04  Jim Meyering  <meyering@redhat.com>
45489
45490         fsusage.c: correct copyright year
45491         * lib/fsusage.c: Reflect year in which the change is pushed into
45492
45493         avoid misc. warnings
45494         * lib/fsusage.c (UNUSED_PARAM): Define.
45495         (get_fs_usage): Mark parameter "disk" as unused.
45496         * lib/getugroups.c (getgrent): Use "void" in prototype.
45497         * lib/mountlist.c: Mark unused parameters.
45498         (read_file_system_list): Declare a local with "const".
45499         * lib/nanosleep.c (getnow): Declare static.
45500         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
45501
45502         dirfd: set errno upon failure
45503         * lib/dirfd.c: Include <errno.h>.
45504         Set errno to ENOTSUP when returning -1.
45505         * modules/dirfd (Depends-on): Add errno.
45506         Suggested by John Kodis <kodis@comcast.net>.
45507
45508 2009-02-01  Bruno Haible  <bruno@clisp.org>
45509
45510         Don't assume sizeof (long) >= sizeof (void *).
45511         * lib/memcmp.c: Include stdint.h.
45512         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
45513         srcp2 to 'const byte *'.
45514         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
45515         types to uintptr_t.
45516         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
45517         * modules/memcmp (Depends-on): Add stdint.
45518         Reported by Ozkan Sezer <sezeroz@gmail.com>.
45519
45520 2009-01-30  Eric Blake  <ebb9@byu.net>
45521
45522         fix more require-before-expand issues
45523         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
45524         expand, AC_PROG_AWK.
45525         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
45526
45527 2009-01-28  Eric Blake  <ebb9@byu.net>
45528
45529         version-etc: use consistent URL formatting
45530         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
45531         Improve formatting.  Use fputs for string without %.
45532
45533 2009-01-28  Jim Meyering  <meyering@redhat.com>
45534
45535         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
45536         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
45537         "underquoted definition of NAME" from autoconf-2.59.
45538
45539 2009-01-28  Bruno Haible  <bruno@clisp.org>
45540
45541         * doc/gnulib.texi: Add "Obsolete modules" to index.
45542
45543 2009-01-28  Jim Meyering  <meyering@redhat.com>
45544
45545         useless-if-before-free: recognize more variants
45546         * build-aux/useless-if-before-free: Also recognize e.g.,
45547         if (NULL != p) free (p);
45548
45549 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
45550
45551         test-getaddrinfo: skip (don't fail) this test when there's no network
45552         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
45553         on the presumption that it means you lack network access.
45554
45555 2009-01-26  Jim Meyering  <meyering@redhat.com>
45556
45557         fflush: avoid warnings on modern systems
45558         * lib/fflush.c (rpl_fflush): Move declarations of locals,
45559         pos and result, into scopes where they're used.
45560
45561 2009-01-26  Eric Blake  <ebb9@byu.net>
45562
45563         Silence warning reintroduced by recent extensions patch.
45564         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
45565         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
45566         autoconf.
45567
45568         Backport improved autoconf semantics of AC_DEFUN_ONCE.
45569         * m4/00gnulib.m4: New file.
45570         * gnulib-tool (func_get_filelist): Always use it.
45571         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
45572         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
45573
45574 2009-01-25  Bruno Haible  <bruno@clisp.org>
45575
45576         Make test-quotearg work on MacOS X and AIX.
45577         * tests/test-quotearg.sh: New file.
45578         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
45579         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
45580         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
45581         include <libintl.h>.
45582         (fake_locale): Remove variable.
45583         (gettext, dgettext, dcgettext): Remove functions.
45584         (main): Instead of setting a fake locale, set a real locale. Call
45585         textdomain and bindtextdomain.
45586         * modules/quotearg-tests (Files): Add the new files.
45587         (Depends-on): Add gettext, setenv, unsetenv.
45588         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
45589         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
45590         Augment TESTS_ENVIRONMENT.
45591
45592 2009-01-25  Bruno Haible  <bruno@clisp.org>
45593
45594         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
45595         fr_FR.ISO8859-1 locale on MacOS X.
45596         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
45597         ja_JP.eucJP locale on MacOS X.
45598         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
45599         zh_CN.GB18030 locale on MacOS X.
45600
45601 2009-01-25  Bruno Haible  <bruno@clisp.org>
45602
45603         Avoid link errors on MacOS X 10.3.
45604         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
45605         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
45606
45607 2009-01-25  Bruno Haible  <bruno@clisp.org>
45608
45609         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
45610         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
45611         * modules/pipe (Files): Remove m4/posix_spawn.m4.
45612         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
45613         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
45614         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
45615         posix_spawnattr_init, posix_spawnattr_setsigmask,
45616         posix_spawnattr_setflags, posix_spawnattr_destroy.
45617
45618         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
45619         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
45620         * modules/execute (Files): Remove m4/posix_spawn.m4.
45621         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
45622         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
45623         posix_spawnattr_init, posix_spawnattr_setsigmask,
45624         posix_spawnattr_setflags, posix_spawnattr_destroy.
45625
45626 2009-01-25  Bruno Haible  <bruno@clisp.org>
45627
45628         * lib/glthread/threadlib.c: Include <stdlib.h>.
45629
45630 2009-01-25  Bruno Haible  <bruno@clisp.org>
45631
45632         * lib/glthread/threadlib.c (dummy): New declaration.
45633
45634 2009-01-25  Bruno Haible  <bruno@clisp.org>
45635
45636         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
45637         multibyte characters also for the GB18030 encoding. Don't crash when
45638         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
45639
45640 2009-01-25  Bruno Haible  <bruno@clisp.org>
45641
45642         Avoid redefining 'struct random_data' on OSF/1 5.1.
45643         * lib/stdlib.in.h: Include <random.h> if it exists.
45644         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
45645         HAVE_RANDOM_H. Include <random.h> when testing whether
45646         'struct random_data' exists.
45647         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
45648
45649 2009-01-25  Bruno Haible  <bruno@clisp.org>
45650
45651         Don't install charset.alias on MacOS X >= 10.3.
45652         * lib/localcharset.c (DARWIN7): New macro.
45653         (get_charset_aliases): Hardcode the result for Darwin7.
45654         * modules/localcharset (install-exec-local): Don't install
45655         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
45656
45657 2009-01-25  Bruno Haible  <bruno@clisp.org>
45658
45659         Don't install charset.alias on mingw and Cygwin.
45660         * modules/localcharset (install-exec-local): Don't install
45661         charset.alias on mingw and Cygwin, if the file does not yet exist.
45662         The result for these platforms is hardcoded in localcharset.c.
45663
45664 2009-01-25  Bruno Haible  <bruno@clisp.org>
45665
45666         Make it possible again to use AC_GNU_SOURCE together with gnulib.
45667         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
45668         before requiring AC_USE_SYSTEM_EXTENSIONS.
45669
45670 2009-01-25  Jim Meyering  <meyering@redhat.com>
45671
45672         c-strtod: avoid warnings
45673         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
45674         "assignment discards qualifiers from pointer target type" warnings.
45675
45676 2009-01-24  Bruno Haible  <bruno@clisp.org>
45677
45678         Add support for non-UTF-8 locales on MacOS X.
45679         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
45680         canonical encodings. For Darwin 7 and newer, don't map traditional
45681         encodings to UTF-8.
45682         Reported by Vincent Lefevre <vincent@vinc17.org>
45683         at <http://savannah.gnu.org/bugs/?25235>.
45684
45685 2009-01-24  Bruno Haible  <bruno@clisp.org>
45686
45687         * doc/gnulib.texi (Obsolete modules): New section.
45688         Reported by Mike Frysinger <vapier@gentoo.org>.
45689
45690 2009-01-24  Bruno Haible  <bruno@clisp.org>
45691
45692         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
45693         (%.dvi): New rule.
45694
45695 2009-01-24  Bruno Haible  <bruno@clisp.org>
45696
45697         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
45698         Reported by Eric Blake.
45699
45700 2009-01-24  Bruno Haible  <bruno@clisp.org>
45701
45702         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
45703         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
45704         Reported by Gary V. Vaughan <gary@gnu.org>.
45705
45706 2009-01-24  Bruno Haible  <bruno@clisp.org>
45707
45708         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
45709
45710 2009-01-23  Bruno Haible  <bruno@clisp.org>
45711
45712         Make c-strtod, c-strtold usable in libraries.
45713         * lib/c-strtod.c: Include string.h instead of xalloc.h.
45714         (C_STRTOD): Call strdup instead of xstrdup.
45715         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
45716         * modules/c-strtold (Depends-on): Likewise.
45717         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
45718         * NEWS: Mention the change.
45719         Reported by Michael Gold <mgold@ncf.ca>.
45720
45721 2009-01-23  Jim Meyering  <meyering@redhat.com>
45722
45723         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
45724         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
45725         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
45726
45727 2009-01-23  Simon Josefsson  <simon@josefsson.org>
45728
45729         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
45730         GNU CoreUtils.
45731         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
45732         * modules/version-etc (Description): Update.
45733
45734 2009-01-22  Bruno Haible  <bruno@clisp.org>
45735
45736         Cache the C locale object.
45737         * lib/c-strtod.c (c_locale_cache): New variable.
45738         (c_locale): New function.
45739         (C_STRTOD): Use it, and don't call freelocale.
45740         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
45741         Suggested by Paolo Bonzini.
45742
45743 2009-01-21  Bruno Haible  <bruno@clisp.org>
45744
45745         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
45746         conditions other than overflow.
45747
45748 2009-01-21  Bruno Haible  <bruno@clisp.org>
45749
45750         * lib/c-strtod.c: Include errno.h.
45751         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
45752         value from STRTOD_L and STRTOD.
45753
45754 2009-01-21  Bruno Haible  <bruno@clisp.org>
45755         and Jim Meyering  <meyering@redhat.com>
45756
45757         nanosleep: skip configure test (fail it) for apple universal builds
45758         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
45759         universal builds, assume that nanosleep does not work.
45760         * modules/nanosleep (Depends-on): Add multiarch.
45761
45762         mktime: skip configure test (fail it) for apple universal builds
45763         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
45764         universal builds, assume that mktime does not work.
45765         * modules/mktime (Depends-on): Add multiarch.
45766
45767 2009-01-21  Eric Blake  <ebb9@byu.net>
45768
45769         multiarch: avoid expand-before-require warning
45770         * modules/multiarch (configure.ac): Require, rather than expand,
45771         gl_MULTIARCH.
45772         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
45773         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
45774         enforce that all clients require it.  Partial reversion of
45775         2008-12-29 patch.
45776
45777         error: avoid expand-before-require warning
45778         * modules/errno (configure.ac): Require, rather than expand,
45779         gl_HEADER_ERRNO_H.
45780         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
45781         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
45782         enforce that all clients require it.
45783
45784         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
45785         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
45786         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
45787         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
45788
45789 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
45790
45791         Revert:
45792         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
45793
45794         regex: do not depend on obsolete modules.
45795         * modules/regex: Remove memcmp and memmove.
45796
45797 2009-01-20  Bruno Haible  <bruno@clisp.org>
45798
45799         Make the 'link' module link on Windows NT 4.
45800         * lib/link.c (_WIN32_WINNT): Don't define.
45801         (CreateHardLinkFuncType): New type.
45802         (CreateHardLinkFunc, initialized): New variables.
45803         (initialize): New function.
45804         (link): Invoke CreateHardLink indirectly through the function pointer.
45805
45806 2009-01-20  Bruno Haible  <bruno@clisp.org>
45807
45808         Fix compilation failure on mingw.
45809         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
45810
45811 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
45812
45813         * doc/c-strtod.texi: Mention a couple of restrictions.
45814
45815 2009-01-20  Jim Meyering  <meyering@redhat.com>
45816
45817         gettimeofday: move more declarations out of functions
45818         * lib/gettimeofday.c: Move extern declarations of tzset and
45819         gmtime out of containing functions.  Prompted by Bruno Haible.
45820
45821 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
45822
45823         regex: do not depend on obsolete modules.
45824         * modules/regex: Remove memcmp and memmove.
45825
45826 2009-01-19  Bruno Haible  <bruno@clisp.org>
45827
45828         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
45829         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
45830         gl_BIGENDIAN, not AC_C_BIGENDIAN.
45831         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
45832         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
45833
45834 2009-01-19  Bruno Haible  <bruno@clisp.org>
45835
45836         * tests/test-link.c: Include <errno.h>.
45837         (main): Exit with code 77 when a hard link cannot be created due to
45838         the file system.
45839         * tests/test-link.sh: Skip test when a hard link cannot be created due
45840         to the file system.
45841         Suggested by Eric Blake.
45842
45843 2009-01-19  Martin Lambers  <marlam@marlam.de>
45844
45845         * modules/link-tests: New file.
45846         * tests/test-link.sh: New file.
45847         * tests/test-link.c: New file.
45848
45849 2009-01-19  Eric Blake  <ebb9@byu.net>
45850
45851         doc: mention another function added in cygwin 1.7.0
45852         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
45853         Another new function in cygwin 1.7.
45854
45855 2009-01-19  Bruno Haible  <bruno@clisp.org>
45856
45857         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
45858         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
45859         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
45860         gl_BIGENDIAN, not AC_C_BIGENDIAN.
45861         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
45862         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
45863         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
45864         * m4/md4.m4 (gl_MD4): Likewise.
45865         * m4/md5.m4 (gl_MD5): Likewise.
45866         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
45867         * m4/sha1.m4 (gl_SHA1): Likewise.
45868         * m4/sha256.m4 (gl_SHA256): Likewise.
45869         * m4/sha512.m4 (gl_SHA512): Likewise.
45870
45871 2009-01-19  Bruno Haible  <bruno@clisp.org>
45872
45873         * modules/uniname/uniname-tests (Depends-on): Add progname.
45874         * tests/uniname/test-uninames.c: Include progname.h.
45875         (main): Call set_program_name.
45876
45877         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
45878         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
45879         (main): Call set_program_name.
45880
45881         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
45882         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
45883         (main): Call set_program_name.
45884
45885         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
45886         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
45887         (main): Call set_program_name.
45888
45889         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
45890         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
45891         (main): Call set_program_name.
45892
45893         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
45894         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
45895         (main): Call set_program_name.
45896
45897         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
45898         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
45899         (main): Call set_program_name.
45900
45901         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
45902         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
45903         (main): Call set_program_name.
45904
45905         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
45906         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
45907         (main): Call set_program_name.
45908
45909 2009-01-19  Eric Blake  <ebb9@byu.net>
45910
45911         test-unistd: test previous patch
45912         * tests/test-unistd.c: Test *_FILENO macros.
45913
45914         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
45915         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
45916         Guarantee a definition.
45917         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
45918         * modules/unistd-safer (Depends-on): Add dependency on unistd.
45919         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
45920         * lib/dup-safer.c (STDERR_FILENO): Likewise.
45921         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
45922         Likewise.
45923         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
45924         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
45925         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
45926         Likewise.
45927         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
45928         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
45929         (STDERR_FILENO): Likewise.
45930         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
45931         (STDERR_FILENO): Likewise.
45932         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
45933         (STDERR_FILENO): Likewise.
45934         Reported by Elbert Pol.
45935
45936 2009-01-19  Eric Blake  <ebb9@byu.net>
45937
45938         doc: mention more functions added in cygwin 1.7.0
45939         * doc/posix-functions/abort.texi (abort): Update wording related
45940         to cygwin.
45941         * doc/posix-functions/daylight.texi (daylight): Likewise.
45942         * doc/posix-functions/optarg.texi (optarg): Likewise.
45943         * doc/posix-functions/optarg.texi (opterr): Likewise.
45944         * doc/posix-functions/optarg.texi (optind): Likewise.
45945         * doc/posix-functions/optarg.texi (optopt): Likewise.
45946         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
45947         worked in 1.5.x, and was withdrawn in 1.7.
45948         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
45949         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
45950         cygwin versions.
45951         * doc/posix-functions/perror.texi (perror): Likewise.
45952         * doc/posix-functions/printf.texi (printf): Likewise.
45953         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
45954         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
45955         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
45956         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
45957         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
45958         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
45959         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
45960         Likewise.
45961         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
45962         Likewise.
45963         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
45964         this function.
45965         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
45966         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
45967         Likewise.
45968         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
45969         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
45970         * doc/posix-functions/confstr.texi (confstr): Likewise.
45971         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
45972         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
45973         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
45974         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
45975         * doc/posix-functions/fputws.texi (fputws): Likewise.
45976         * doc/posix-functions/fwide.texi (fwide): Likewise.
45977         * doc/posix-functions/getwc.texi (getwc): Likewise.
45978         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
45979         * doc/posix-functions/putwc.texi (putwc): Likewise.
45980         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
45981         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
45982         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
45983         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
45984         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
45985         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
45986         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
45987         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
45988         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
45989         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
45990         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
45991
45992 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
45993
45994         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
45995         * lib/ioctl.c: Include <sys/ioctl.h>.
45996
45997 2009-01-19  Simon Josefsson  <simon@josefsson.org>
45998
45999         * modules/getdate-tests (Depends-on): Add progname.
46000         * tests/test-getdate.c: Use progname module, to avoid link errors
46001         on non-glibc systems.
46002
46003 2009-01-18  Simon Josefsson  <simon@josefsson.org>
46004
46005         * modules/filenamecat-tests (Depends-on): Add progname.
46006         * modules/fstrcmp-tests (Depends-on): Likewise.
46007
46008         * tests/test-filenamecat.c: Use progname module, to avoid link
46009         errors on non-glibc systems.
46010         * tests/test-fstrcmp.c: Likewise.
46011
46012 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
46013
46014         gettimeofday: avoid warning: nested extern declaration of 'localtime'
46015         * lib/gettimeofday.c: Move extern declaration out of function.
46016
46017 2009-01-18  Bruno Haible  <bruno@clisp.org>
46018
46019         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
46020         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
46021         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
46022
46023 2009-01-18  Bruno Haible  <bruno@clisp.org>
46024
46025         * lib/strftime.c (MEMPCPY): Remove unused macro.
46026         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
46027
46028 2009-01-18  Martin Lambers  <marlam@marlam.de>
46029
46030         New module 'link'.
46031         * lib/unistd.in.h (link): New declaration.
46032         * lib/link.c: New file.
46033         * m4/link.m4: New file.
46034         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
46035         HAVE_LINK.
46036         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
46037         * modules/link: New file.
46038         * doc/posix-functions/link.texi: Mention the new module.
46039
46040 2009-01-18  Bruno Haible  <bruno@clisp.org>
46041
46042         * tests/test-avltree_list.c (main): Call set_program_name.
46043         * tests/test-avltree_oset.c (main): Likewise.
46044         * tests/test-obstack-printf.c: Include progname.h.
46045         (main): Call set_program_name.
46046         * tests/test-quotearg.c: Include progname.h.
46047         (main): Call set_program_name.
46048         * tests/test-xmemdup0.c: Include progname.h.
46049         (main): Call set_program_name.
46050
46051 2009-01-18  Bruno Haible  <bruno@clisp.org>
46052
46053         New module 'alphasort'.
46054         * lib/dirent.in.h (alphasort): New declaration.
46055         * lib/alphasort.c: New file, from glibc with modifications.
46056         * m4/alphasort.m4: New file.
46057         * modules/alphasort: New file.
46058         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
46059         HAVE_ALPHASORT.
46060         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
46061         HAVE_ALPHASORT.
46062         * doc/posix-functions/alphasort.texi: Mention the new module and the
46063         portability problems.
46064
46065 2009-01-18  Bruno Haible  <bruno@clisp.org>
46066
46067         New module 'scandir'.
46068         * lib/dirent.in.h (scandir): New declaration.
46069         * lib/scandir.c: New file, from glibc with modifications.
46070         * m4/scandir.m4: New file.
46071         * modules/scandir: New file.
46072         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
46073         HAVE_SCANDIR.
46074         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
46075         HAVE_SCANDIR.
46076         * doc/posix-functions/scandir.texi: Mention the new module and the
46077         portability problems.
46078
46079 2009-01-17  Bruno Haible  <bruno@clisp.org>
46080
46081         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
46082         Update documentation.
46083         (func_remove_suffix): Escape all dots in the suffix. Update
46084         documentation.
46085         (func_filter_filelist): Update documentation.
46086         Reported by Ralf Wildenhues.
46087
46088 2009-01-17  Bruno Haible  <bruno@clisp.org>
46089
46090         * modules/dprintf-posix-tests: New file.
46091         * tests/test-dprintf-posix.sh: New file.
46092         * tests/test-dprintf-posix.c: New file.
46093
46094         New modules 'dprintf', 'dprintf-posix'.
46095         * lib/stdio.in.h (dprintf): New declaration.
46096         * lib/dprintf.c: New file.
46097         * m4/dprintf.m4: New file.
46098         * m4/dprintf-posix.m4: New file.
46099         * modules/dprintf: New file.
46100         * modules/dprintf-posix: New file.
46101         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
46102         HAVE_DPRINTF, REPLACE_DPRINTF.
46103         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
46104         HAVE_DPRINTF, REPLACE_DPRINTF.
46105         * doc/posix-functions/dprintf.texi: Mention the new modules.
46106
46107 2009-01-17  Bruno Haible  <bruno@clisp.org>
46108
46109         * modules/vdprintf-posix-tests: New file.
46110         * tests/test-vdprintf-posix.sh: New file.
46111         * tests/test-vdprintf-posix.c: New file.
46112
46113         New modules 'vdprintf', 'vdprintf-posix'.
46114         * lib/stdio.in.h (vdprintf): New declaration.
46115         * lib/vdprintf.c: New file.
46116         * m4/vdprintf.m4: New file.
46117         * m4/vdprintf-posix.m4: New file.
46118         * modules/vdprintf: New file.
46119         * modules/vdprintf-posix: New file.
46120         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
46121         HAVE_VDPRINTF, REPLACE_VDPRINTF.
46122         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
46123         HAVE_VDPRINTF, REPLACE_VDPRINTF.
46124         * doc/posix-functions/vdprintf.texi: Mention the new modules.
46125
46126 2009-01-17  Bruno Haible  <bruno@clisp.org>
46127
46128         Fix replacement of fopen on mingw.
46129         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
46130         mingw.
46131
46132 2009-01-17  Bruno Haible  <bruno@clisp.org>
46133
46134         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
46135         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
46136
46137 2009-01-17  Bruno Haible  <bruno@clisp.org>
46138
46139         Avoid test-fflush2.sh failure on mingw.
46140         * tests/test-fflush2.c: Include binary-io.h.
46141         (main): Put standard input into binary mode.
46142         * modules/fflush-tests (Depends-on): Add binary-io.
46143
46144 2009-01-17  Bruno Haible  <bruno@clisp.org>
46145
46146         * lib/wchar.in.h: In another particular situation, include only the
46147         system's <wchar.h> file.
46148         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
46149         Reported by Albert Chin-A-Young <china@thewrittenword.com>
46150         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
46151
46152 2009-01-17  Bruno Haible  <bruno@clisp.org>
46153
46154         Support for stripping executables in --enable-relocatable.
46155         * build-aux/install-reloc: Expect one more argument, or an environment
46156         variable RELOC_STRIP_PROG. If set, strip the destination program and
46157         its wrapper.
46158         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
46159         RELOC_STRIP_PROG.
46160         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
46161         to set RELOCATABLE_STRIP.
46162         * NEWS: Mention the new Makefile requirement.
46163
46164 2009-01-17  Bruno Haible  <bruno@clisp.org>
46165
46166         * build-aux/install-reloc: Remove debugging information left over by
46167         C compiler on MacOS X.
46168
46169 2009-01-17  Bruno Haible  <bruno@clisp.org>
46170
46171         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
46172         * lib/progreloc.c (find_executable): Fix type of pointer passed to
46173         _NSGetExecutablePath.
46174
46175 2009-01-16  Jim Meyering  <meyering@redhat.com>
46176
46177         strerror: avoid warnings about discarding "const"
46178         * lib/strerror.c (rpl_strerror): Instead of returning a const
46179         string from each and every "case", use a variable, and add a single
46180         cast after the switch.
46181
46182 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
46183
46184         * lib/arpa_inet.in.h: Add extern "C" block for C++.
46185
46186 2009-01-16  Bruno Haible  <bruno@clisp.org>
46187
46188         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
46189         array initializer syntax that also works in C++ mode.
46190         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
46191
46192 2009-01-16  Jim Meyering  <meyering@redhat.com>
46193
46194         poll: suppress a warning
46195         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
46196         to ignore "...unsigned expression < 0 is always false" warnings.
46197
46198 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
46199
46200         poll: remove declarations of unused variables
46201         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
46202         sockbuf and optlen.
46203
46204 2009-01-15  Bruno Haible  <bruno@clisp.org>
46205
46206         Make fflush-after-ungetc POSIX compliant on BSD systems.
46207         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
46208         (clear_ungetc_buffer): Implement also for other systems.
46209         (rpl_fflush): On glibc systems, invoke
46210         clear_ungetc_buffer_preserving_position. Otherwise, invoke
46211         clear_ungetc_buffer after fetching the stream's position, not before.
46212
46213 2009-01-15  Bruno Haible  <bruno@clisp.org>
46214
46215         Make fflush-after-ungetc POSIX compliant on glibc systems.
46216         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
46217         after ungetc.
46218         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
46219         (rpl_fflush): On glibc systems, simply call the system's fflush
46220         function after clearing the ungetc buffer.
46221         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
46222         Instead, lseek only to the end of file, then use the system's fseeko
46223         for the rest. On glibc systems, reset the EOF indicator bit.
46224
46225 2009-01-15  Jim Meyering  <meyering@redhat.com>
46226
46227         openmp.m4: revert quote-adding change, for portability to older autoconf
46228         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
46229         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
46230         Simon Josefsson noticed the problem when using autoconf-2.61.
46231
46232 2009-01-15  Bruno Haible  <bruno@clisp.org>
46233
46234         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
46235         * tests/test-fflush2.c (ASSERT): Always fail.
46236         (main): Add two tests for fflush() after ungetc(), taking into account
46237         the Austin Group's clarification.
46238         Suggested by Eric Blake.
46239
46240 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
46241
46242         mktime.m4: remove K&R-style function prototypes
46243         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
46244         for the Sun C++ compiler.
46245
46246 2009-01-14  Bruno Haible  <bruno@clisp.org>
46247
46248         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
46249         while including <wchar.h>.
46250         * lib/wchar.in.h: In two particular situations on HP-UX, include only
46251         the system's <wchar.h> file.
46252         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
46253
46254 2009-01-14  Bruno Haible  <bruno@clisp.org>
46255
46256         * m4/csharp.m4: Don't mention gettext on the serial number line.
46257         * m4/csharpexec.m4: Likewise.
46258         * m4/eaccess.m4: Likewise.
46259         * m4/javaexec.m4: Likewise.
46260         * m4/sig_atomic_t.m4: Likewise.
46261         * m4/tmpdir.m4: Likewise.
46262         * m4/intldir.m4: Bump gettext version.
46263         * m4/lib-ld.m4: Likewise.
46264
46265 2009-01-14  Bruno Haible  <bruno@clisp.org>
46266
46267         * lib/progname.c (set_program_name): Add more comments.
46268         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
46269
46270 2009-01-14  Simon Josefsson  <simon@josefsson.org>
46271
46272         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
46273         were sys/stat.h does not define it.
46274
46275 2009-01-14  Jim Meyering  <meyering@redhat.com>
46276
46277         many *.m4 files: improve m4 quoting
46278         99% of this change was performed by running the following commands:
46279         git ls-files | grep '\.m4$' | xargs perl -pi \
46280           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
46281           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
46282           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
46283           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
46284         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
46285         The remainder were to add Copyright dates, increment serial numbers,
46286         undo some changes in comments, exclude m4/intl.m4, and add quotes
46287         around the "1" in ",1" where the unusual spacing prohibited the
46288         above regexps from doing the job.  For more details, see
46289         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
46290         * m4/acl.m4: Modified.
46291         * m4/afs.m4: Likewise.
46292         * m4/alloca.m4: Likewise.
46293         * m4/argp.m4: Likewise.
46294         * m4/argz.m4: Likewise.
46295         * m4/atexit.m4: Likewise.
46296         * m4/bison-i18n.m4: Likewise.
46297         * m4/bison.m4: Likewise.
46298         * m4/byteswap.m4: Likewise.
46299         * m4/c-stack.m4: Likewise.
46300         * m4/c-strtod.m4: Likewise.
46301         * m4/calloc.m4: Likewise.
46302         * m4/canonicalize-lgpl.m4: Likewise.
46303         * m4/chown.m4: Likewise.
46304         * m4/clock_time.m4: Likewise.
46305         * m4/codeset.m4: Likewise.
46306         * m4/copy-file.m4: Likewise.
46307         * m4/csharp.m4: Likewise.
46308         * m4/csharpcomp.m4: Likewise.
46309         * m4/csharpexec.m4: Likewise.
46310         * m4/d-ino.m4: Likewise.
46311         * m4/d-type.m4: Likewise.
46312         * m4/dirfd.m4: Likewise.
46313         * m4/double-slash-root.m4: Likewise.
46314         * m4/eaccess.m4: Likewise.
46315         * m4/eealloc.m4: Likewise.
46316         * m4/environ.m4: Likewise.
46317         * m4/errno_h.m4: Likewise.
46318         * m4/euidaccess.m4: Likewise.
46319         * m4/execute.m4: Likewise.
46320         * m4/fatal-signal.m4: Likewise.
46321         * m4/fchdir.m4: Likewise.
46322         * m4/fcntl_h.m4: Likewise.
46323         * m4/fileblocks.m4: Likewise.
46324         * m4/filenamecat.m4: Likewise.
46325         * m4/findprog.m4: Likewise.
46326         * m4/flexmember.m4: Likewise.
46327         * m4/fnmatch.m4: Likewise.
46328         * m4/fopen.m4: Likewise.
46329         * m4/fpending.m4: Likewise.
46330         * m4/fprintf-posix.m4: Likewise.
46331         * m4/free.m4: Likewise.
46332         * m4/frexp.m4: Likewise.
46333         * m4/frexpl.m4: Likewise.
46334         * m4/fsusage.m4: Likewise.
46335         * m4/ftruncate.m4: Likewise.
46336         * m4/gc-camellia.m4: Likewise.
46337         * m4/gc-random.m4: Likewise.
46338         * m4/gc.m4: Likewise.
46339         * m4/getaddrinfo.m4: Likewise.
46340         * m4/getcwd-abort-bug.m4: Likewise.
46341         * m4/getcwd-path-max.m4: Likewise.
46342         * m4/getdate.m4: Likewise.
46343         * m4/getdomainname.m4: Likewise.
46344         * m4/getgroups.m4: Likewise.
46345         * m4/gethostname.m4: Likewise.
46346         * m4/gethrxtime.m4: Likewise.
46347         * m4/getline.m4: Likewise.
46348         * m4/getloadavg.m4: Likewise.
46349         * m4/getndelim2.m4: Likewise.
46350         * m4/getpass.m4: Likewise.
46351         * m4/gettext.m4: Likewise.
46352         * m4/gettime.m4: Likewise.
46353         * m4/gettimeofday.m4: Likewise.
46354         * m4/gnulib-common.m4: Likewise.
46355         * m4/group-member.m4: Likewise.
46356         * m4/host-os.m4: Likewise.
46357         * m4/iconv.m4: Likewise.
46358         * m4/iconv_open.m4: Likewise.
46359         * m4/inet_ntop.m4: Likewise.
46360         * m4/inet_pton.m4: Likewise.
46361         * m4/inline.m4: Likewise.
46362         * m4/intldir.m4: Likewise.
46363         * m4/intlmacosx.m4: Likewise.
46364         * m4/intmax.m4: Likewise.
46365         * m4/intmax_t.m4: Likewise.
46366         * m4/inttypes.m4: Likewise.
46367         * m4/inttypes_h.m4: Likewise.
46368         * m4/inttypes-pri.m4: Likewise.
46369         * m4/isapipe.m4: Likewise.
46370         * m4/isnand.m4: Likewise.
46371         * m4/isnanf.m4: Likewise.
46372         * m4/isnanl.m4: Likewise.
46373         * m4/javacomp.m4: Likewise.
46374         * m4/javaexec.m4: Likewise.
46375         * m4/jm-winsz1.m4: Likewise.
46376         * m4/jm-winsz2.m4: Likewise.
46377         * m4/lchown.m4: Likewise.
46378         * m4/lcmessage.m4: Likewise.
46379         * m4/ldexpl.m4: Likewise.
46380         * m4/lib-ld.m4: Likewise.
46381         * m4/lib-link.m4: Likewise.
46382         * m4/libsigsegv.m4: Likewise.
46383         * m4/link-follow.m4: Likewise.
46384         * m4/localcharset.m4: Likewise.
46385         * m4/locale-fr.m4: Likewise.
46386         * m4/locale-ja.m4: Likewise.
46387         * m4/locale-tr.m4: Likewise.
46388         * m4/locale-zh.m4: Likewise.
46389         * m4/lock.m4: Likewise.
46390         * m4/longlong.m4: Likewise.
46391         * m4/ls-mntd-fs.m4: Likewise.
46392         * m4/lstat.m4: Likewise.
46393         * m4/malloc.m4: Likewise.
46394         * m4/mathl.m4: Likewise.
46395         * m4/mbrtowc.m4: Likewise.
46396         * m4/mbstate_t.m4: Likewise.
46397         * m4/mbswidth.m4: Likewise.
46398         * m4/memchr.m4: Likewise.
46399         * m4/memcmp.m4: Likewise.
46400         * m4/memcpy.m4: Likewise.
46401         * m4/memmem.m4: Likewise.
46402         * m4/memmove.m4: Likewise.
46403         * m4/mempcpy.m4: Likewise.
46404         * m4/memrchr.m4: Likewise.
46405         * m4/memset.m4: Likewise.
46406         * m4/minmax.m4: Likewise.
46407         * m4/mkdir-slash.m4: Likewise.
46408         * m4/mkdtemp.m4: Likewise.
46409         * m4/mktime.m4: Likewise.
46410         * m4/mmap-anon.m4: Likewise.
46411         * m4/mountlist.m4: Likewise.
46412         * m4/nanosleep.m4: Likewise.
46413         * m4/nls.m4: Likewise.
46414         * m4/nocrash.m4: Likewise.
46415         * m4/open.m4: Likewise.
46416         * m4/openat.m4: Likewise.
46417         * m4/openmp.m4: Likewise.
46418         * m4/pathmax.m4: Likewise.
46419         * m4/perl.m4: Likewise.
46420         * m4/physmem.m4: Likewise.
46421         * m4/pipe.m4: Likewise.
46422         * m4/po.m4: Likewise.
46423         * m4/poll.m4: Likewise.
46424         * m4/posixtm.m4: Likewise.
46425         * m4/posixver.m4: Likewise.
46426         * m4/printf-frexp.m4: Likewise.
46427         * m4/printf-frexpl.m4: Likewise.
46428         * m4/printf-posix.m4: Likewise.
46429         * m4/printf-posix-rpl.m4: Likewise.
46430         * m4/printf.m4: Likewise.
46431         * m4/progtest.m4: Likewise.
46432         * m4/putenv.m4: Likewise.
46433         * m4/readline.m4: Likewise.
46434         * m4/readlink.m4: Likewise.
46435         * m4/readutmp.m4: Likewise.
46436         * m4/realloc.m4: Likewise.
46437         * m4/regex.m4: Likewise.
46438         * m4/relocatable.m4: Likewise.
46439         * m4/relocatable-lib.m4: Likewise.
46440         * m4/rename-dest-slash.m4: Likewise.
46441         * m4/rename.m4: Likewise.
46442         * m4/rmdir-errno.m4: Likewise.
46443         * m4/rmdir.m4: Likewise.
46444         * m4/roundf.m4: Likewise.
46445         * m4/roundl.m4: Likewise.
46446         * m4/rpmatch.m4: Likewise.
46447         * m4/save-cwd.m4: Likewise.
46448         * m4/selinux-selinux-h.m4: Likewise.
46449         * m4/setenv.m4: Likewise.
46450         * m4/settime.m4: Likewise.
46451         * m4/sig2str.m4: Likewise.
46452         * m4/sig_atomic_t.m4: Likewise.
46453         * m4/signalblocking.m4: Likewise.
46454         * m4/signbit.m4: Likewise.
46455         * m4/sigpipe.m4: Likewise.
46456         * m4/sockets.m4: Likewise.
46457         * m4/sockpfaf.m4: Likewise.
46458         * m4/st_dm_mode.m4: Likewise.
46459         * m4/stat-time.m4: Likewise.
46460         * m4/stdbool.m4: Likewise.
46461         * m4/stdint.m4: Likewise.
46462         * m4/stdint_h.m4: Likewise.
46463         * m4/stpcpy.m4: Likewise.
46464         * m4/stpncpy.m4: Likewise.
46465         * m4/strcase.m4: Likewise.
46466         * m4/strchrnul.m4: Likewise.
46467         * m4/strcspn.m4: Likewise.
46468         * m4/strdup.m4: Likewise.
46469         * m4/strftime.m4: Likewise.
46470         * m4/strndup.m4: Likewise.
46471         * m4/strnlen.m4: Likewise.
46472         * m4/strpbrk.m4: Likewise.
46473         * m4/strptime.m4: Likewise.
46474         * m4/strsep.m4: Likewise.
46475         * m4/strtod.m4: Likewise.
46476         * m4/strtoimax.m4: Likewise.
46477         * m4/strtok_r.m4: Likewise.
46478         * m4/strtol.m4: Likewise.
46479         * m4/strtoll.m4: Likewise.
46480         * m4/strtoul.m4: Likewise.
46481         * m4/strtoull.m4: Likewise.
46482         * m4/strtoumax.m4: Likewise.
46483         * m4/strverscmp.m4: Likewise.
46484         * m4/threadlib.m4: Likewise.
46485         * m4/timegm.m4: Likewise.
46486         * m4/tm_gmtoff.m4: Likewise.
46487         * m4/tmpdir.m4: Likewise.
46488         * m4/tmpfile.m4: Likewise.
46489         * m4/tzset.m4: Likewise.
46490         * m4/uintmax_t.m4: Likewise.
46491         * m4/unlinkdir.m4: Likewise.
46492         * m4/unlocked-io.m4: Likewise.
46493         * m4/uptime.m4: Likewise.
46494         * m4/userspec.m4: Likewise.
46495         * m4/utimbuf.m4: Likewise.
46496         * m4/utime.m4: Likewise.
46497         * m4/utimes-null.m4: Likewise.
46498         * m4/utimes.m4: Likewise.
46499         * m4/vararrays.m4: Likewise.
46500         * m4/vasnprintf.m4: Likewise.
46501         * m4/vfprintf-posix.m4: Likewise.
46502         * m4/vprintf-posix.m4: Likewise.
46503         * m4/wait-process.m4: Likewise.
46504         * m4/wchar_t.m4: Likewise.
46505         * m4/wint_t.m4: Likewise.
46506         * m4/write-any-file.m4: Likewise.
46507         * m4/yield.m4: Likewise.
46508
46509 2009-01-13  Bruno Haible  <bruno@clisp.org>
46510
46511         Avoid test-copy-file.sh failures when ACL support insufficient.
46512         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
46513         TESTS_ENVIRONMENT.
46514         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
46515         Reported by Jim Meyering.
46516
46517 2009-01-13  Bruno Haible  <bruno@clisp.org>
46518
46519         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
46520         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
46521         * modules/unistdio/u8-printf-parse (Files): Likewise.
46522         * modules/unistdio/u32-printf-parse (Files): Likewise.
46523         * modules/unistdio/ulc-printf-parse (Files): Likewise.
46524
46525 2009-01-13  Simon Josefsson  <simon@josefsson.org>
46526
46527         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
46528         and m4/inttypes_h.m4 too.
46529
46530 2009-01-12  Eric Blake  <ebb9@byu.net>
46531
46532         tests: IRIX 6.2 cc can't compile -0.0 into .data
46533         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
46534         rather than at compile-time.
46535         * tests/test-floorl.c (minus_zero): Likewise.
46536         * tests/test-frexpl.c (minus_zero): Likewise.
46537         * tests/test-isnan.c (minus_zerol): Likewise.
46538         * tests/test-isnanl.h (minus_zero): Likewise.
46539         * tests/test-ldexpl.c (minus_zero): Likewise.
46540         * tests/test-roundl.c (minus_zero): Likewise.
46541         * tests/test-signbit.c (minus_zerol): Likewise.
46542         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
46543         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
46544         * tests/test-truncl.c (minus_zero): Likewise.
46545         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
46546         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
46547         Reported by Tom G. Christensen and Nelson H. F. Beebe.
46548
46549 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
46550
46551         regex: fix glibc bug 9697
46552         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
46553         handling.
46554
46555 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
46556
46557         regex: fix glibc bug 697
46558         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
46559         being NULL also if there are no backreferences.
46560
46561 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
46562
46563         regex: merge glibc changes
46564         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
46565         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
46566         re_string_skip_chars, re_string_reconstruct): Likewise.
46567         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
46568
46569 2009-01-07  Jim Meyering  <meyering@redhat.com>
46570
46571         poll: filter through cppi
46572         * lib/poll.c: Indent cpp directives to reflect nesting.
46573
46574 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
46575
46576         poll: don't return uninitialized
46577         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
46578
46579 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
46580
46581         avoid compile failure on AIX 6.1
46582         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
46583         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
46584
46585 2009-01-04  Jim Meyering  <meyering@redhat.com>
46586
46587         remove duplicate inclusion of <stdio.h>
46588         * tests/test-fprintf-posix.c: Likewise.
46589         * tests/test-printf-posix.c: Likewise.
46590         * tests/test-snprintf-posix.c: Likewise.
46591         * tests/test-sprintf-posix.c: Likewise.
46592         * tests/test-vasprintf-posix.c: Likewise.
46593         * tests/test-vfprintf-posix.c: Likewise.
46594         * tests/test-vprintf-posix.c: Likewise.
46595         * tests/test-vsnprintf-posix.c: Likewise.
46596         * tests/test-vsprintf-posix.c: Likewise.
46597
46598 2009-01-03  Jim Meyering  <meyering@redhat.com>
46599
46600         gnulib-tool: fix sed-based filtering
46601         * gnulib-tool (func_filter_filelist): Remove extra backslash
46602         in sed_fff_filter definition.
46603
46604 2009-01-02  Jim Meyering  <meyering@redhat.com>
46605
46606         strftime: avoid compilation failure on Solaris 2.6
46607         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
46608         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
46609         Don't #define mbrlen or mbsinit, since now they're guaranteed to
46610         be available.  Reported by Tom G. Christensen.  Details in
46611         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
46612
46613 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46614             Bruno Haible  <bruno@clisp.org>
46615
46616         Speed up gnulib-tool by doing more string processing through shell
46617         built-ins.
46618         * gnulib-tool (fast_func_append): New variable.
46619         (func_remove_prefix, func_remove_suffix): New functions.
46620         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
46621         (func_filter_filelist): New function.
46622         (func_get_dependencies): Use func_remove_suffix instead of sed.
46623         (func_get_automake_snippet): Use func_filter_filelist instead of a
46624         subshell and sed invocation.
46625
46626 2009-01-01  Bruno Haible  <bruno@clisp.org>
46627
46628         Fix a security bug.
46629         * gnulib-tool (func_import, import, update): Don't allow the characters
46630         '"', '$', '`', '\' in macro arguments that become part of commands that
46631         are evaluated.
46632
46633 2009-01-01  Bruno Haible  <bruno@clisp.org>
46634
46635         * gnulib-tool (func_reset_sigpipe): Add more comments.
46636
46637 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46638
46639         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
46640         func_emit_tests_Makefile_am, func_import): Abort loops early if we
46641         already know the answer.
46642
46643 2009-01-01  Jim Meyering  <meyering@redhat.com>
46644
46645         * lib/version-etc.c (version_etc_va): Update copyright year.
46646
46647 2008-12-30  Bruno Haible  <bruno@clisp.org>
46648
46649         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
46650         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
46651         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
46652
46653 2008-12-29  Eric Blake  <ebb9@byu.net>
46654
46655         multiarch: avoid autoconf AC_REQUIRE bug
46656         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
46657         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
46658         2.63 and older.
46659         Reported by Bruno Haible, and analyzed in
46660         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
46661
46662 2008-12-29  Bruno Haible  <bruno@clisp.org>
46663
46664         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
46665         files in subdirectories correctly.
46666         Reported by Ralf Wildenhues.
46667
46668 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46669
46670         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
46671         rather than 'join FILE -', for Solaris join.
46672
46673 2008-12-29  Bruno Haible  <bruno@clisp.org>
46674
46675         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
46676         quoting.
46677         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
46678         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
46679         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
46680         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
46681         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
46682         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
46683         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
46684         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
46685         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
46686         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
46687         * m4/nls.m4 (AM_NLS): Likewise.
46688         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
46689         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
46690         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
46691         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
46692         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
46693         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
46694         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
46695         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
46696         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
46697         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
46698         * m4/xsize.m4 (gl_XSIZE): Likewise.
46699         Suggested by Jim Meyering.
46700
46701 2008-11-17  Bruce Korb  <bkorb@gnu.org>
46702
46703         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
46704         * lib/parse-duration.c: use a switch instead of cascading if's.
46705
46706 2008-12-29  Eric Blake  <ebb9@byu.net>
46707
46708         wchar.h: supply WEOF on Irix 5.3
46709         * lib/wchar.in.h (wint_t): Also supply WEOF.
46710         * lib/wctype.in.h (wint_t): Likewise.
46711         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
46712         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
46713         Reported by Tom G. Christensen.
46714
46715 2008-12-26  Bruno Haible  <bruno@clisp.org>
46716
46717         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
46718         i486, i586, i686.
46719
46720 2008-12-26  Bruno Haible  <bruno@clisp.org>
46721
46722         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
46723
46724 2008-12-26  Bruno Haible  <bruno@clisp.org>
46725
46726         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
46727         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
46728         not __STDC_CONSTANT_MACROS.
46729         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
46730
46731 2008-12-25  Bruno Haible  <bruno@clisp.org>
46732
46733         Add support for universal builds to vasnprintf.
46734         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
46735         universal builds, guess no.
46736         * modules/vasnprintf-posix (Depends-on): Add multiarch.
46737         * modules/vasprintf-posix (Depends-on): Likewise.
46738         * modules/fprintf-posix (Depends-on): Likewise.
46739         * modules/vfprintf-posix (Depends-on): Likewise.
46740         * modules/snprintf-posix (Depends-on): Likewise.
46741         * modules/vsnprintf-posix (Depends-on): Likewise.
46742         * modules/sprintf-posix (Depends-on): Likewise.
46743         * modules/vsprintf-posix (Depends-on): Likewise.
46744         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
46745         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
46746         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
46747         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
46748         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
46749         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
46750         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
46751
46752         Add support for universal builds to <inttypes.h>.
46753         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
46754         _SCNu64_PREFIX): In Apple
46755         universal builds, define directly, using _LP64.
46756         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
46757         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
46758         * modules/inttypes (Depends-on): Add multiarch.
46759         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
46760
46761         Add support for universal builds to <stdint.h>.
46762         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
46763         universal builds, define directly, using _LP64.
46764         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
46765         Apple universal builds, don't test for the size and suffix of ptrdiff_t
46766         and size_t.
46767         * modules/stdint (Depends-on): Add multiarch.
46768         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
46769
46770         New module 'multiarch'.
46771         * modules/multiarch: New file.
46772         * m4/multiarch.m4: New file.
46773
46774 2008-12-25  Bruno Haible  <bruno@clisp.org>
46775
46776         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
46777
46778 2008-12-25  Bruno Haible  <bruno@clisp.org>
46779
46780         * modules/btowc (License): Relicense under LGPLv2+.
46781         * modules/mbsinit (License): Likewise.
46782         * modules/mbrtowc (License): Likewise.
46783         * modules/wcrtomb (License): Likewise.
46784         * modules/streq (License): Likewise.
46785         Reported by David Lutterkort <lutter@redhat.com>.
46786
46787 2008-12-23  Bruno Haible  <bruno@clisp.org>
46788
46789         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
46790
46791 2008-12-23  Bruno Haible  <bruno@clisp.org>
46792
46793         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
46794         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
46795         GETADDRINFO_LIB, not in LIBS.
46796         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
46797         * modules/canon-host (Link): Likewise.
46798         * NEWS: Mention the change.
46799         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
46800         GETADDRINFO_LIB.
46801
46802 2008-12-22  Bruno Haible  <bruno@clisp.org>
46803
46804         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
46805         * doc/posix-functions/iswalpha_l.texi: Likewise.
46806         * doc/posix-functions/iswblank_l.texi: Likewise.
46807         * doc/posix-functions/iswcntrl_l.texi: Likewise.
46808         * doc/posix-functions/iswctype_l.texi: Likewise.
46809         * doc/posix-functions/iswdigit_l.texi: Likewise.
46810         * doc/posix-functions/iswgraph_l.texi: Likewise.
46811         * doc/posix-functions/iswlower_l.texi: Likewise.
46812         * doc/posix-functions/iswprint_l.texi: Likewise.
46813         * doc/posix-functions/iswpunct_l.texi: Likewise.
46814         * doc/posix-functions/iswspace_l.texi: Likewise.
46815         * doc/posix-functions/iswupper_l.texi: Likewise.
46816         * doc/posix-functions/iswxdigit_l.texi: Likewise.
46817         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
46818         * doc/posix-functions/open_wmemstream.texi: Likewise.
46819         * doc/posix-functions/swscanf.texi: Likewise.
46820         * doc/posix-functions/towctrans_l.texi: Likewise.
46821         * doc/posix-functions/towlower.texi: Likewise.
46822         * doc/posix-functions/towlower_l.texi: Likewise.
46823         * doc/posix-functions/towupper.texi: Likewise.
46824         * doc/posix-functions/towupper_l.texi: Likewise.
46825         * doc/posix-functions/vfwprintf.texi: Likewise.
46826         * doc/posix-functions/vfwscanf.texi: Likewise.
46827         * doc/posix-functions/vswscanf.texi: Likewise.
46828         * doc/posix-functions/vwprintf.texi: Likewise.
46829         * doc/posix-functions/vwscanf.texi: Likewise.
46830         * doc/posix-functions/wcpcpy.texi: Likewise.
46831         * doc/posix-functions/wcpncpy.texi: Likewise.
46832         * doc/posix-functions/wcscasecmp.texi: Likewise.
46833         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
46834         * doc/posix-functions/wcscoll_l.texi: Likewise.
46835         * doc/posix-functions/wcsdup.texi: Likewise.
46836         * doc/posix-functions/wcsncasecmp.texi: Likewise.
46837         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
46838         * doc/posix-functions/wcsnlen.texi: Likewise.
46839         * doc/posix-functions/wcsnrtombs.texi: Likewise.
46840         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
46841         * doc/posix-functions/wctrans_l.texi: Likewise.
46842         * doc/posix-functions/wctype_l.texi: Likewise.
46843         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
46844         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
46845         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
46846         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
46847         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
46848         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
46849         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
46850         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
46851         * doc/glibc-functions/wcschrnul.texi: Likewise.
46852         * doc/glibc-functions/wcsftime_l.texi: Likewise.
46853         * doc/glibc-functions/wcstod_l.texi: Likewise.
46854         * doc/glibc-functions/wcstof_l.texi: Likewise.
46855         * doc/glibc-functions/wcstol_l.texi: Likewise.
46856         * doc/glibc-functions/wcstold_l.texi: Likewise.
46857         * doc/glibc-functions/wcstoll_l.texi: Likewise.
46858         * doc/glibc-functions/wcstoq.texi: Likewise.
46859         * doc/glibc-functions/wcstoul_l.texi: Likewise.
46860         * doc/glibc-functions/wcstoull_l.texi: Likewise.
46861         * doc/glibc-functions/wcstouq.texi: Likewise.
46862         * doc/glibc-functions/wmempcpy.texi: Likewise.
46863
46864 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
46865             Eric Blake  <ebb9@byu.net>
46866             Paolo Bonzini  <bonzini@gnu.org>
46867             Bruno Haible  <bruno@clisp.org>
46868
46869         Make c-stack work on Haiku.
46870         * lib/c-stack.c (SA_ONSTACK): Define fallback.
46871         (c_stack_action): Use SA_ONSTACK flag.
46872
46873 2008-12-22  Bruno Haible  <bruno@clisp.org>
46874
46875         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
46876
46877 2008-12-22  Bruno Haible  <bruno@clisp.org>
46878
46879         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
46880         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
46881         being overridden.
46882         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
46883         New macros.
46884         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
46885         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
46886         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
46887         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
46888
46889 2008-12-22  Bruno Haible  <bruno@clisp.org>
46890
46891         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
46892         from test code.
46893
46894 2008-12-22  Eric Blake  <ebb9@byu.net>
46895
46896         Avoid gcc warnings on cygwin.
46897         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
46898         Avoid unused variable.
46899         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
46900         Likewise.
46901
46902 2008-12-22  Bruno Haible  <bruno@clisp.org>
46903
46904         Remove HAVE_MBRTOWC conditionals.
46905         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
46906         (mbscasecmp): Assume mbrtowc function.
46907         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
46908         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
46909         * lib/mbschr.c: Include mbuiter.h unconditionally.
46910         (mbschr): Assume mbrtowc function.
46911         * lib/mbscspn.c: Include mbuiter.h unconditionally.
46912         (mbscspn): Assume mbrtowc function.
46913         * lib/mbslen.c: Include mbuiter.h unconditionally.
46914         (mbslen): Assume mbrtowc function.
46915         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
46916         (mbsncasecmp): Assume mbrtowc function.
46917         * lib/mbsnlen.c: Include mbiter.h unconditionally.
46918         (mbsnlen): Assume mbrtowc function.
46919         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
46920         (mbspbrk): Assume mbrtowc function.
46921         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
46922         (mbspcasecmp): Assume mbrtowc function.
46923         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
46924         (mbsrchr): Assume mbrtowc function.
46925         * lib/mbssep.c: Include mbuiter.h unconditionally.
46926         (mbssep): Assume mbrtowc function.
46927         * lib/mbsspn.c: Include mbuiter.h unconditionally.
46928         (mbsspn): Assume mbrtowc function.
46929         * lib/mbsstr.c: Include mbuiter.h unconditionally.
46930         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
46931         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
46932         (mbstok_r): Assume mbrtowc function.
46933         * lib/propername.c: Include mbuiter.h unconditionally.
46934         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
46935         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
46936         (trim2): Assume mbrtowc function.
46937         * lib/mbswidth.c (mbsinit): Remove fallback definition.
46938         (mbsnwidth): Assume mbrtowc function.
46939         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
46940         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
46941         fallback definitions.
46942         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
46943
46944 2008-12-22  Bruno Haible  <bruno@clisp.org>
46945
46946         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
46947
46948 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
46949
46950         * modules/regex: Request emulations for the mb*/wc* functions we need.
46951         * m4/regex.m4: Don't look for those functions here.
46952         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
46953
46954 2008-12-22  Bruno Haible  <bruno@clisp.org>
46955
46956         * modules/fnmatch (Depends-on): Remove duplicated dependency.
46957
46958 2008-12-21  Bruno Haible  <bruno@clisp.org>
46959
46960         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
46961         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
46962         (Include): Remove conditionalization.
46963         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
46964         (Include): Remove conditionalization.
46965         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
46966         (Include): Remove conditionalization.
46967         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
46968         * m4/mbfile.m4 (gl_MBFILE): Likewise.
46969         * NEWS: Mention the change.
46970         Reported by Alan Hourihane <alanh@fairlite.co.uk>
46971         via Sergey Poznyakoff <gray@gnu.org.ua>.
46972
46973 2008-12-21  Bruno Haible  <bruno@clisp.org>
46974
46975         * MODULES.html.sh (Extended multibyte and wide character utilities
46976         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
46977         wcrtomb, wcsrtombs.
46978         (Support for systems lacking POSIX:2008): Add accept, bind, close,
46979         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
46980         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
46981         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
46982
46983 2008-12-21  Bruno Haible  <bruno@clisp.org>
46984
46985         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
46986
46987 2008-12-21  Bruno Haible  <bruno@clisp.org>
46988
46989         * modules/wcsnrtombs-tests: New file.
46990         * tests/test-wcsnrtombs1.sh: New file.
46991         * tests/test-wcsnrtombs2.sh: New file.
46992         * tests/test-wcsnrtombs3.sh: New file.
46993         * tests/test-wcsnrtombs4.sh: New file.
46994         * tests/test-wcsnrtombs.c: New file.
46995
46996         New module 'wcsnrtombs'.
46997         * lib/wchar.in.h (wcsnrtombs): New declaration.
46998         * lib/wcsnrtombs.c: New file.
46999         * lib/wcsrtombs-state.c: New file.
47000         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
47001         (internal_state): Remove variable.
47002         * m4/wcsnrtombs.m4: New file.
47003         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
47004         compilation units.
47005         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
47006         HAVE_WCSNRTOMBS.
47007         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
47008         HAVE_WCSNRTOMBS.
47009         * modules/wcsnrtombs: New file.
47010         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
47011         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
47012
47013 2008-12-21  Bruno Haible  <bruno@clisp.org>
47014
47015         * modules/wcsrtombs-tests: New file.
47016         * tests/test-wcsrtombs1.sh: New file.
47017         * tests/test-wcsrtombs2.sh: New file.
47018         * tests/test-wcsrtombs3.sh: New file.
47019         * tests/test-wcsrtombs4.sh: New file.
47020         * tests/test-wcsrtombs.c: New file.
47021
47022         New module 'wcsrtombs'.
47023         * lib/wchar.in.h (wcsrtombs): New declaration.
47024         * lib/wcsrtombs.c: New file.
47025         * m4/wcsrtombs.m4: New file.
47026         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
47027         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
47028         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
47029         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
47030         * modules/wcsrtombs: New file.
47031         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
47032         bugs.
47033
47034 2008-12-21  Bruno Haible  <bruno@clisp.org>
47035
47036         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
47037         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
47038         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
47039         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
47040         if not correct.
47041         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
47042         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
47043         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
47044         m4/locale-zh.m4, m4/codeset.m4.
47045         * doc/posix-functions/wcrtomb.texi: Document the bug.
47046
47047 2008-12-21  Bruno Haible  <bruno@clisp.org>
47048
47049         Work around a btowc() bug on IRIX 6.5.
47050         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
47051         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
47052         REPLACE_WTOBC if not.
47053         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
47054         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
47055         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
47056
47057 2008-12-21  Bruno Haible  <bruno@clisp.org>
47058
47059         * modules/wcrtomb-tests: New file.
47060         * tests/test-wcrtomb.sh: New file.
47061         * tests/test-wcrtomb.c: New file.
47062
47063         New module 'wcrtomb'.
47064         * lib/wchar.in.h (wcrtomb): New declaration.
47065         * lib/wcrtomb.c: New file.
47066         * m4/wcrtomb.m4: New file.
47067         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
47068         HAVE_WCRTOMB.
47069         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
47070         HAVE_WCRTOMB.
47071         * modules/wcrtomb: New file.
47072         * doc/posix-functions/wcrtomb.texi: Mention the new module.
47073
47074 2008-12-21  Bruno Haible  <bruno@clisp.org>
47075
47076         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
47077         * modules/mbsrtowcs (Files): Likewise.
47078         * modules/wctob (Files): Likewise.
47079         * modules/c-strcase-tests (Files): Likewise.
47080         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
47081         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
47082         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
47083         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
47084         * modules/vasnprintf-posix-tests (Files): Likewise.
47085
47086 2008-12-21  William Pursell  <bill.pursell@gmail.com>
47087
47088         gitlog-to-changelog: pass all command-line arguments to git-log
47089         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
47090         it is sometimes convenient to filter the commits in various ways.
47091         gitlog-to-changelog only allows --since to specify a start date,
47092         but git-log itself supports many other filtering mechanisms.
47093         At the moment, I want to filter by branch name.  Rather than
47094         adding a --branch option to gitlog-to-changelog, it seems more
47095         flexible to simply pass all options directly to git-log and let
47096         git do the work.  Notice that this effectively makes --since a
47097         redundant option for gitlog-to-changelog, but removing it would
47098         require current usage to change since calls would then require
47099         an additional '--'.
47100
47101 2008-12-21  Bruno Haible  <bruno@clisp.org>
47102
47103         * modules/mbsnrtowcs-tests: New file.
47104         * tests/test-mbsnrtowcs1.sh: New file.
47105         * tests/test-mbsnrtowcs2.sh: New file.
47106         * tests/test-mbsnrtowcs3.sh: New file.
47107         * tests/test-mbsnrtowcs4.sh: New file.
47108         * tests/test-mbsnrtowcs.c: New file.
47109
47110         New module 'mbsnrtowcs'.
47111         * lib/wchar.in.h (mbsnrtowcs): New declaration.
47112         * lib/mbsnrtowcs.c: New file.
47113         * lib/mbsrtowcs-state.c: New file.
47114         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
47115         (internal_state): Remove variable.
47116         * m4/mbsnrtowcs.m4: New file.
47117         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
47118         compilation units.
47119         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
47120         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
47121         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
47122         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
47123         * modules/mbsnrtowcs: New file.
47124         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
47125         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
47126         portability problem.
47127
47128 2008-12-21  Bruno Haible  <bruno@clisp.org>
47129
47130         Work around mbsrtowcs bug.
47131         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
47132         (gl_FUNC_MBSRTOWCS): Invoke it.
47133         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
47134         m4/locale-zh.m4.
47135         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
47136
47137 2008-12-21  Bruno Haible  <bruno@clisp.org>
47138
47139         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
47140
47141 2008-12-21  Bruno Haible  <bruno@clisp.org>
47142
47143         Update doc for AIX.
47144         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
47145         16-bit wchar_t type.
47146         * doc/posix-functions/btowc.texi: Likewise.
47147         * doc/posix-functions/fgetwc.texi: Likewise.
47148         * doc/posix-functions/fgetws.texi: Likewise.
47149         * doc/posix-functions/fputwc.texi: Likewise.
47150         * doc/posix-functions/fputws.texi: Likewise.
47151         * doc/posix-functions/fwide.texi: Likewise.
47152         * doc/posix-functions/fwprintf.texi: Likewise.
47153         * doc/posix-functions/fwscanf.texi: Likewise.
47154         * doc/posix-functions/getwchar.texi: Likewise.
47155         * doc/posix-functions/getwc.texi: Likewise.
47156         * doc/posix-functions/iswalnum.texi: Likewise.
47157         * doc/posix-functions/iswalpha.texi: Likewise.
47158         * doc/posix-functions/iswblank.texi: Likewise.
47159         * doc/posix-functions/iswcntrl.texi: Likewise.
47160         * doc/posix-functions/iswctype.texi: Likewise.
47161         * doc/posix-functions/iswdigit.texi: Likewise.
47162         * doc/posix-functions/iswgraph.texi: Likewise.
47163         * doc/posix-functions/iswlower.texi: Likewise.
47164         * doc/posix-functions/iswprint.texi: Likewise.
47165         * doc/posix-functions/iswpunct.texi: Likewise.
47166         * doc/posix-functions/iswspace.texi: Likewise.
47167         * doc/posix-functions/iswupper.texi: Likewise.
47168         * doc/posix-functions/iswxdigit.texi: Likewise.
47169         * doc/posix-functions/mbrtowc.texi: Likewise.
47170         * doc/posix-functions/mbsrtowcs.texi: Likewise.
47171         * doc/posix-functions/mbstowcs.texi: Likewise.
47172         * doc/posix-functions/mbtowc.texi: Likewise.
47173         * doc/posix-functions/putwchar.texi: Likewise.
47174         * doc/posix-functions/putwc.texi: Likewise.
47175         * doc/posix-functions/swprintf.texi: Likewise.
47176         * doc/posix-functions/tolower.texi: Likewise.
47177         * doc/posix-functions/toupper.texi: Likewise.
47178         * doc/posix-functions/towctrans.texi: Likewise.
47179         * doc/posix-functions/ungetwc.texi: Likewise.
47180         * doc/posix-functions/vswprintf.texi: Likewise.
47181         * doc/posix-functions/wcrtomb.texi: Likewise.
47182         * doc/posix-functions/wcscat.texi: Likewise.
47183         * doc/posix-functions/wcschr.texi: Likewise.
47184         * doc/posix-functions/wcscmp.texi: Likewise.
47185         * doc/posix-functions/wcscoll.texi: Likewise.
47186         * doc/posix-functions/wcscpy.texi: Likewise.
47187         * doc/posix-functions/wcscspn.texi: Likewise.
47188         * doc/posix-functions/wcsftime.texi: Likewise.
47189         * doc/posix-functions/wcslen.texi: Likewise.
47190         * doc/posix-functions/wcsncat.texi: Likewise.
47191         * doc/posix-functions/wcsncmp.texi: Likewise.
47192         * doc/posix-functions/wcsncpy.texi: Likewise.
47193         * doc/posix-functions/wcspbrk.texi: Likewise.
47194         * doc/posix-functions/wcsrchr.texi: Likewise.
47195         * doc/posix-functions/wcsrtombs.texi: Likewise.
47196         * doc/posix-functions/wcsspn.texi: Likewise.
47197         * doc/posix-functions/wcsstr.texi: Likewise.
47198         * doc/posix-functions/wcstod.texi: Likewise.
47199         * doc/posix-functions/wcstof.texi: Likewise.
47200         * doc/posix-functions/wcstoimax.texi: Likewise.
47201         * doc/posix-functions/wcstok.texi: Likewise.
47202         * doc/posix-functions/wcstold.texi: Likewise.
47203         * doc/posix-functions/wcstoll.texi: Likewise.
47204         * doc/posix-functions/wcstol.texi: Likewise.
47205         * doc/posix-functions/wcstombs.texi: Likewise.
47206         * doc/posix-functions/wcstoull.texi: Likewise.
47207         * doc/posix-functions/wcstoul.texi: Likewise.
47208         * doc/posix-functions/wcstoumax.texi: Likewise.
47209         * doc/posix-functions/wcswidth.texi: Likewise.
47210         * doc/posix-functions/wcsxfrm.texi: Likewise.
47211         * doc/posix-functions/wctob.texi: Likewise.
47212         * doc/posix-functions/wctomb.texi: Likewise.
47213         * doc/posix-functions/wctrans.texi: Likewise.
47214         * doc/posix-functions/wctype.texi: Likewise.
47215         * doc/posix-functions/wcwidth.texi: Likewise.
47216         * doc/posix-functions/wmemchr.texi: Likewise.
47217         * doc/posix-functions/wmemcmp.texi: Likewise.
47218         * doc/posix-functions/wmemcpy.texi: Likewise.
47219         * doc/posix-functions/wmemmove.texi: Likewise.
47220         * doc/posix-functions/wmemset.texi: Likewise.
47221         * doc/posix-functions/wprintf.texi: Likewise.
47222         * doc/posix-functions/wscanf.texi: Likewise.
47223
47224 2008-12-21  Bruno Haible  <bruno@clisp.org>
47225
47226         Update doc for HP-UX 11.11.
47227         * doc/posix-functions/btowc.texi: Clarify that the function is missing
47228         in HP-UX version 11.00, not in all versions of HP-UX 11.
47229         * doc/posix-functions/fwide.texi: Likewise.
47230         * doc/posix-functions/fwprintf.texi: Likewise.
47231         * doc/posix-functions/fwscanf.texi: Likewise.
47232         * doc/posix-functions/inet_ntop.texi: Likewise.
47233         * doc/posix-functions/inet_pton.texi: Likewise.
47234         * doc/posix-functions/mbrlen.texi: Likewise.
47235         * doc/posix-functions/mbrtowc.texi: Likewise.
47236         * doc/posix-functions/mbsinit.texi: Likewise.
47237         * doc/posix-functions/mbsrtowcs.texi: Likewise.
47238         * doc/posix-functions/swprintf.texi: Likewise.
47239         * doc/posix-functions/swscanf.texi: Likewise.
47240         * doc/posix-functions/towctrans.texi: Likewise.
47241         * doc/posix-functions/vfwprintf.texi: Likewise.
47242         * doc/posix-functions/vswprintf.texi: Likewise.
47243         * doc/posix-functions/vwprintf.texi: Likewise.
47244         * doc/posix-functions/wcrtomb.texi: Likewise.
47245         * doc/posix-functions/wcsrtombs.texi: Likewise.
47246         * doc/posix-functions/wcsstr.texi: Likewise.
47247         * doc/posix-functions/wctob.texi: Likewise.
47248         * doc/posix-functions/wctrans.texi: Likewise.
47249         * doc/posix-functions/wmemchr.texi: Likewise.
47250         * doc/posix-functions/wmemcmp.texi: Likewise.
47251         * doc/posix-functions/wmemcpy.texi: Likewise.
47252         * doc/posix-functions/wmemmove.texi: Likewise.
47253         * doc/posix-functions/wmemset.texi: Likewise.
47254         * doc/posix-functions/wprintf.texi: Likewise.
47255         * doc/posix-functions/wscanf.texi: Likewise.
47256
47257 2008-12-21  Bruno Haible  <bruno@clisp.org>
47258
47259         Work around a portability problem.
47260         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
47261         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
47262
47263 2008-12-20  Bruno Haible  <bruno@clisp.org>
47264
47265         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
47266         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
47267         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
47268         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
47269         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
47270
47271         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
47272         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
47273         set.
47274         (GNULIB_defined_mbstate_t): New macro.
47275         (mbsinit): Redefine if REPLACE_MBSINIT is set.
47276         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
47277         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
47278         reuses the system's mbrtowc function but works around the bugs.
47279         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
47280         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
47281         macros.
47282         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
47283         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
47284         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
47285         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
47286         REPLACE_MBSINIT if mbsinit needs to be overridden.
47287         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
47288         REPLACE_MBSINIT, REPLACE_MBRTOWC.
47289         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
47290         REPLACE_MBSINIT, REPLACE_MBRTOWC.
47291         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
47292         m4/locale-zh.m4.
47293         (Depends): Add mbsinit.
47294         * modules/mbsinit (Depends): Add mbrtowc.
47295         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
47296
47297 2008-12-20  Bruno Haible  <bruno@clisp.org>
47298
47299         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
47300         so that there are no conversion errors on AIX.
47301         * tests/test-mbsrtowcs.c (main): LIkewise.
47302
47303 2008-12-20  Bruno Haible  <bruno@clisp.org>
47304
47305         Work around wctob bug on Solaris <= 9.
47306         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
47307         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
47308         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
47309         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
47310         * modules/wctob (Files): Add m4/locale-fr.m4.
47311         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
47312
47313 2008-12-20  Bruno Haible  <bruno@clisp.org>
47314
47315         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
47316         /dev/null.
47317         * tests/test-select-in.sh: Likewise.
47318         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
47319
47320 2008-12-20  Bruno Haible  <bruno@clisp.org>
47321
47322         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
47323         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
47324         Cygwin 1.5.x.
47325
47326 2008-12-20  Bruno Haible  <bruno@clisp.org>
47327
47328         Ensure mbstate_t is defined on HP-UX 11.11.
47329         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
47330         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
47331         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
47332         AC_USE_SYSTEM_EXTENSIONS.
47333         * modules/fnmatch (Depends-on): Add extensions.
47334         * modules/mbrlen (Depends-on): Likewise.
47335         * modules/mbrtowc (Depends-on): Likewise.
47336         * modules/mbsinit (Depends-on): Likewise.
47337         * modules/mbsrtowcs (Depends-on): Likewise.
47338         * modules/mbswidth (Depends-on): Likewise.
47339         * modules/quotearg (Depends-on): Likewise.
47340         * modules/strftime (Depends-on): Likewise.
47341
47342 2008-12-20  Bruno Haible  <bruno@clisp.org>
47343
47344         Ensure wctob is declared on IRIX 6.5.
47345         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
47346         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
47347         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
47348         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
47349         of HAVE_WCTOB.
47350         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
47351         HAVE_WCTOB.
47352         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
47353
47354 2008-12-19  Bruno Haible  <bruno@clisp.org>
47355
47356         * modules/mbsrtowcs-tests: New file.
47357         * tests/test-mbsrtowcs1.sh: New file.
47358         * tests/test-mbsrtowcs2.sh: New file.
47359         * tests/test-mbsrtowcs3.sh: New file.
47360         * tests/test-mbsrtowcs4.sh: New file.
47361         * tests/test-mbsrtowcs.c: New file.
47362
47363         New module 'mbsrtowcs'.
47364         * lib/wchar.in.h (mbsrtowcs): New declaration.
47365         * lib/mbsrtowcs.c: New file.
47366         * m4/mbsrtowcs.m4: New file.
47367         * modules/mbsrtowcs: New file.
47368         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
47369         HAVE_MBSRTOWCS.
47370         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
47371         HAVE_MBSRTOWCS.
47372         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
47373
47374 2008-12-19  Bruno Haible  <bruno@clisp.org>
47375
47376         New module 'mbrlen'.
47377         * lib/wchar.in.h (mbrlen): New declaration.
47378         * lib/mbrlen.c: New file.
47379         * m4/mbrlen.m4: New file.
47380         * modules/mbrlen: New file.
47381         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
47382         HAVE_MBRLEN.
47383         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
47384         HAVE_MBRLEN.
47385         * doc/posix-functions/mbrlen.texi: Document the new module.
47386
47387 2008-12-19  Bruno Haible  <bruno@clisp.org>
47388
47389         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
47390         * modules/mbrtowc (Depends-on): Add verify.
47391         Suggested by Paul Eggert.
47392
47393 2008-12-18  Bruno Haible  <bruno@clisp.org>
47394
47395         * modules/mbsinit-tests: New file.
47396         * tests/test-mbsinit.sh: New file.
47397         * tests/test-mbsinit.c: New file.
47398
47399 2008-12-18  Bruno Haible  <bruno@clisp.org>
47400
47401         * modules/mbrtowc-tests: New file.
47402         * tests/test-mbrtowc1.sh: New file.
47403         * tests/test-mbrtowc2.sh: New file.
47404         * tests/test-mbrtowc3.sh: New file.
47405         * tests/test-mbrtowc4.sh: New file.
47406         * tests/test-mbrtowc.c: New file.
47407
47408         New module 'mbrtowc'.
47409         * lib/wchar.in.h (mbstate_t): Override when the system does not have
47410         mbsinit and mbrtowc.
47411         (mbrtowc): New declaration.
47412         * lib/mbrtowc.c: New file.
47413         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
47414         * modules/mbrtowc: New file.
47415         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
47416         HAVE_MBRTOWC.
47417         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
47418         HAVE_MBRTOWC.
47419         * doc/posix-functions/mbrtowc.texi: Document the new module.
47420
47421 2008-12-18  Bruno Haible  <bruno@clisp.org>
47422
47423         New module 'wctob'.
47424         * lib/wchar.in.h (wctob): New declaration.
47425         * lib/wctob.c: New file.
47426         * m4/wctob.m4: New file.
47427         * modules/wctob: New file.
47428         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
47429         HAVE_WCTOB.
47430         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
47431         * doc/posix-functions/wctob.texi: Document the new module.
47432
47433 2008-12-18  Bruno Haible  <bruno@clisp.org>
47434
47435         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
47436         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
47437
47438 2008-12-18  Simon Josefsson  <simon@josefsson.org>
47439
47440         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
47441         G. Christensen" <tgc@jupiterrise.com>.
47442
47443         * lib/flock.c: Need to include errno.h.  Reported by "Tom
47444         G. Christensen" <tgc@jupiterrise.com>.
47445
47446         * lib/flock.c: Need to include string.h.  Reported by "Tom
47447         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
47448         <ebb9@byu.net>.
47449
47450 2008-12-18  Bruno Haible  <bruno@clisp.org>
47451
47452         * m4/locale-ja.m4: New file, from GNU gettext.
47453
47454 2008-12-17  Bruno Haible  <bruno@clisp.org>
47455
47456         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
47457         Suggested by Eric Blake.
47458
47459 2008-12-17  Bruno Haible  <bruno@clisp.org>
47460
47461         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
47462
47463 2008-12-17  Bruno Haible  <bruno@clisp.org>
47464
47465         * lib/mbsinit.c: Include verify.h. Verify an assumption.
47466         * modules/mbsinit (Depends-on): Add verify.
47467         Suggested by Paul Eggert.
47468
47469 2008-12-17  Bruno Haible  <bruno@clisp.org>
47470
47471         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
47472         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
47473         gl_FUNC_MBRTOWC.
47474         * m4/mbiter.m4 (gl_MBITER): LIkewise.
47475         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
47476         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
47477         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
47478         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
47479         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
47480         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
47481         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
47482         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
47483         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
47484         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
47485         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
47486         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
47487         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
47488         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
47489         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
47490         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
47491         * modules/trim (configure.ac): Likewise.
47492
47493 2008-12-17  Bruno Haible  <bruno@clisp.org>
47494
47495         * modules/btowc-tests: New file.
47496         * tests/test-btowc1.sh: New file.
47497         * tests/test-btowc2.sh: New file.
47498         * tests/test-btowc.c: New file.
47499
47500         New module 'btowc'.
47501         * lib/wchar.in.h (btowc): New declaration.
47502         * lib/btowc.c: New file.
47503         * m4/btowc.m4: New file.
47504         * modules/btowc: New file.
47505         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
47506         HAVE_BTOWC.
47507         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
47508         * doc/posix-functions/btowc.texi: Document the new module.
47509
47510 2008-12-17  Bruno Haible  <bruno@clisp.org>
47511
47512         New module 'mbsinit'.
47513         * lib/wchar.in.h (mbsinit): New declaration.
47514         * lib/mbsinit.c: New file.
47515         * m4/mbsinit.m4: New file.
47516         * modules/mbsinit: New file.
47517         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
47518         HAVE_MBSINIT.
47519         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
47520         HAVE_MBSINIT.
47521         * doc/posix-functions/mbsinit.texi: Document the new module.
47522
47523 2008-12-16  Bruno Haible  <bruno@clisp.org>
47524
47525         * lib/unistd.in.h: Add comment.
47526         * tests/test-environ.c: Don't include <stdlib.h>.
47527
47528 2008-12-16  Bruno Haible  <bruno@clisp.org>
47529
47530         * lib/parse-duration.h (parse_duration): Document return value
47531         convention.
47532         * lib/parse-duration.c: Include specification header first. Add
47533         comments.
47534         (_): Remove macro.
47535         (parse_year_month_day, parse_hour_minute_second): Move side effects
47536         outside of strchr call.
47537         (parse_non_iso8601): Move side effects outside of isspace call.
47538         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
47539         call.
47540
47541 2008-12-16  Bruno Haible  <bruno@clisp.org>
47542
47543         * tests/test-parse-duration.sh: Produce no output when the test
47544         succeeds.
47545
47546 2008-12-16  Bruno Haible  <bruno@clisp.org>
47547
47548         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
47549         expressions.
47550
47551 2008-12-15  Bruno Haible  <bruno@clisp.org>
47552
47553         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
47554         * doc/glibc-functions/flistxattr.texi: Likewise.
47555         * doc/glibc-functions/fopencookie.texi: Likewise.
47556         * doc/glibc-functions/fremovexattr.texi: Likewise.
47557         * doc/glibc-functions/fsetxattr.texi: Likewise.
47558         * doc/glibc-functions/getxattr.texi: Likewise.
47559         * doc/glibc-functions/lgetxattr.texi: Likewise.
47560         * doc/glibc-functions/listxattr.texi: Likewise.
47561         * doc/glibc-functions/llistxattr.texi: Likewise.
47562         * doc/glibc-functions/lremovexattr.texi: Likewise.
47563         * doc/glibc-functions/lsetxattr.texi: Likewise.
47564         * doc/glibc-functions/removexattr.texi: Likewise.
47565         * doc/glibc-functions/setxattr.texi: Likewise.
47566         * doc/posix-functions/open_memstream.texi: Likewise.
47567
47568 2008-12-15  Eric Blake  <ebb9@byu.net>
47569
47570         Update doc for cygwin 1.7.
47571         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
47572         functions.
47573         * doc/posix-functions/fchmodat.texi: Likewise.
47574         * doc/posix-functions/fchownat.texi: Likewise.
47575         * doc/posix-functions/fdopendir.texi: Likewise.
47576         * doc/posix-functions/fmemopen.texi: Likewise.
47577         * doc/posix-functions/freeaddrinfo.texi: Likewise.
47578         * doc/posix-functions/fstatat.texi: Likewise.
47579         * doc/posix-functions/futimens.texi: Likewise.
47580         * doc/posix-functions/gai_strerror.texi: Likewise.
47581         * doc/posix-functions/getaddrinfo.texi: Likewise.
47582         * doc/posix-functions/getnameinfo.texi: Likewise.
47583         * doc/posix-functions/if_freenameindex.texi: Likewise.
47584         * doc/posix-functions/if_indextoname.texi: Likewise.
47585         * doc/posix-functions/if_nameindex.texi: Likewise.
47586         * doc/posix-functions/if_nametoindex.texi: Likewise.
47587         * doc/posix-functions/insque.texi: Likewise.
47588         * doc/posix-functions/linkat.texi: Likewise.
47589         * doc/posix-functions/llrint.texi: Likewise.
47590         * doc/posix-functions/llrintf.texi: Likewise.
47591         * doc/posix-functions/llrintl.texi: Likewise.
47592         * doc/posix-functions/lockf.texi: Likewise.
47593         * doc/posix-functions/lrintl.texi: Likewise.
47594         * doc/posix-functions/mkdirat.texi: Likewise.
47595         * doc/posix-functions/mkfifoat.texi: Likewise.
47596         * doc/posix-functions/mknodat.texi: Likewise.
47597         * doc/posix-functions/mq_close.texi: Likewise.
47598         * doc/posix-functions/mq_getattr.texi: Likewise.
47599         * doc/posix-functions/mq_notify.texi: Likewise.
47600         * doc/posix-functions/mq_open.texi: Likewise.
47601         * doc/posix-functions/mq_receive.texi: Likewise.
47602         * doc/posix-functions/mq_send.texi: Likewise.
47603         * doc/posix-functions/mq_setattr.texi: Likewise.
47604         * doc/posix-functions/mq_timedreceive.texi: Likewise.
47605         * doc/posix-functions/mq_timedsend.texi: Likewise.
47606         * doc/posix-functions/mq_unlink.texi: Likewise.
47607         * doc/posix-functions/open_memstream.texi: Likewise.
47608         * doc/posix-functions/openat.texi: Likewise.
47609         * doc/posix-functions/posix_fadvise.texi: Likewise.
47610         * doc/posix-functions/posix_fallocate.texi: Likewise.
47611         * doc/posix-functions/posix_madvise.texi: Likewise.
47612         * doc/posix-functions/posix_memalign.texi: Likewise.
47613         * doc/posix-functions/posix_openpt.texi: Likewise.
47614         * doc/posix-functions/readlinkat.texi: Likewise.
47615         * doc/posix-functions/remque.texi: Likewise.
47616         * doc/posix-functions/renameat.texi: Likewise.
47617         * doc/posix-functions/rintl.texi: Likewise.
47618         * doc/posix-functions/sem_unlink.texi: Likewise.
47619         * doc/posix-functions/shm_open.texi: Likewise.
47620         * doc/posix-functions/shm_unlink.texi: Likewise.
47621         * doc/posix-functions/signgam.texi: Likewise.
47622         * doc/posix-functions/sigset.texi: Likewise.
47623         * doc/posix-functions/stpcpy.texi: Likewise.
47624         * doc/posix-functions/stpncpy.texi: Likewise.
47625         * doc/posix-functions/strerror.texi: Likewise.
47626         * doc/posix-functions/strtod.texi: Likewise.
47627         * doc/posix-functions/symlinkat.texi: Likewise.
47628         * doc/posix-functions/unlinkat.texi: Likewise.
47629         * doc/posix-functions/utimensat.texi: Likewise.
47630         * doc/glibc-functions/bindresvport.texi: Likewise.
47631         * doc/glibc-functions/dn_expand.texi: Likewise.
47632         * doc/glibc-functions/exp10.texi: Likewise.
47633         * doc/glibc-functions/exp10f.texi: Likewise.
47634         * doc/glibc-functions/fgetxattr.texi: Likewise.
47635         * doc/glibc-functions/flistxattr.texi: Likewise.
47636         * doc/glibc-functions/fopencookie.texi: Likewise.
47637         * doc/glibc-functions/freeifaddrs.texi: Likewise.
47638         * doc/glibc-functions/fremovexattr.texi: Likewise.
47639         * doc/glibc-functions/fsetxattr.texi: Likewise.
47640         * doc/glibc-functions/getifaddrs.texi: Likewise.
47641         * doc/glibc-functions/getxattr.texi: Likewise.
47642         * doc/glibc-functions/lgetxattr.texi: Likewise.
47643         * doc/glibc-functions/listxattr.texi: Likewise.
47644         * doc/glibc-functions/llistxattr.texi: Likewise.
47645         * doc/glibc-functions/lremovexattr.texi: Likewise.
47646         * doc/glibc-functions/lsetxattr.texi: Likewise.
47647         * doc/glibc-functions/pow10.texi: Likewise.
47648         * doc/glibc-functions/pow10f.texi: Likewise.
47649         * doc/glibc-functions/rcmd_af.texi: Likewise.
47650         * doc/glibc-functions/removexattr.texi: Likewise.
47651         * doc/glibc-functions/res_init.texi: Likewise.
47652         * doc/glibc-functions/res_mkquery.texi: Likewise.
47653         * doc/glibc-functions/res_query.texi: Likewise.
47654         * doc/glibc-functions/res_querydomain.texi: Likewise.
47655         * doc/glibc-functions/res_send.texi: Likewise.
47656         * doc/glibc-functions/rresvport_af.texi: Likewise.
47657         * doc/glibc-functions/setxattr.texi: Likewise.
47658         * doc/glibc-functions/strcasestr.texi: Likewise.
47659
47660 2008-12-15  Bruno Haible  <bruno@clisp.org>
47661
47662         Fix compilation error on OSF/1 4.0.
47663         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
47664         <sys/time.h>, simply delegate to the system header.
47665         Reported by Daniel Richard G. <oss@teragram.com>.
47666
47667 2008-12-15  Bruno Haible  <bruno@clisp.org>
47668
47669         * doc/posix-functions/openat.texi: Mention the 'openat' module.
47670         * doc/posix-functions/fchmodat.texi: Likewise.
47671         * doc/posix-functions/fchownat.texi: Likewise.
47672         * doc/posix-functions/fdopendir.texi: Likewise.
47673         * doc/posix-functions/fstatat.texi: Likewise.
47674         * doc/posix-functions/mkdirat.texi: Likewise.
47675         * doc/posix-functions/unlinkat.texi: Likewise.
47676
47677 2008-12-14  Bruno Haible  <bruno@clisp.org>
47678
47679         Update doc for POSIX:2008.
47680         * doc/posix-functions/faccessat.texi: New file.
47681         * doc/posix-functions/fchmodat.texi: New file.
47682         * doc/posix-functions/fchownat.texi: New file.
47683         * doc/posix-functions/fdopendir.texi: New file.
47684         * doc/posix-functions/fstatat.texi: New file.
47685         * doc/posix-functions/futimens.texi: New file.
47686         * doc/posix-functions/linkat.texi: New file.
47687         * doc/posix-functions/mkdirat.texi: New file.
47688         * doc/posix-functions/mkfifoat.texi: New file.
47689         * doc/posix-functions/mknodat.texi: New file.
47690         * doc/posix-functions/open_wmemstream.texi: New file.
47691         * doc/posix-functions/openat.texi: New file.
47692         * doc/posix-functions/psiginfo.texi: New file.
47693         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
47694         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
47695         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
47696         * doc/posix-functions/readlinkat.texi: New file.
47697         * doc/posix-functions/renameat.texi: New file.
47698         * doc/posix-functions/strerror_l.texi: New file.
47699         * doc/posix-functions/symlinkat.texi: New file.
47700         * doc/posix-functions/unlinkat.texi: New file.
47701         * doc/posix-functions/utimensat.texi: New file.
47702         * doc/gnulib.texi (Function Substitutes): Add these subsections.
47703
47704 2008-12-14  Bruno Haible  <bruno@clisp.org>
47705
47706         Update doc for POSIX:2008.
47707         * doc/posix-functions/alphasort.texi: Renamed from
47708         doc/glibc-functions/alphasort.texi.
47709         * doc/posix-functions/dirfd.texi: Renamed from
47710         doc/glibc-functions/dirfd.texi.
47711         * doc/posix-functions/dprintf.texi: Renamed from
47712         doc/glibc-functions/dprintf.texi.
47713         * doc/posix-functions/duplocale.texi: Renamed from
47714         doc/glibc-functions/duplocale.texi.
47715         * doc/posix-functions/fexecve.texi: Renamed from
47716         doc/glibc-functions/fexecve.texi.
47717         * doc/posix-functions/fmemopen.texi: Renamed from
47718         doc/glibc-functions/fmemopen.texi.
47719         * doc/posix-functions/freelocale.texi: Renamed from
47720         doc/glibc-functions/freelocale.texi.
47721         * doc/posix-functions/getdate_err.texi: Renamed from
47722         doc/glibc-functions/getdate_err.texi.
47723         * doc/posix-functions/isalnum_l.texi: Renamed from
47724         doc/glibc-functions/isalnum_l.texi.
47725         * doc/posix-functions/isalpha_l.texi: Renamed from
47726         doc/glibc-functions/isalpha_l.texi.
47727         * doc/posix-functions/isblank_l.texi: Renamed from
47728         doc/glibc-functions/isblank_l.texi.
47729         * doc/posix-functions/iscntrl_l.texi: Renamed from
47730         doc/glibc-functions/iscntrl_l.texi.
47731         * doc/posix-functions/isdigit_l.texi: Renamed from
47732         doc/glibc-functions/isdigit_l.texi.
47733         * doc/posix-functions/isgraph_l.texi: Renamed from
47734         doc/glibc-functions/isgraph_l.texi.
47735         * doc/posix-functions/islower_l.texi: Renamed from
47736         doc/glibc-functions/islower_l.texi.
47737         * doc/posix-functions/isprint_l.texi: Renamed from
47738         doc/glibc-functions/isprint_l.texi.
47739         * doc/posix-functions/ispunct_l.texi: Renamed from
47740         doc/glibc-functions/ispunct_l.texi.
47741         * doc/posix-functions/isspace_l.texi: Renamed from
47742         doc/glibc-functions/isspace_l.texi.
47743         * doc/posix-functions/isupper_l.texi: Renamed from
47744         doc/glibc-functions/isupper_l.texi.
47745         * doc/posix-functions/iswalnum_l.texi: Renamed from
47746         doc/glibc-functions/iswalnum_l.texi.
47747         * doc/posix-functions/iswalpha_l.texi: Renamed from
47748         doc/glibc-functions/iswalpha_l.texi.
47749         * doc/posix-functions/iswblank_l.texi: Renamed from
47750         doc/glibc-functions/iswblank_l.texi.
47751         * doc/posix-functions/iswcntrl_l.texi: Renamed from
47752         doc/glibc-functions/iswcntrl_l.texi.
47753         * doc/posix-functions/iswctype_l.texi: Renamed from
47754         doc/glibc-functions/iswctype_l.texi.
47755         * doc/posix-functions/iswdigit_l.texi: Renamed from
47756         doc/glibc-functions/iswdigit_l.texi.
47757         * doc/posix-functions/iswgraph_l.texi: Renamed from
47758         doc/glibc-functions/iswgraph_l.texi.
47759         * doc/posix-functions/iswlower_l.texi: Renamed from
47760         doc/glibc-functions/iswlower_l.texi.
47761         * doc/posix-functions/iswprint_l.texi: Renamed from
47762         doc/glibc-functions/iswprint_l.texi.
47763         * doc/posix-functions/iswpunct_l.texi: Renamed from
47764         doc/glibc-functions/iswpunct_l.texi.
47765         * doc/posix-functions/iswspace_l.texi: Renamed from
47766         doc/glibc-functions/iswspace_l.texi.
47767         * doc/posix-functions/iswupper_l.texi: Renamed from
47768         doc/glibc-functions/iswupper_l.texi.
47769         * doc/posix-functions/iswxdigit_l.texi: Renamed from
47770         doc/glibc-functions/iswxdigit_l.texi.
47771         * doc/posix-functions/isxdigit_l.texi: Renamed from
47772         doc/glibc-functions/isxdigit_l.texi.
47773         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
47774         doc/glibc-functions/mbsnrtowcs.texi.
47775         * doc/posix-functions/mkdtemp.texi: Renamed from
47776         doc/glibc-functions/mkdtemp.texi.
47777         * doc/posix-functions/newlocale.texi: Renamed from
47778         doc/glibc-functions/newlocale.texi.
47779         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
47780         doc/glibc-functions/nl_langinfo_l.texi.
47781         * doc/posix-functions/open_memstream.texi: Renamed from
47782         doc/glibc-functions/open_memstream.texi.
47783         * doc/posix-functions/opterr.texi: Renamed from
47784         doc/glibc-functions/opterr.texi.
47785         * doc/posix-functions/optind.texi: Renamed from
47786         doc/glibc-functions/optind.texi.
47787         * doc/posix-functions/optopt.texi: Renamed from
47788         doc/glibc-functions/optopt.texi.
47789         * doc/posix-functions/psignal.texi: Renamed from
47790         doc/glibc-functions/psignal.texi.
47791         * doc/posix-functions/scandir.texi: Renamed from
47792         doc/glibc-functions/scandir.texi.
47793         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
47794         doc/glibc-functions/sched_get_priority_min.texi.
47795         * doc/posix-functions/signgam.texi: Renamed from
47796         doc/glibc-functions/signgam.texi.
47797         * doc/posix-functions/stpcpy.texi: Renamed from
47798         doc/glibc-functions/stpcpy.texi.
47799         * doc/posix-functions/stpncpy.texi: Renamed from
47800         doc/glibc-functions/stpncpy.texi.
47801         * doc/posix-functions/strcasecmp_l.texi: Renamed from
47802         doc/glibc-functions/strcasecmp_l.texi.
47803         * doc/posix-functions/strcoll_l.texi: Renamed from
47804         doc/glibc-functions/strcoll_l.texi.
47805         * doc/posix-functions/strfmon_l.texi: Renamed from
47806         doc/glibc-functions/strfmon_l.texi.
47807         * doc/posix-functions/strftime_l.texi: Renamed from
47808         doc/glibc-functions/strftime_l.texi.
47809         * doc/posix-functions/strncasecmp_l.texi: Renamed from
47810         doc/glibc-functions/strncasecmp_l.texi.
47811         * doc/posix-functions/strndup.texi: Renamed from
47812         doc/glibc-functions/strndup.texi.
47813         * doc/posix-functions/strnlen.texi: Renamed from
47814         doc/glibc-functions/strnlen.texi.
47815         * doc/posix-functions/strsignal.texi: Renamed from
47816         doc/glibc-functions/strsignal.texi.
47817         * doc/posix-functions/strxfrm_l.texi: Renamed from
47818         doc/glibc-functions/strxfrm_l.texi.
47819         * doc/posix-functions/timer_gettime.texi: Renamed from
47820         doc/glibc-functions/timer_gettime.texi.
47821         * doc/posix-functions/tolower_l.texi: Renamed from
47822         doc/glibc-functions/tolower_l.texi.
47823         * doc/posix-functions/toupper_l.texi: Renamed from
47824         doc/glibc-functions/toupper_l.texi.
47825         * doc/posix-functions/towctrans_l.texi: Renamed from
47826         doc/glibc-functions/towctrans_l.texi.
47827         * doc/posix-functions/towlower_l.texi: Renamed from
47828         doc/glibc-functions/towlower_l.texi.
47829         * doc/posix-functions/towupper_l.texi: Renamed from
47830         doc/glibc-functions/towupper_l.texi.
47831         * doc/posix-functions/uselocale.texi: Renamed from
47832         doc/glibc-functions/uselocale.texi.
47833         * doc/posix-functions/vdprintf.texi: Renamed from
47834         doc/glibc-functions/vdprintf.texi.
47835         * doc/posix-functions/wcpcpy.texi:
47836         Renamed from doc/glibc-functions/wcpcpy.texi.
47837         * doc/posix-functions/wcpncpy.texi: Renamed from
47838         doc/glibc-functions/wcpncpy.texi.
47839         * doc/posix-functions/wcscasecmp.texi: Renamed from
47840         doc/glibc-functions/wcscasecmp.texi.
47841         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
47842         doc/glibc-functions/wcscasecmp_l.texi.
47843         * doc/posix-functions/wcscoll_l.texi: Renamed from
47844         doc/glibc-functions/wcscoll_l.texi.
47845         * doc/posix-functions/wcsdup.texi: Renamed from
47846         doc/glibc-functions/wcsdup.texi.
47847         * doc/posix-functions/wcsncasecmp.texi: Renamed from
47848         doc/glibc-functions/wcsncasecmp.texi.
47849         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
47850         doc/glibc-functions/wcsncasecmp_l.texi.
47851         * doc/posix-functions/wcsnlen.texi: Renamed from
47852         doc/glibc-functions/wcsnlen.texi.
47853         * doc/posix-functions/wcsnrtombs.texi: Renamed from
47854         doc/glibc-functions/wcsnrtombs.texi.
47855         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
47856         doc/glibc-functions/wcsxfrm_l.texi.
47857         * doc/posix-functions/wctrans_l.texi: Renamed from
47858         doc/glibc-functions/wctrans_l.texi.
47859         * doc/posix-functions/wctype_l.texi: Renamed from
47860         doc/glibc-functions/wctype_l.texi.
47861         * doc/gnulib.texi (Function Substitutes): Add these subsections.
47862         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
47863         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
47864         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
47865         these subsections.
47866         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
47867         Remove sections.
47868
47869 2008-12-14  Bruno Haible  <bruno@clisp.org>
47870
47871         Update doc for POSIX:2008.
47872         * doc/posix-functions/*.texi: Update URL of POSIX specification.
47873
47874 2008-12-14  Bruno Haible  <bruno@clisp.org>
47875
47876         Update doc for POSIX:2008.
47877         * doc/pastposix-functions/bcmp.texi: Renamed from
47878         doc/posix-functions/bcmp.texi.
47879         * doc/pastposix-functions/bcopy.texi: Renamed from
47880         doc/posix-functions/bcopy.texi.
47881         * doc/pastposix-functions/bsd_signal.texi: Renamed from
47882         doc/posix-functions/bsd_signal.texi.
47883         * doc/pastposix-functions/bzero.texi: Renamed from
47884         doc/posix-functions/bzero.texi.
47885         * doc/pastposix-functions/ecvt.texi: Renamed from
47886         doc/posix-functions/ecvt.texi.
47887         * doc/pastposix-functions/fcvt.texi: Renamed from
47888         doc/posix-functions/fcvt.texi.
47889         * doc/pastposix-functions/ftime.texi: Renamed from
47890         doc/posix-functions/ftime.texi.
47891         * doc/pastposix-functions/gcvt.texi: Renamed from
47892         doc/posix-functions/gcvt.texi.
47893         * doc/pastposix-functions/getcontext.texi: Renamed from
47894         doc/posix-functions/getcontext.texi.
47895         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
47896         doc/posix-functions/gethostbyaddr.texi.
47897         * doc/pastposix-functions/gethostbyname.texi: Renamed from
47898         doc/posix-functions/gethostbyname.texi.
47899         * doc/pastposix-functions/getwd.texi: Renamed from
47900         doc/posix-functions/getwd.texi.
47901         * doc/pastposix-functions/h_errno.texi: Renamed from
47902         doc/posix-functions/h_errno.texi.
47903         * doc/pastposix-functions/index.texi: Renamed from
47904         doc/posix-functions/index.texi.
47905         * doc/pastposix-functions/makecontext.texi: Renamed from
47906         doc/posix-functions/makecontext.texi.
47907         * doc/pastposix-functions/mktemp.texi: Renamed from
47908         doc/posix-functions/mktemp.texi.
47909         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
47910         doc/posix-functions/pthread_attr_getstackaddr.texi.
47911         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
47912         doc/posix-functions/pthread_attr_setstackaddr.texi.
47913         * doc/pastposix-functions/rindex.texi: Renamed from
47914         doc/posix-functions/rindex.texi.
47915         * doc/pastposix-functions/scalb.texi: Renamed from
47916         doc/posix-functions/scalb.texi.
47917         * doc/pastposix-functions/setcontext.texi: Renamed from
47918         doc/posix-functions/setcontext.texi.
47919         * doc/pastposix-functions/swapcontext.texi: Renamed from
47920         doc/posix-functions/swapcontext.texi.
47921         * doc/pastposix-functions/ualarm.texi: Renamed from
47922         doc/posix-functions/ualarm.texi.
47923         * doc/pastposix-functions/usleep.texi: Renamed from
47924         doc/posix-functions/usleep.texi.
47925         * doc/pastposix-functions/vfork.texi: Renamed from
47926         doc/posix-functions/vfork.texi.
47927         * doc/pastposix-functions/wcswcs.texi: Renamed from
47928         doc/posix-functions/wcswcs.texi.
47929         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
47930         (Function Substitutes): Update.
47931
47932 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47933
47934         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
47935         m4/strerror.m4.
47936
47937 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47938             Bruno Haible  <bruno@clisp.org>
47939
47940         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
47941
47942 2008-12-13  Bruno Haible  <bruno@clisp.org>
47943
47944         * modules/strtoull (Depends-on): Remove unistd.
47945
47946 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47947
47948         * modules/strtoull (Depends-on): Add stdlib.
47949
47950 2008-12-11  Simon Josefsson  <simon@josefsson.org>
47951
47952         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
47953
47954 2008-12-10  Jim Meyering  <meyering@redhat.com>
47955
47956         gl_ASSERT: don't say assertions are disabled when they're not
47957         * m4/assert.m4 (gl_ASSERT): Do not make configure report
47958         "checking whether to enable assertions... no", when they are in
47959         fact enabled.  This is solely a bug in the output of configure.
47960         In spite of saying "no", NDEBUG was not defined in that case.
47961         Also, as noted by Eric Blake, leave assertions enabled upon
47962         --enable-assert=INVALID.
47963
47964 2008-12-10  Bruno Haible  <bruno@clisp.org>
47965
47966         Change MODULES.html to refer to POSIX:2008 where possible.
47967         * MODULES.html.sh (POSIX2008_URL): New variable.
47968         (posix_headers): Remove sys/timeb, ucontext.
47969         (posix2001_headers): New variable.
47970         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
47971         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
47972         index, makecontext, mktemp, pthread_attr_getstackaddr,
47973         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
47974         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
47975         (posix2001_functions): New variable.
47976         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
47977         otherwise.
47978
47979 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47980
47981         add missing include to parse-duration.c
47982         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
47983         * modules/parse-duration (Depends-on): Add xalloc.
47984
47985         fix sed script reading maint.mk
47986         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
47987         (syntax-check-rules): Use it.
47988
47989 2008-12-09  Bruno Haible  <bruno@clisp.org>
47990
47991         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
47992         MacOS X 10.4/PowerPC.
47993         Reported by Simon Josefsson.
47994
47995 2008-12-08  Jim Meyering  <meyering@redhat.com>
47996
47997         work around mingw's lack of some S_IF definitions
47998         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
47999         Reported by Simon Josefsson.
48000
48001 2008-12-08  Bruno Haible  <bruno@clisp.org>
48002
48003         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
48004         applied to variables. Needed on MacOS X 10.4/PowerPC.
48005         Reported by Simon Josefsson.
48006
48007 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
48008         and Eric Blake  <ebb9@byu.net>
48009
48010         assert: honor --enable-assert
48011         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
48012         order to honor --enable-assert, rather than treating it as a
48013         synonym for --disable-assert.
48014
48015 2008-12-08  Jim Meyering  <meyering@redhat.com>
48016
48017         * lib/posixtm.c: Remove now-useless declaration of mktime.
48018
48019         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
48020
48021 2008-12-07  Bruno Haible  <bruno@clisp.org>
48022
48023         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
48024         test_once): Mark functions as static.
48025         * tests/test-tls.c (test_tls): Likewise.
48026
48027 2008-12-07  Bruno Haible  <bruno@clisp.org>
48028
48029         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
48030         iconv_register_autodetect.
48031
48032 2008-12-07  Jim Meyering  <meyering@redhat.com>
48033
48034         posixtm.c: avoid a warning
48035         * lib/posixtm.c (posixtime): Don't initialize tm0.
48036         It's no longer needed to placate gcc4's -Wuninitialized,
48037         and the attempt to placate would elicit a new warning.
48038
48039         unicodeio.c: mark unused parameters
48040         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
48041         (fallback_failure_callback): Likewise.
48042
48043 2008-12-07  Bruno Haible  <bruno@clisp.org>
48044
48045         * gnulib-tool (func_create_testdir): When building the tests
48046         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
48047         Reported by Simon Josefsson.
48048
48049 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48050
48051         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
48052
48053 2008-12-06  Bruno Haible  <bruno@clisp.org>
48054
48055         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
48056         Suggested by Eric Blake.
48057
48058 2008-12-06  Bruno Haible  <bruno@clisp.org>
48059
48060         Fix a c-stack test failure on MacOS X.
48061         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
48062         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
48063         handler for SIGBUS as well.
48064         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
48065         install a signal handler for SIGBUS as well.
48066         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
48067
48068 2008-12-06  Bruno Haible  <bruno@clisp.org>
48069
48070         Advocacy documentation.
48071         * doc/gnulib-intro.texi (Benefits): New section.
48072         * doc/gnulib.texi: Update.
48073
48074 2008-12-06  Bruno Haible  <bruno@clisp.org>
48075
48076         Document the 'manywarnings' module.
48077         * doc/manywarnings.texi: New file.
48078         * doc/gnulib.texi: Include it.
48079
48080 2008-12-05  Eric Blake  <ebb9@byu.net>
48081
48082         tests: silence some gcc warnings
48083         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
48084         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
48085         type mismatches.
48086
48087 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48088             Bruno Haible  <bruno@clisp.org>
48089
48090         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
48091
48092 2008-11-29  Jim Meyering  <meyering@redhat.com>
48093
48094         unicodeio.c: mark unused parameters
48095         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
48096         (fallback_failure_callback): Likewise.
48097
48098         fts: fix a thinko
48099         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
48100         (set_stat_type): Return S_IF*-valued "type" directly.
48101         Prompted by James Youngman's spotting a related bug.
48102         Confirmed by further testing through find.
48103
48104         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
48105         * lib/fts.c (D_TYPE): Define.
48106         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
48107         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
48108         (s_ifmt_shift_bits): New function.
48109         (set_stat_type): New function.
48110         (fts_build): When not calling fts_stat, call set_stat_type
48111         to propagate dirent.d_type info to fts_read caller.
48112         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
48113         fts_statp->st_mode type information may be valid.
48114
48115 2008-11-28  Simon Josefsson  <simon@josefsson.org>
48116
48117         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
48118         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
48119         <sds@gnu.org>.
48120
48121 2008-11-20  Bruno Haible  <bruno@clisp.org>
48122
48123         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
48124         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
48125         INCLUDE_NEXT.
48126         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
48127         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
48128         * modules/math (Makefile.am): Substitute
48129         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
48130         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
48131
48132 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
48133             Bruno Haible  <bruno@clisp.org>
48134
48135         * lib/stdint.in.h: Define all type macros so that their expansion is
48136         a single typedef'ed token. Fixes a compilation failure in Boost which
48137         does "using ::int8_t;".
48138
48139 2008-11-18  Simon Josefsson  <simon@josefsson.org>
48140
48141         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
48142         gl_MANYWARN_ALL_GCC.
48143         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
48144         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
48145         * modules/manywarnings: New file.
48146         * MODULES.html.sh: Mention manywarnings module.
48147
48148 2008-11-18  Bruno Haible  <bruno@clisp.org>
48149
48150         * doc/gnulib-tool.texi (Unit tests): New section.
48151
48152 2008-11-18  Simon Josefsson  <simon@josefsson.org>
48153
48154         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
48155         paths like 'lib/po/foo.po'.
48156
48157 2008-11-17  Simon Josefsson  <simon@josefsson.org>
48158
48159         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
48160         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
48161
48162 2008-11-17  Simon Josefsson  <simon@josefsson.org>
48163
48164         * m4/warnings.m4: Use CPPFLAGS to really check whether the
48165         parameter works.
48166
48167 2008-11-17  Simon Josefsson  <simon@josefsson.org>
48168
48169         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
48170
48171 2008-11-17  Bruce Korb  <bkorb@gnu.org>
48172
48173         * modules/parse-duration-tests: New file.
48174         * tests/test-parse-duration.sh: New file.
48175         * tests/test-parse-duration.c: New file.
48176
48177         New module 'parse-duration'.
48178         * lib/parse-duration.h: New file.
48179         * lib/parse-duration.c: New file.
48180         * modules/parse-duration: New file.
48181
48182 2008-11-17  Bruno Haible  <bruno@clisp.org>
48183
48184         * tests/test-select-out.sh: Comment out the first pipe test.
48185         Reported by Simon Josefsson.
48186
48187 2008-11-17  Bruno Haible  <bruno@clisp.org>
48188
48189         * modules/getaddrinfo (Depends-on): Add servent, hostent.
48190         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
48191         gl_HOSTENT.
48192
48193 2008-11-17  Bruno Haible  <bruno@clisp.org>
48194
48195         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
48196         -lnetwork and -lnet. Needed for Haiku and BeOS.
48197
48198 2008-11-16  Bruno Haible  <bruno@clisp.org>
48199
48200         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
48201
48202 2008-11-16  Bruno Haible  <bruno@clisp.org>
48203
48204         Avoid test failure on Haiku.
48205         * tests/test-fsync.c: Include <errno.h>.
48206         (main): Don't require that fsync (0) fails.
48207
48208 2008-11-15  Bruno Haible  <bruno@clisp.org>
48209
48210         New module 'hostent'.
48211         * modules/hostent: New file.
48212         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
48213
48214 2008-11-15  Bruno Haible  <bruno@clisp.org>
48215
48216         New module 'servent'.
48217         * modules/servent: New file.
48218         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
48219
48220 2008-11-15  Bruno Haible  <bruno@clisp.org>
48221
48222         Avoid generating same test program with two different rules.
48223         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
48224         test-frexp to test-frexp-nolibm.
48225         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
48226         test-frexpl to test-frexpl-nolibm.
48227
48228 2008-11-15  Bruno Haible  <bruno@clisp.org>
48229
48230         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
48231         $(FREXPL_LIBM).
48232
48233 2008-11-15  Bruno Haible  <bruno@clisp.org>
48234
48235         * lib/netdb.in.h: Activate the definitions also when the system's
48236         <netdb.h> has 'struct addrinfo'.
48237         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
48238         EAI_OVERFLOW or AI_NUMERICSERV.
48239         * doc/posix-headers/netdb.texi: Document the problem.
48240
48241 2008-11-15  Bruno Haible  <bruno@clisp.org>
48242
48243         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
48244
48245         Make the 'sched' module work on platforms where <sched.h> exists but
48246         is incomplete (such as Haiku).
48247         * lib/sched.in.h; Include the system's <sched.h> if it exists.
48248         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
48249         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
48250         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
48251         HAVE_STRUCT_SCHED_PARAM.
48252         * modules/sched (Depends-on): Add include_next.
48253         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
48254         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
48255         * doc/posix-headers/sched.texi: Document the issue.
48256
48257 2008-11-13  Jim Meyering  <meyering@redhat.com>
48258
48259         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
48260         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
48261         test would fail due to the difference in the Report bugs to ...
48262         line.  The expected address is empty, "<>", while the actual
48263         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
48264
48265 2008-11-12  Bruno Haible  <bruno@clisp.org>
48266
48267         lstat: don't compile lstat.c on systems lacking lstat
48268         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
48269         which don't have lstat; this is handled by lib/sys_stat.in.h already.
48270         Reported by Daniel P. Berrange via Jim Meyering.
48271
48272 2008-11-12  Jim Meyering  <meyering@redhat.com>
48273
48274         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
48275
48276 2008-11-12  Simon Josefsson  <simon@josefsson.org>
48277
48278         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
48279         instead.
48280
48281 2008-11-12  Bruno Haible  <bruno@clisp.org>
48282
48283         * lib/unicodeio.c: Include unistr.h.
48284         (utf8_wctomb): Remove function.
48285         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
48286
48287 2008-11-12  Simon Josefsson  <simon@josefsson.org>
48288
48289         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
48290         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
48291         <bruno@clisp.org>.
48292         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
48293
48294 2008-11-12  Simon Josefsson  <simon@josefsson.org>
48295
48296         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
48297         * doc/gnulib.texi: Add section for warnings.
48298
48299 2008-11-11  Bruno Haible  <bruno@clisp.org>
48300
48301         * lib/sockets.h: Add a comment.
48302
48303 2008-11-11  Karl Berry  <karl@gnu.org>
48304
48305         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
48306
48307 2008-11-11  Eric Blake  <ebb9@byu.net>
48308
48309         fdl.texi: avoid git symlinks
48310         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
48311
48312 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
48313
48314         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
48315
48316 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
48317
48318         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
48319         (gl_WARN_ADD): Substitute $2 if literal.
48320
48321 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
48322
48323         * m4/warning.m4: Remove.
48324
48325 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
48326
48327         * m4/warnings.m4: Almost complete rewrite. :-)
48328
48329 2008-11-10  Simon Josefsson  <simon@josefsson.org>
48330
48331         * modules/warnings: New module.
48332         * m4/warnings.m4: New file.
48333         * MODULES.html.sh: Mention warnings module.
48334         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
48335         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
48336
48337 2008-11-10  Eric Blake  <ebb9@byu.net>
48338
48339         fdl.texi: make a symlink to the latest version
48340         * doc/standards.texi: Revert today's earlier change.
48341         * doc/fdl-1.2.texi: Rename from old fdl.texi...
48342         * doc/fdl.texi: ...and replace this with a symlink to the newer
48343         fdl-1.3.texi.
48344
48345 2008-11-10  Bruno Haible  <bruno@clisp.org>
48346
48347         * tests/test-select-fd.c (main): Accept the result file name as fourth
48348         argument.
48349         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
48350         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
48351
48352 2008-11-10  Bruno Haible  <bruno@clisp.org>
48353
48354         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
48355         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
48356         as autoconf-substituted macros.
48357         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
48358         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
48359         gl_NETDB_H_DEFAULTS. Set these variables.
48360         * modules/netdb (Makefile.am): Substitute these variables.
48361
48362 2008-11-10  Eric Blake  <ebb9@byu.net>
48363
48364         standards.texi: include correct file for FDL 1.3
48365         * doc/standards.texi (GNU Free Documentation License): Change
48366         include file to pull in FDL 1.3, not 1.2.
48367
48368         fdl.texi: revert accidental change to license
48369         * doc/fdl.texi: This is FDL 1.2, not 1.3.
48370
48371 2008-11-10  Bruno Haible  <bruno@clisp.org>
48372
48373         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
48374         cross-compiling guesses also when the native compile gives no result.
48375
48376 2008-11-10  Bruno Haible  <bruno@clisp.org>
48377
48378         * lib/spawni.c (__spawni): Force variable into the stack.
48379
48380 2008-11-10  Bruno Haible  <bruno@clisp.org>
48381
48382         Add support for Haiku.
48383         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
48384         glibc and BeOS, but also on Haiku.
48385         * lib/fpurge.c (fpurge): Likewise.
48386         * lib/freadable.c (freadable): Likewise.
48387         * lib/freadahead.c (freadahead): Likewise.
48388         * lib/freading.c (freading): Likewise.
48389         * lib/freadptr.c (freadptr): Likewise.
48390         * lib/freadseek.c (freadptrinc): Likewise.
48391         * lib/fseeko.c (rpl_fseeko): Likewise.
48392         * lib/fseterr.c (fseterr): Likewise.
48393         * lib/fwritable.c (fwritable): Likewise.
48394         * lib/fwriting.c (fwriting): Likewise.
48395         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
48396
48397 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
48398
48399         * lib/config.charset: Treat Haiku like BeOS.
48400
48401 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
48402
48403         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
48404         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
48405
48406 2008-11-08  Bruno Haible  <bruno@clisp.org>
48407
48408         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
48409         AC_CACHE_CHECK.
48410
48411 2008-11-08  Bruno Haible  <bruno@clisp.org>
48412
48413         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
48414
48415 2008-11-08  Bruno Haible  <bruno@clisp.org>
48416
48417         * tests/test-select-fd.c: New file.
48418         * tests/test-select-in.sh: New file.
48419         * tests/test-select-out.sh: New file.
48420         * tests/test-select-stdin.c: New file.
48421         * modules/select-tests (Files): Add the new files.
48422         (Depends-on): Add gettimeofday.
48423         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
48424         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
48425         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
48426
48427 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
48428             Bruno Haible  <bruno@clisp.org>
48429
48430         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
48431
48432 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
48433
48434         * build-aux/pmccabe2html: Added support for C++ source files.
48435
48436 2008-11-05  Ben Pfaff  <blp@gnu.org>
48437
48438         Fix lib/close.c build on Windows.
48439         * modules/close (Files): Add lib/w32sock.h.
48440
48441 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
48442
48443         Accept Bison's NEWS format.
48444         * build-aux/announce-gen (print_news_deltas): Tweak
48445         $re_prefix.
48446
48447 2008-11-04  Bruno Haible  <bruno@clisp.org>
48448
48449         * modules/random_r (Maintainer): Add glibc.
48450
48451 2008-11-04  Simon Josefsson  <simon@josefsson.org>
48452
48453         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
48454         by karl@freefriends.org (Karl Berry).
48455         * doc/alloca.texi: Likewise.
48456         * doc/c-ctype.texi: Likewise.
48457         * doc/c-strcase.texi: Likewise.
48458         * doc/c-strcaseeq.texi: Likewise.
48459         * doc/c-strcasestr.texi: Likewise.
48460         * doc/c-strstr.texi: Likewise.
48461         * doc/c-strtod.texi: Likewise.
48462         * doc/c-strtold.texi: Likewise.
48463         * doc/ctime.texi: Likewise.
48464         * doc/error.texi: Likewise.
48465         * doc/fdl.texi: Likewise.
48466         * doc/gcd.texi: Likewise.
48467         * doc/getdate.texi: Likewise.
48468         * doc/gnulib-intro.texi: Likewise.
48469         * doc/gnulib-tool.texi: Likewise.
48470         * doc/gnulib.texi: Likewise.
48471         * doc/inet_ntoa.texi: Likewise.
48472         * doc/maintain.texi: Likewise.
48473         * doc/make-stds.texi: Likewise.
48474         * doc/quote.texi: Likewise.
48475         * doc/regexprops-generic.texi: Likewise.
48476         * doc/standards.texi: Likewise.
48477         * doc/verify.texi: Likewise.
48478         * doc/visibility.texi: Likewise.
48479         * doc/gnulib.texi (GNU Free Documentation License): Include
48480         fdl-1.3.texi instead of fdl.texi.
48481
48482 2008-11-04  Simon Josefsson  <simon@josefsson.org>
48483
48484         * doc/fdl-1.3.texi: New file, from
48485         <http://www.gnu.org/licenses/fdl-1.3.texi>.
48486         * modules/fdl-1.3: Add.
48487         * MODULES.html.sh: Add fdl-1.3.
48488
48489 2008-11-03  Bruno Haible  <bruno@clisp.org>
48490
48491         Make determination of absolute name of header file work with AIX xlc.
48492         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
48493         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
48494         preprocessing.
48495         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
48496         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
48497
48498 2008-11-03  Simon Josefsson  <simon@josefsson.org>
48499
48500         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
48501         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
48502         <ludo@gnu.org>.
48503
48504 2008-11-02  Bruno Haible  <bruno@clisp.org>
48505
48506         Mark 'strpbrk' obsolete.
48507         * modules/strpbrk (Status, Notice): New sections.
48508         * modules/strtok_r (Depends-on): Add strpbrk.
48509
48510 2008-11-02  Bruno Haible  <bruno@clisp.org>
48511
48512         Mark 'strdup' obsolete.
48513         * modules/strdup (Status, Notice): New sections.
48514         * modules/findprog (Depends-on): Add strdup.
48515         * modules/getaddrinfo (Depends-on): Likewise.
48516         * modules/localename (Depends-on): Likewise.
48517         * modules/relocatable-lib (Depends-on): Likewise.
48518         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
48519         * modules/relocatable-prog (Depends-on): Likewise.
48520         * modules/trim (Depends-on): Likewise.
48521         * modules/unictype/gen-ctype (Depends-on): Likewise.
48522         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
48523
48524 2008-11-02  Bruno Haible  <bruno@clisp.org>
48525
48526         Mark 'strcspn' obsolete.
48527         * modules/strcspn (Status, Notice): New sections.
48528
48529 2008-11-02  Bruno Haible  <bruno@clisp.org>
48530
48531         Mark 'rmdir' obsolete.
48532         * modules/rmdir (Status, Notice): New sections.
48533         * modules/clean-temp (Depends-on): Add rmdir.
48534         * modules/openat (Depends-on): Likewise.
48535
48536 2008-11-02  Bruno Haible  <bruno@clisp.org>
48537
48538         Mark 'raise' obsolete.
48539         * modules/raise (Status, Notice): New sections.
48540         (Include): Specify <signal.h>.
48541         * modules/stdio (Depends-on): Add raise.
48542         * modules/write (Depends-on): Likewise.
48543
48544 2008-11-02  Bruno Haible  <bruno@clisp.org>
48545
48546         Mark 'memset' obsolete.
48547         * modules/memset (Status, Notice): New sections.
48548
48549 2008-11-02  Bruno Haible  <bruno@clisp.org>
48550
48551         Mark 'memmove' obsolete.
48552         * modules/memmove (Status, Notice): New sections.
48553         * modules/argp (Depends-on): Add memmove.
48554         * modules/argz (Depends-on): Likewise.
48555         * modules/canonicalize (Depends-on): Likewise.
48556         * modules/canonicalize-lgpl (Depends-on): Likewise.
48557         * modules/fts (Depends-on): Likewise.
48558         * modules/getcwd (Depends-on): Likewise.
48559         * modules/human (Depends-on): Likewise.
48560         * modules/regex (Depends-on): Likewise.
48561         * modules/striconveh (Depends-on): Likewise.
48562         * modules/trim (Depends-on): Likewise.
48563         * modules/unistr/u8-move (Depends-on): Likewise.
48564         * modules/unistr/u16-move (Depends-on): Likewise.
48565         * modules/unistr/u32-move (Depends-on): Likewise.
48566
48567 2008-11-02  Bruno Haible  <bruno@clisp.org>
48568
48569         Mark 'memcpy' obsolete.
48570         * modules/memcpy (Status, Notice): New sections.
48571
48572 2008-11-02  Bruno Haible  <bruno@clisp.org>
48573
48574         Mark 'memcmp' obsolete.
48575         * modules/memcmp (Status, Notice): New sections.
48576         * modules/argmatch (Depends-on): Add memchr.
48577         * modules/backupfile (Depends-on): Likewise.
48578         * modules/c-strcasestr (Depends-on): Likewise.
48579         * modules/crypto/des (Depends-on): Likewise.
48580         * modules/csharpcomp (Depends-on): Likewise.
48581         * modules/fnmatch (Depends-on): Likewise.
48582         * modules/git-merge-changelog (Depends-on): Likewise.
48583         * modules/isnand (Depends-on): Likewise.
48584         * modules/isnand-nolibm (Depends-on): Likewise.
48585         * modules/isnanf (Depends-on): Likewise.
48586         * modules/isnanf-nolibm (Depends-on): Likewise.
48587         * modules/isnanl (Depends-on): Likewise.
48588         * modules/isnanl-nolibm (Depends-on): Likewise.
48589         * modules/mbchar (Depends-on): Likewise.
48590         * modules/memcoll (Depends-on): Likewise.
48591         * modules/quotearg (Depends-on): Likewise.
48592         * modules/regex (Depends-on): Likewise.
48593         * modules/relocatable-prog (Depends-on): Likewise.
48594         * modules/same (Depends-on): Likewise.
48595         * modules/signbit (Depends-on): Likewise.
48596         * modules/strcasestr-simple (Depends-on): Likewise.
48597         * modules/unictype/gen-ctype (Depends-on): Likewise.
48598         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
48599         * modules/uniname/uniname (Depends-on): Likewise.
48600         * modules/unistr/u8-cmp (Depends-on): Likewise.
48601
48602 2008-11-02  Bruno Haible  <bruno@clisp.org>
48603
48604         Mark 'memchr' obsolete.
48605         * modules/memchr (Status, Notice): New sections.
48606         * modules/argp (Depends-on): Add memchr.
48607         * modules/base64 (Depends-on): Likewise.
48608         * modules/c-strcasestr (Depends-on): Likewise.
48609         * modules/chdir-long (Depends-on): Likewise.
48610         * modules/fnmatch (Depends-on): Likewise.
48611         * modules/getsubopt (Depends-on): Likewise.
48612         * modules/git-merge-changelog (Depends-on): Likewise.
48613         * modules/glob (Depends-on): Likewise.
48614         * modules/strcasestr-simple (Depends-on): Likewise.
48615         * modules/strnlen (Depends-on): Likewise.
48616
48617 2008-11-02  Bruno Haible  <bruno@clisp.org>
48618
48619         Mark 'atexit' obsolete.
48620         * modules/atexit (Status, Notice): New sections.
48621         * modules/chdir-long (Depends-on): Add atexit.
48622         * modules/wait-process (Depends-on): Likewise.
48623
48624 2008-11-02  Bruno Haible  <bruno@clisp.org>
48625
48626         * gnulib-tool: New option --with-obsolete.
48627         (func_usage): Document it.
48628         (func_modules_transitive_closure): Drop obsolete dependencies if
48629         incobsolete is not true.
48630         (func_import): Read and save the incobsolete variable to the cache.
48631
48632 2008-11-02  Bruno Haible  <bruno@clisp.org>
48633
48634         * modules/TEMPLATE-EXTENDED: New field 'Status'.
48635         * gnulib-tool: New option --extract-status.
48636         (func_usage): Document it.
48637         (sed_extract_prog): Recognize it.
48638         (func_get_status): New function.
48639
48640 2008-10-30  Simon Josefsson  <simon@josefsson.org>
48641
48642         * modules/sockets (License): Change from LGPL to LGPLv2+.
48643
48644 2008-10-28  Simon Josefsson  <simon@josefsson.org>
48645
48646         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
48647
48648 2008-10-28  Simon Josefsson  <simon@josefsson.org>
48649
48650         * MODULES.html.sh (Support for systems lacking POSIX:2001):
48651         Mention times and sys_times.
48652         * modules/sys_times, modules/sys_times-tests: New modules.
48653         * modules/times, modules/times-tests: Likewise
48654         * m4/sys_times_h.m4: New file.
48655         * lib/sys_times.in.h: Likewise
48656         * lib/times.c: Likewise.
48657         * tests/test-sys_times.c: Likewise.
48658         * tests/test-times.c: Likewise.
48659         * doc/posix-headers/sys_times.texi: Update.
48660         * doc/posix-functions/times.texi: Update.
48661
48662 2008-10-28  Jim Meyering  <meyering@redhat.com>
48663
48664         * modules/tempname (Depends-on): Add lstat.
48665
48666         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
48667
48668 2008-10-28  Simon Josefsson  <simon@josefsson.org>
48669
48670         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
48671         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
48672         using idiom used elsewhere in gnulib.
48673
48674 2008-10-27  Jim Meyering  <meyering@redhat.com>
48675
48676         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
48677
48678 2008-10-27  Simon Josefsson  <simon@josefsson.org>
48679
48680         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
48681         TESTS_ENVIRONMENT, for shell scripts that needs to call built
48682         programs.
48683         * tests/test-argp-2.sh: Use $EXEEXT when needed.
48684
48685 2008-10-27  Simon Josefsson  <simon@josefsson.org>
48686
48687         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
48688
48689 2008-10-27  Bruno Haible  <bruno@clisp.org>
48690
48691         * tests/test-lstat.c: Include <stdio.h>.
48692
48693 2008-10-27  Simon Josefsson  <simon@josefsson.org>
48694
48695         * modules/lstat-tests: New module.
48696         * tests/test-lstat.c: New file.
48697
48698 2008-10-26  Jim Meyering  <meyering@redhat.com>
48699
48700         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
48701
48702 2008-10-26  Simon Josefsson  <simon@josefsson.org>
48703             Bruno Haible  <bruno@clisp.org>
48704
48705         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
48706         * modules/configmake (Include): Add a note that the include must come
48707         after all system headers.
48708         * lib/javaversion.c: Include configmake.h after all other includes.
48709
48710 2008-10-26  Bruno Haible  <bruno@clisp.org>
48711
48712         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
48713         HAVE_STRUCT_RANDOM_DATA to 1.
48714         (gl_STDLIB_H): Simplify.
48715
48716 2008-10-26  Simon Josefsson  <simon@josefsson.org>
48717
48718         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
48719         substitute HAVE_STRUCT_RANDOM_DATA.
48720         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
48721         random_data.
48722         * modules/stdlib (Makefile.am): Substitute
48723         HAVE_STRUCT_RANDOM_DATA.
48724
48725 2008-10-26  Simon Josefsson  <simon@josefsson.org>
48726
48727         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
48728         * doc/gnulib-intro.texi (Copyright): Likewise.
48729
48730 2008-10-26  Simon Josefsson  <simon@josefsson.org>
48731
48732         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
48733         findings.
48734
48735 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
48736             Bruno Haible  <bruno@clisp.org>
48737
48738         * lib/unistd.in.h: Include <winsock2.h>.
48739         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
48740         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
48741         Provide dummy declarations.
48742         (gethostname): Override.
48743         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
48744         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
48745         gl_PREREQ_SYS_H_WINSOCK2.
48746         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
48747         * doc/posix-functions/gethostname.texi: More details.
48748
48749 2008-10-25  Bruno Haible  <bruno@clisp.org>
48750
48751         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
48752         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
48753         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
48754
48755         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
48756         here ...
48757         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
48758         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
48759         gl_UNISTD_H_DEFAULTS.
48760
48761 2008-10-25  Eric Blake  <ebb9@byu.net>
48762
48763         signbit: avoid spurious compiler failure
48764         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
48765         declarations inside function.
48766
48767 2008-10-24  Simon Josefsson  <simon@josefsson.org>
48768             Bruno Haible  <bruno@clisp.org>
48769
48770         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
48771         * modules/random_r (Depends-on): Add stdint.
48772
48773 2008-10-24  Bruno Haible  <bruno@clisp.org>
48774
48775         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
48776         Eggert.
48777         * modules/strerror (License): Likewise.
48778
48779 2008-10-24  Jim Meyering  <meyering@redhat.com>
48780
48781         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
48782         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
48783
48784 2008-10-24  Eric Blake  <ebb9@byu.net>
48785
48786         getgroups: fix compilation when getgroups is available
48787         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
48788         but with <config.h> override of getgroups disabled.
48789
48790 2008-10-24  Simon Josefsson  <simon@josefsson.org>
48791
48792         * doc/gnulib.texi (Header files): Add note about C++ problems.
48793         Explained by Bruno Haible <bruno@clisp.org>.
48794
48795 2008-10-23  Bruno Haible  <bruno@clisp.org>
48796
48797         Define a dummy SA_NODEFER macro on Interix.
48798         * lib/signal.in.h (SA_NODEFER): Define fallback.
48799         Reported by Aleksey Cheusov <cheusov@tut.by> via
48800         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
48801
48802 2008-10-23  Bruno Haible  <bruno@clisp.org>
48803
48804         * modules/freadahead (License): Change to LGPLv2+.
48805         Suggested by Simon Josefsson.
48806
48807 2008-10-23  Jim Meyering  <meyering@redhat.com>
48808
48809         random_r: new module
48810         * modules/random_r: New file.
48811         * m4/random_r.m4: New file.
48812         * lib/random_r.c: New file, from glibc.
48813         * modules/random_r-tests: New file.
48814         * tests/test-random_r.c: New file.
48815         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
48816          Declare.
48817         (RAND_MAX): Define.
48818         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
48819         * modules/stdlib: Substitute them, too.
48820         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
48821         * doc/glibc-functions/initstate_r.texi: Mention the new module.
48822         * doc/glibc-functions/random_r.texi: Likewise.
48823         * doc/glibc-functions/setstate_r.texi: Likewise.
48824         * doc/glibc-functions/srandom_r.texi: Likewise.
48825         * config/srclist.txt: Mention it.
48826
48827 2008-10-23  David Lutterkort  <lutter@redhat.com>
48828
48829         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
48830         link requirement
48831
48832 2008-10-23  Jim Meyering  <meyering@redhat.com>
48833
48834         selinux-h: mark parameters of stub functions as intentionally unused
48835         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
48836         * lib/se-context.in.h: Likewise.
48837
48838 2008-10-22  Simon Josefsson  <simon@josefsson.org>
48839
48840         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
48841
48842 2008-10-22  Simon Josefsson  <simon@josefsson.org>
48843
48844         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
48845
48846 2008-10-22  Eric Blake  <ebb9@byu.net>
48847
48848         glthread/thread: avoid compiler warning
48849         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
48850         Add unreachable abort to silence compiler.
48851
48852 2008-10-22  Eric Blake  <ebb9@byu.net>
48853
48854         netdb: also supply struct addrinfo for cygwin 1.5.x
48855         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
48856         older cygwin.
48857         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
48858         cygwin.
48859         * doc/posix-headers/netdb.texi (netdb.h): Document this.
48860
48861 2008-10-22  Bruno Haible  <bruno@clisp.org>
48862
48863         * users.txt: Update entry about pspp.
48864
48865 2008-10-21  Bruno Haible  <bruno@clisp.org>
48866
48867         Simplification.
48868         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
48869         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
48870
48871         Simplification.
48872         * lib/ioctl.c (ioctl): Don't undefine.
48873         * lib/socket.c (socket): Don't undefine.
48874
48875         Remove unused module indicator macros.
48876         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
48877         GNULIB_$1 as a C macro.
48878
48879         * doc/posix-functions/close.texi: Undo last change.
48880         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
48881         Windows platforms.
48882
48883 2008-10-21  Bruno Haible  <bruno@clisp.org>
48884
48885         Add gethostname() declaration to <unistd.h>.
48886         * lib/unistd.in.h (gethostname): New declaration.
48887         * lib/gethostname.c: Include <unistd.h>.
48888         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
48889         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
48890         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
48891         and HAVE_GETHOSTNAME.
48892         * modules/gethostname (Depends-on): Add unistd.
48893         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
48894         (Include): Specify <unistd.h>.
48895         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
48896         HAVE_GETHOSTNAME.
48897         * tests/test-gethostname.c: Include <unistd.h> first.
48898
48899 2008-10-21  Bruno Haible  <bruno@clisp.org>
48900
48901         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
48902         * modules/select-tests (Depends-on): Likewise.
48903         Reported by Simon Josefsson.
48904
48905 2008-10-21  Simon Josefsson  <simon@josefsson.org>
48906
48907         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
48908         * lib/accept.c: New file, based on winsock.c.
48909         * lib/bind.c: New file, based on winsock.c.
48910         * lib/connect.c: New file, based on winsock.c.
48911         * lib/getpeername.c: New file, based on winsock.c.
48912         * lib/getsockname.c: New file, based on winsock.c.
48913         * lib/getsockopt.c: New file, based on winsock.c.
48914         * lib/ioctl.c: New file, based on winsock.c.
48915         * lib/listen.c: New file, based on winsock.c.
48916         * lib/recv.c: New file, based on winsock.c.
48917         * lib/recvfrom.c: New file, based on winsock.c.
48918         * lib/send.c: New file, based on winsock.c.
48919         * lib/sendto.c: New file, based on winsock.c.
48920         * lib/setsockopt.c: New file, based on winsock.c.
48921         * lib/shutdown.c: New file, based on winsock.c.
48922         * lib/socket.c: New file, based on winsock.c.
48923         * lib/w32sock.h: New file, based on winsock.c.
48924         * lib/winsock.c: Remove file.
48925         * modules/accept: Likewise.
48926         * modules/bind: Likewise.
48927         * modules/connect: Likewise.
48928         * modules/getpeername: Likewise.
48929         * modules/getsockname: Likewise.
48930         * modules/getsockopt: Likewise.
48931         * modules/ioctl: Likewise.
48932         * modules/listen: Likewise.
48933         * modules/recv: Likewise.
48934         * modules/recvfrom: Likewise.
48935         * modules/send: Likewise.
48936         * modules/sendto: Likewise.
48937         * modules/setsockopt: Likewise.
48938         * modules/shutdown: Likewise.
48939         * modules/socket: Use socket.c instead of winsock.c.
48940         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
48941         * doc/posix-functions/accept.texi: Doc fix.
48942         * doc/posix-functions/bind.texi: Doc fix.
48943         * doc/posix-functions/close.texi: Doc fix.
48944         * doc/posix-functions/connect.texi: Doc fix.
48945         * doc/posix-functions/getpeername.texi: Doc fix.
48946         * doc/posix-functions/getsockname.texi: Doc fix.
48947         * doc/posix-functions/getsockopt.texi: Doc fix.
48948         * doc/posix-functions/ioctl.texi: Doc fix.
48949         * doc/posix-functions/listen.texi: Doc fix.
48950         * doc/posix-functions/recv.texi: Doc fix.
48951         * doc/posix-functions/recvfrom.texi: Doc fix.
48952         * doc/posix-functions/send.texi: Doc fix.
48953         * doc/posix-functions/sendto.texi: Doc fix.
48954         * doc/posix-functions/setsockopt.texi: Doc fix.
48955         * doc/posix-functions/shutdown.texi: Doc fix.
48956         * doc/posix-functions/socket.texi: Doc fix.
48957
48958 2008-10-20  Bruno Haible  <bruno@clisp.org>
48959
48960         Take into account the role of SIGABRT_COMPAT on Windows 2008.
48961         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
48962         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
48963         as an alias for SIGABRT.
48964         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
48965         (sigaction): Map it to SIGABRT.
48966         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
48967
48968 2008-10-20  Bruno Haible  <bruno@clisp.org>
48969
48970         * lib/fts.c: Don't include lstat.h.
48971         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
48972
48973         Move the lstat() declaration to <sys/stat.h>.
48974         * lib/lstat.h: Remove file.
48975         * lib/sys_stat.in.h: Add special invocation convention.
48976         (lstat): New declaration.
48977         * lib/lstat.c (orig_lstat): New function.
48978         (rpl_lstat): Use orig_lstat instead of lstat.
48979         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
48980         AC_C_INLINE. Set REPLACE_LSTAT.
48981         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
48982         and REPLACE_LSTAT.
48983         * modules/lstat (Files): Remove lib/lstat.h.
48984         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
48985         (Include): Specify <sys/stat.h> instead of lstat.h.
48986         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
48987         REPLACE_LSTAT.
48988         * NEWS: Mention the change.
48989
48990 2008-10-20  Bruno Haible  <bruno@clisp.org>
48991
48992         * modules/posix_spawn-tests: New file.
48993         * tests/test-posix_spawn3.c: New file.
48994
48995 2008-10-20  Bruno Haible  <bruno@clisp.org>
48996
48997         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
48998         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
48999         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
49000         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
49001         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
49002
49003 2008-10-20  Bruno Haible  <bruno@clisp.org>
49004
49005         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
49006         of posix_spawn on AIX 5.3.
49007
49008 2008-10-20  Bruno Haible  <bruno@clisp.org>
49009
49010         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
49011
49012 2008-10-20  Bruno Haible  <bruno@clisp.org>
49013
49014         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
49015         of AC_LANG_PROGRAM.
49016
49017 2008-10-20  Simon Josefsson  <simon@josefsson.org>
49018
49019         * lib/netdb.in.h: Don't define GNU specific constants until they
49020         are supported or needed.  Reported by Bruno Haible
49021         <bruno@clisp.org>.
49022
49023 2008-10-20  Simon Josefsson  <simon@josefsson.org>
49024
49025         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
49026
49027 2008-10-20  Simon Josefsson  <simon@josefsson.org>
49028
49029         * lib/getaddrinfo.h: Remove file.
49030         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
49031         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
49032         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
49033         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
49034         * modules/netdb: Substitute GNULIB_GETADDRINFO.
49035         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
49036         * tests/test-getaddrinfo.c: Likewise.
49037         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
49038         * NEWS: Mention change.
49039
49040 2008-10-19  Bruno Haible  <bruno@clisp.org>
49041
49042         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
49043
49044 2008-10-19  Bruno Haible  <bruno@clisp.org>
49045
49046         * lib/wait-process.c: Include simply <sys/wait.h>.
49047         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
49048         WIFSTOPPED): Remove fallback definitions.
49049         * modules/wait-process (Depends-on): Add sys_wait.
49050
49051         New module 'sys_wait'.
49052         * modules/sys_wait: New file.
49053         * lib/sys_wait.in.h: New file, partially copied from
49054         lib/wait-process.c.
49055         * m4/sys_wait_h.m4: New file.
49056         * doc/posix-headers/sys_wait.texi: Mention the new module.
49057
49058 2008-10-19  Bruno Haible  <bruno@clisp.org>
49059
49060         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
49061
49062 2008-10-19  Bruno Haible  <bruno@clisp.org>
49063
49064         Assume that waitpid() fills an 'int' status, not a 'union wait'.
49065         * lib/wait-process.c (WAIT_T): Remove type.
49066         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
49067         (wait_subprocess): Update.
49068
49069 2008-10-19  Bruno Haible  <bruno@clisp.org>
49070
49071         New module 'atoll'.
49072         * modules/atoll: New file.
49073         * lib/stdlib.in.h (atoll): New declaration.
49074         * lib/atoll.c: New file, from glibc with modifications.
49075         * m4/atoll.m4: New file.
49076         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
49077         HAVE_ATOLL.
49078         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
49079         * doc/posix-functions/atoll.texi: Mention the new module.
49080
49081 2008-10-19  Bruno Haible  <bruno@clisp.org>
49082
49083         Add strtoull() declaration to <stdlib.h>.
49084         * lib/stdlib.in.h (strtoull): New declaration.
49085         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
49086         Set HAVE_STRTOULL.
49087         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
49088         HAVE_STRTOULL.
49089         * modules/strtoull (Depends-on): Add stdlib.
49090         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
49091         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
49092         HAVE_STRTOULL.
49093
49094 2008-10-19  Bruno Haible  <bruno@clisp.org>
49095
49096         Add strtoll() declaration to <stdlib.h>.
49097         * lib/stdlib.in.h (strtoll): New declaration.
49098         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
49099         Set HAVE_STRTOLL.
49100         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
49101         HAVE_STRTOLL.
49102         * modules/strtoll (Depends-on): Add stdlib.
49103         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
49104         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
49105
49106 2008-10-19  Bruno Haible  <bruno@clisp.org>
49107
49108         * modules/bcopy (Depends-on): Add strings.
49109         (Include): Specify <strings.h>.
49110
49111 2008-10-19  Bruno Haible  <bruno@clisp.org>
49112
49113         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
49114
49115 2008-10-19  Bruno Haible  <bruno@clisp.org>
49116
49117         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
49118         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
49119         mingw.
49120
49121 2008-10-19  Bruno Haible  <bruno@clisp.org>
49122
49123         * lib/atanl.c: Don't include isnanl.h.
49124         * lib/cosl.c: Likewise.
49125         * lib/ldexpl.c: Likewise.
49126         * lib/logl.c: Likewise.
49127         * lib/sinl.c: Likewise.
49128         * lib/sqrtl.c: Likewise.
49129         * lib/tanl.c: Likewise.
49130
49131         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
49132         * lib/isnanf.h: Remove file.
49133         * lib/isnand.h: Remove file.
49134         * lib/isnanl.h: Remove file.
49135         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
49136         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
49137         macros.
49138         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
49139         HAVE_ISNANF, don't define it as a C macro.
49140         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
49141         HAVE_ISNAND, don't define it as a C macro.
49142         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
49143         HAVE_ISNANL, don't define it as a C macro.
49144         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
49145         HAVE_ISNAN[FDL].
49146         * modules/isnanf (Files): Remove lib/isnanf.h.
49147         (Depends-on): Add math.
49148         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
49149         (Include): Specify <math.h> instead of isnanf.h.
49150         * modules/isnand (Files): Remove lib/isnand.h.
49151         (Depends-on): Add math.
49152         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
49153         (Include): Specify <math.h> instead of isnand.h.
49154         * modules/isnanl (Files): Remove lib/isnanl.h.
49155         (Depends-on): Add math.
49156         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
49157         (Include): Specify <math.h> instead of isnanl.h.
49158         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
49159         HAVE_ISNAN[FDL].
49160         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
49161         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
49162         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
49163         * NEWS: Mention the change.
49164
49165 2008-10-18  Bruno Haible  <bruno@clisp.org>
49166
49167         Add getusershell(), setusershell(), endusershell() declarations to
49168         <unistd.h>.
49169         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
49170         declarations.
49171         * lib/getusershell.c: Include unistd.h.
49172         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
49173         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
49174         HAVE_GETUSERSHELL.
49175         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
49176         and HAVE_GETUSERSHELL.
49177         * modules/getusershell (Depends-on): Add unistd, extensions.
49178         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
49179         (Include): Specify <unistd.h>.
49180         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
49181         HAVE_GETUSERSHELL.
49182
49183 2008-10-18  Bruno Haible  <bruno@clisp.org>
49184
49185         Add a getloadavg() declaration to <stdlib.h>.
49186         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
49187         getloadavg declaration.
49188         (getloadavg): New declaration.
49189         * lib/getloadavg.c: Include <stdlib.h> first.
49190         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
49191         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
49192         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
49193         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
49194         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
49195         * modules/getloadavg (Depends-on): Add stdlib, extensions.
49196         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
49197         (Include): Specify <stdlib.h>.
49198         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
49199         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
49200
49201 2008-10-18  Bruno Haible  <bruno@clisp.org>
49202
49203         * lib/dirchownmod.c: Don't include lchmod.h.
49204
49205         Move the lchmod() declaration to <sys/stat.h>.
49206         * lib/lchmod.h: Remove file.
49207         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
49208         (lchmod): New declaration, moved here from lib/lchown.h.
49209         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
49210         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
49211         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
49212         and HAVE_LCHMOD.
49213         * modules/lchmod (Files): Remove lib/lchmod.h.
49214         (Depends-on): Add sys_stat, extensions.
49215         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
49216         (Include): Specify <sys/stat.h> instead of lchmod.h.
49217         * modules/sys_stat (Depends-on): Add link-warning.
49218         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
49219         definition of GL_LINK_WARNING.
49220         * NEWS: Mention the change.
49221
49222 2008-10-18  Bruno Haible  <bruno@clisp.org>
49223
49224         * lib/fchdir.c: Don't include dirfd.h.
49225         * lib/fts.c: Likewise.
49226         * lib/getcwd.c: Likewise.
49227         * lib/glob.c: Likewise.
49228
49229         Move the dirfd() declaration to <dirent.h>.
49230         * lib/dirfd.h: Remove file.
49231         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
49232         (dirfd): New declaration.
49233         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
49234         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
49235         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
49236         HAVE_DECL_DIRFD.
49237         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
49238         HAVE_DECL_DIRFD.
49239         * modules/dirfd (Files): Remove lib/dirfd.h.
49240         (Depends-on): Add dirent, extensions.
49241         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
49242         (Include): Specify <dirent.h> instead of dirfd.h.
49243         * modules/dirent (Depends-on): Add link-warning.
49244         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
49245         definition of GL_LINK_WARNING.
49246         * NEWS: Mention the change.
49247
49248 2008-10-18  Bruno Haible  <bruno@clisp.org>
49249
49250         Move the euidaccess() declaration to <unistd.h>.
49251         * lib/euidaccess.h: Remove file.
49252         * lib/unistd.in.h (euidaccess): New declaration.
49253         * lib/euidaccess.c: Don't include euidaccess.h.
49254         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
49255         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
49256         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
49257         and HAVE_EUIDACCESS.
49258         * modules/euidaccess (Files): Remove lib/euidaccess.h.
49259         (Depends-on): Add unistd.
49260         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
49261         (Include): Specify <unistd.h> instead of euidaccess.h.
49262         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
49263         HAVE_EUIDACCESS.
49264         * NEWS: Mention the change.
49265
49266 2008-10-18  Bruno Haible  <bruno@clisp.org>
49267
49268         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
49269
49270         Move the getdomainname() declaration to <unistd.h>.
49271         * lib/getdomainname.h: Remove file.
49272         * lib/unistd.in.h (getdomainname): New declaration.
49273         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
49274         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
49275         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
49276         HAVE_GETDOMAINNAME.
49277         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
49278         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
49279         * modules/getdomainname (Files): Remove lib/getdomainname.h.
49280         (Depends-on): Add unistd, extensions.
49281         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
49282         (Includes): Specify <unistd.h> instead of getdomainname.h.
49283         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
49284         HAVE_GETDOMAINNAME.
49285         * NEWS: Mention the change.
49286
49287 2008-10-18  Bruno Haible  <bruno@clisp.org>
49288
49289         * modules/dirent: New file.
49290         * m4/dirent_h.m4: New file.
49291         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
49292         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
49293         * modules/fchdir (Files): Remove lib/dirent.in.h.
49294         (Depends-on): Add dirent.
49295         (Makefile.am): Move rules to modules/dirent.
49296         * doc/posix-headers/dirent.texi: Mention the new module.
49297
49298 2008-10-18  Bruno Haible  <bruno@clisp.org>
49299
49300         Avoid -Wunused-parameter warnings in public gnulib header files.
49301         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
49302         macro.
49303         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
49304
49305 2008-10-18  Bruno Haible  <bruno@clisp.org>
49306
49307         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
49308         * doc/glibc-functions/error.texi: Mention the module 'error'.
49309         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
49310         * doc/glibc-functions/getdomainname.texi: Mention the module
49311         'getdomainname'.
49312         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
49313         * doc/glibc-functions/getpagesize.texi: Mention the module
49314         'getpagesize'.
49315         * doc/glibc-functions/getusershell.texi: Mention the module
49316         'getusershell'.
49317         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
49318         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
49319         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
49320         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
49321         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
49322         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
49323         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
49324         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
49325         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
49326         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
49327         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
49328         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
49329         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
49330         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
49331
49332 2008-10-17  Bruno Haible  <bruno@clisp.org>
49333
49334         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
49335         HP-UX and IRIX, use -0.0L.
49336         * tests/test-ceill.c (minus_zero): Likewise.
49337         * tests/test-floorl.c (minus_zero): Likewise.
49338         * tests/test-frexpl.c (minus_zero): Likewise.
49339         * tests/test-isnan.c (minus_zerol): Likewise.
49340         * tests/test-isnanl.h (minus_zero): Likewise.
49341         * tests/test-ldexpl.c (minus_zero): Likewise.
49342         * tests/test-roundl.c (minus_zero): Likewise.
49343         * tests/test-signbit.c (minus_zerol): Likewise.
49344         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
49345         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
49346         * tests/test-truncl.c (minus_zero): Likewise.
49347         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
49348         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
49349         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
49350         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
49351
49352 2008-10-17  Bruno Haible  <bruno@clisp.org>
49353
49354         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
49355         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
49356         that it gets activated only for gcc >= 3.0.
49357         * lib/dirent.in.h: Likewise.
49358         * lib/errno.in.h: Likewise.
49359         * lib/fcntl.in.h: Likewise.
49360         * lib/float.in.h: Likewise.
49361         * lib/iconv.in.h: Likewise.
49362         * lib/inttypes.in.h: Likewise.
49363         * lib/locale.in.h: Likewise.
49364         * lib/math.in.h: Likewise.
49365         * lib/netdb.in.h: Likewise.
49366         * lib/netinet_in.in.h: Likewise.
49367         * lib/search.in.h: Likewise.
49368         * lib/signal.in.h: Likewise.
49369         * lib/spawn.in.h: Likewise.
49370         * lib/stdarg.in.h: Likewise.
49371         * lib/stdint.in.h: Likewise.
49372         * lib/stdio.in.h: Likewise.
49373         * lib/stdlib.in.h: Likewise.
49374         * lib/string.in.h: Likewise.
49375         * lib/strings.in.h: Likewise.
49376         * lib/sys_file.in.h: Likewise.
49377         * lib/sys_ioctl.in.h: Likewise.
49378         * lib/sys_select.in.h: Likewise.
49379         * lib/sys_socket.in.h: Likewise.
49380         * lib/sys_stat.in.h: Likewise.
49381         * lib/sys_time.in.h: Likewise.
49382         * lib/sysexits.in.h: Likewise.
49383         * lib/time.in.h: Likewise.
49384         * lib/unistd.in.h: Likewise.
49385         * lib/wchar.in.h: Likewise.
49386         * lib/wctype.in.h: Likewise.
49387         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
49388
49389 2008-10-17  Jim Meyering  <meyering@redhat.com>
49390
49391         ignore-value: don't depend on inline module
49392         * modules/ignore-value (Depends-on): Remove 'inline'.
49393         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
49394         Suggestion from Bruno Haible.
49395
49396 2008-10-17  Bruno Haible  <bruno@clisp.org>
49397
49398         New implementation of condition variables for Win32.
49399         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
49400         (gl_linked_waitqueue_t): New type.
49401         (gl_cond_t): Use it.
49402         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
49403         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
49404         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
49405         (glthread_cond_init_func, glthread_cond_wait_func,
49406         glthread_cond_timedwait_func, glthread_cond_signal_func,
49407         glthread_cond_broadcast_func, glthread_cond_destroy_func):
49408         Reimplemented on the basis of gl_linked_waitqueue_t.
49409         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
49410         gl_waitqueue_t.
49411         (gl_rwlock_t): Update.
49412         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
49413
49414 2008-10-17  Simon Josefsson  <simon@josefsson.org>
49415
49416         * modules/recvfrom (Depends-on): Add dependency on getpeername.
49417         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
49418
49419 2008-10-17  Jim Meyering  <meyering@redhat.com>
49420
49421         ignore-value: new module
49422         * modules/ignore-value: New file.
49423         * lib/ignore-value.h: New file.
49424         * MODULES.html.sh (Compiler warning management): New section,
49425         just for this module.  More to come.
49426
49427 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
49428
49429         open-safer.c: avoid 'signed and unsigned in conditional...' warning
49430         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
49431         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
49432
49433 2008-10-16  Jim Meyering  <meyering@redhat.com>
49434
49435         openat-die.c: avoid 'no previous prototype' warning
49436         * lib/openat-die.c: Include "openat.h".
49437         Reported by Reuben Thomas <rrt@sc3d.org>.
49438
49439 2008-10-16  Simon Josefsson  <simon@josefsson.org>
49440
49441         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
49442         * lib/netdb.in.h: Fix typo.
49443         Reported by Bruno Haible  <bruno@clisp.org>
49444
49445         * lib/netdb.in.h: Include sys/socket.h for platforms without
49446         netdb.h, to get structures like hostent on MinGW.
49447         * modules/netdb (Depends-on): Add sys_socket.
49448
49449 2008-10-15  Simon Josefsson  <simon@josefsson.org>
49450
49451         * modules/netdb, modules/netdb-tests: New file.
49452         * m4/netdb_h.m4: New file.
49453         * lib/netdb.in.h: Add, currently just an empty file pending
49454         definitions.
49455         * tests/test-netdb.c: New file.
49456         * doc/posix-headers/netdb.texi: Mention that we replace it if
49457         needed.
49458         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
49459         netdb.
49460
49461 2008-10-15  Simon Josefsson  <simon@josefsson.org>
49462
49463         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
49464         with code.
49465
49466 2008-10-13  Bruno Haible  <bruno@clisp.org>
49467
49468         * lib/glthread/cond.c (glthread_cond_wait_func,
49469         glthread_cond_timedwait_func): Add a comment.
49470
49471 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
49472
49473         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
49474         * tests/test-select.c: Likewise,
49475
49476 2008-10-13  Bruno Haible  <bruno@clisp.org>
49477
49478         * lib/glthread/cond.c (glthread_cond_wait_func,
49479         glthread_cond_timedwait_func): Fix variable name.
49480         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
49481
49482 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
49483
49484         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
49485         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
49486         struct sockaddr.sa_len.
49487         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
49488
49489 2008-10-13  Simon Josefsson  <simon@josefsson.org>
49490
49491         * build-aux/pmccabe2html: Add css and css_url parameters.
49492
49493 2008-10-12  Bruno Haible  <bruno@clisp.org>
49494
49495         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
49496         calling aclx_get.
49497         Reported by Rainer Tammer <tammer@tammer.net>.
49498
49499 2008-10-12  Bruno Haible  <bruno@clisp.org>
49500
49501         Use msvcrt aware primitives for creation/termination of Win32 threads.
49502         * lib/glthread/thread.c: Include <process.h>.
49503         (glthread_create_func): Use _beginthreadex instead of CreateThread.
49504         (wrapper_func): Update signature.
49505         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
49506
49507 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
49508             Bruno Haible  <bruno@clisp.org>
49509
49510         Provide a Win32 implementation of the 'cond' module.
49511         * lib/glthread/cond.h [USE_WIN32]: New implementation.
49512         * lib/glthread/cond.c (glthread_cond_init_func,
49513         glthread_cond_wait_func, glthread_cond_timedwait_func,
49514         glthread_cond_signal_func, glthread_cond_broadcast_func,
49515         glthread_cond_destroy_func) [USE_WIN32]: New functions.
49516         * modules/cond (Dependencies): Add gettimeofday.
49517
49518 2008-10-11  Bruno Haible  <bruno@clisp.org>
49519
49520         Make sleep work on older versions of mingw.
49521         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
49522         only whether it exists.
49523         * doc/posix-functions/sleep.texi: Mention the problem with older
49524         versions of mingw.
49525
49526 2008-10-11  Bruno Haible  <bruno@clisp.org>
49527
49528         New module 'shutdown'.
49529         * modules/shutdown: New file.
49530         * lib/sys_socket.in.h (shutdown): New declaration.
49531         * lib/winsock.c (shutdown): New function.
49532         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
49533         GNULIB_SHUTDOWN.
49534         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
49535         * doc/posix-functions/shutdown.texi: Document the new module.
49536
49537 2008-10-11  Jim Meyering  <meyering@redhat.com>
49538
49539         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
49540
49541 2008-10-11  Bruno Haible  <bruno@clisp.org>
49542
49543         New module 'fclose'.
49544         * modules/fclose: New file.
49545         * lib/stdio.in.h (fclose): New declaration.
49546         * lib/fclose.c: New file.
49547         * m4/fclose.m4: New file.
49548         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
49549         REPLACE_FCLOSE.
49550         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
49551         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
49552         REPLACE_FCLOSE.
49553         * modules/close (Depends-on): fclose.
49554         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
49555
49556 2008-10-11  Bruno Haible  <bruno@clisp.org>
49557
49558         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
49559         set errno and don't call _close.
49560
49561 2008-10-10  Bruno Haible  <bruno@clisp.org>
49562
49563         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
49564         ACL, not afterwards. Fixes test failure on Cygwin.
49565
49566 2008-10-09  Ben Pfaff  <blp@gnu.org>
49567
49568         * build-aux/announce-gen: Fix gnulib version related part of usage
49569         message.  Die with a useful error message if no tarballs are
49570         found.
49571
49572 2008-10-10  Jim Meyering  <meyering@redhat.com>
49573
49574         bootstrap: use git's --depth=N option only if it's supported
49575         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
49576         recognize the --depth option.  Reported by Pádraig Brady.
49577
49578 2008-10-09  Bruno Haible  <bruno@clisp.org>
49579
49580         New module 'ioctl'.
49581         * modules/ioctl: New file.
49582         * lib/sys_socket.in.h (ioctl): Remove declaration.
49583         * lib/winsock.c: Include <sys/ioctl.h>.
49584         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
49585         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
49586         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
49587         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
49588         * doc/posix-functions/ioctl.texi: Mention the new module.
49589
49590 2008-10-09  Bruno Haible  <bruno@clisp.org>
49591
49592         New module 'sys_ioctl'.
49593         * lib/sys_ioctl.in.h: New file.
49594         * m4/sys_ioctl_h.m4: New file.
49595         * modules/sys_ioctl: New file.
49596         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
49597
49598 2008-10-09  Bruno Haible  <bruno@clisp.org>
49599
49600         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
49601         * lib/winsock.c: Include <stdarg.h>.
49602         (rpl_ioctl): Change to second argument 'int' and then varargs.
49603
49604 2008-10-09  Bruno Haible  <bruno@clisp.org>
49605
49606         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
49607         when the sys_socket module is present and the system has <winsock2.h>.
49608
49609 2008-10-09  Bruno Haible  <bruno@clisp.org>
49610
49611         * doc/posix-functions/close.texi: Mention module 'close' instead of
49612         module 'sys_socket'.
49613
49614 2008-10-09  Bruno Haible  <bruno@clisp.org>
49615
49616         * doc/glibc-headers/sys_ioctl.texi: New file.
49617         * doc/gnulib.texi: Include it.
49618
49619 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
49620             Bruno Haible  <bruno@clisp.org>
49621
49622         Combine the two replacements of 'close'.
49623         * lib/sys_socket.in.h (close): Define to a reminder to include
49624         <unistd.h>.
49625         (_gl_close_fd_maybe_socket): New declaration.
49626         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
49627         * lib/winsock.c (close): Remove undefinition.
49628         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
49629         needed for the gnulib module 'close'.
49630         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
49631         define to an error symbol or to a warning, if suitable.
49632         * lib/close.c: Include <sys/socket.h>.
49633         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
49634         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
49635         UNISTD_H_HAVE_WINSOCK2_H.
49636         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
49637         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
49638         UNISTD_H_HAVE_WINSOCK2_H.
49639         * modules/sys_socket (Files): Add m4/unistd_h.m4.
49640         (configure.ac): Set a module indicator.
49641         (Makefile.am): Substitute GNULIB_CLOSE.
49642         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
49643         * modules/poll-tests (Depends-on): Add close.
49644         * modules/select-tests (Depends-on): Likewise.
49645
49646 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
49647             Bruno Haible  <bruno@clisp.org>
49648
49649         New module 'close'.
49650         * modules/close: New file.
49651         * lib/unistd.in.h (close): Move declaration out of the
49652         FCHDIR_REPLACEMENT scope.
49653         (_gl_unregister_fd): New declaration.
49654         * lib/close.c: New file.
49655         * lib/fchdir.c (rpl_close): Remove function.
49656         * m4/close.m4: New file.
49657         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
49658         close.
49659         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
49660         REPLACE_CLOSE.
49661         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
49662         REPLACE_CLOSE.
49663         * modules/fchdir (Depends-on): Add close.
49664
49665 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
49666             Bruno Haible  <bruno@clisp.org>
49667
49668         * lib/fcntl.in.h (open): Simplify conditionals.
49669         (_gl_register_fd): New declaration.
49670         * lib/fchdir.c (rpl_open): Remove function.
49671         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
49672         also.
49673         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
49674         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
49675         open.
49676
49677 2008-10-09  Jim Meyering  <meyering@redhat.com>
49678
49679         GNUmakefile: use the more name-space-friendly "_version"
49680         * top/GNUmakefile (_dummy): Update.
49681         (_version): Rename from "version".
49682
49683 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
49684             Bruno Haible  <bruno@clisp.org>
49685
49686         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
49687         rpl_close.
49688         (_gl_register_fd): New function, extracted from rpl_open.
49689         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
49690         (rpl_open, rpl_opendir): Use _gl_register_fd.
49691
49692 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
49693
49694         Fix organization of 'open' replacement.
49695         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
49696         (gl_FUNC_OPEN): Use it.
49697         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
49698
49699 2008-10-08  Bruno Haible  <bruno@clisp.org>
49700
49701         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
49702
49703 2008-10-08  Simon Josefsson  <simon@josefsson.org>
49704
49705         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
49706         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
49707         listen).
49708
49709 2008-10-08  Eric Blake  <ebb9@byu.net>
49710
49711         GNUmakefile: add 'make version' target
49712         * top/GNUmakefile (_curr-ver): Split version update rules...
49713         (version): ...into a target.
49714
49715 2008-10-07  Bruno Haible  <bruno@clisp.org>
49716
49717         Use a more portable replacement expression for -0.0L.
49718         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
49719         instead of -0.0L. Fix m4 quotation.
49720
49721         * tests/test-signbit.c: Include <float.h>.
49722         (minus_zero): New variable.
49723         (test_signbitl): Use minus_zero instead of -zero.
49724         * modules/signbit-tests (Depends-on): Add float.
49725
49726         * tests/test-ceill.c: Include <float.h>.
49727         (zero): Remove variable.
49728         (minus_zero): New variable.
49729         (main): Use minus_zero instead of -zero.
49730         * modules/ceill-tests (Depends-on): Add float.
49731
49732         * tests/test-floorl.c: Include <float.h>.
49733         (zero): Remove variable.
49734         (minus_zero): New variable.
49735         (main): Use minus_zero instead of -zero.
49736         * modules/floorl-tests (Depends-on): Add float.
49737
49738         * tests/test-roundl.c: Include <float.h>.
49739         (zero): Remove variable.
49740         (minus_zero): New variable.
49741         (main): Use minus_zero instead of -zero.
49742         * modules/roundl-tests (Depends-on): Add float.
49743
49744         * tests/test-truncl.c: Include <float.h>.
49745         (zero): Remove variable.
49746         (minus_zero): New variable.
49747         (main): Use minus_zero instead of -zero.
49748         * modules/truncl-tests (Depends-on): Add float.
49749
49750         * tests/test-frexpl.c (zero): Remove variable.
49751         (minus_zero): New variable.
49752         (main): Use minus_zero instead of -zero.
49753         * modules/frexpl-tests (Depends-on): Add float.
49754
49755         * tests/test-isnan.c (zerol): Remove variable.
49756         (minus_zerol): New variable.
49757         (test_long_double): Use minus_zerol instead of -zerol.
49758         * modules/isnan-tests (Depends-on): Add float.
49759
49760         * tests/test-isnanl.h (zero): Remove variable.
49761         (minus_zero): New variable.
49762         (main): Use minus_zero instead of -zero.
49763         * modules/isnanl-nolibm-tests (Depends-on): Add float.
49764         * modules/isnanl-tests (Depends-on): Add float.
49765
49766         * tests/test-ldexpl.c (zero): Remove variable.
49767         (minus_zero): New variable.
49768         (main): Use minus_zero instead of -zero.
49769         * modules/ldexpl-tests (Depends-on): Add float.
49770
49771         * tests/test-snprintf-posix.h (zerol): Remove variable.
49772         (minus_zerol): New variable.
49773         (test_function): Use minus_zerol instead of -zerol.
49774         * modules/snprintf-posix-tests (Depends-on): Add float.
49775         * modules/vsnprintf-posix-tests (Depends-on): Add float.
49776
49777         * tests/test-sprintf-posix.h (zerol): Remove variable.
49778         (minus_zerol): New variable.
49779         (test_function): Use minus_zerol instead of -zerol.
49780         * modules/sprintf-posix-tests (Depends-on): Add float.
49781         * modules/vsprintf-posix-tests (Depends-on): Add float.
49782
49783         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
49784         (minus_zerol): New variable.
49785         (test_function): Use minus_zerol instead of -zerol.
49786         * modules/vasnprintf-posix-tests (Depends-on): Add float.
49787
49788         * tests/test-vasprintf-posix.c (zerol): Remove variable.
49789         (minus_zerol): New variable.
49790         (test_function): Use minus_zerol instead of -zerol.
49791         * modules/vasprintf-posix-tests (Depends-on): Add float.
49792
49793 2008-10-07  Simon Josefsson  <simon@josefsson.org>
49794
49795         * MODULES.html.sh (Support for building documentation): Mention
49796         pmccabe2html.  Sort entries.
49797
49798         Add pmccabe2html module, from gnupdf.
49799         * build-aux/pmccabe.css: New file.
49800         * build-aux/pmccabe2html: New file.
49801         * m4/pmccabe2html.m4: New file.
49802         * modules/pmccabe2html: New file.
49803
49804 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
49805
49806         flock: new module
49807         * MODULES.html.sh: Add to list of modules.
49808         * lib/flock.c: flock implementation for Windows and Unix systems
49809         which have fcntl.
49810         * doc/glibc-functions/flock.texi: Update documentation.
49811         * lib/sys_file.in.h: <sys/file.h> header file.
49812         * m4/flock.m4: M4 macros.
49813         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
49814         * modules/flock: flock module.
49815         * modules/flock-tests: flock tests module.
49816         * modules/sys_file: sys/file.h module.
49817         * tests/test-flock.c: test suite for flock.
49818
49819 2008-10-06  Jim Meyering  <meyering@redhat.com>
49820
49821         bootstrap: check for LT_INIT more portably still ;-)
49822         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
49823         Spotted by Bruno Haible.
49824
49825 2008-10-06  Eric Blake  <ebb9@byu.net>
49826
49827         test-signbit: avoid tripping Irix cc bug on -0.0L
49828         * tests/test-signbit.c (minus_zerol): Delete, and replace with
49829         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
49830         entire testsuite consistent and avoids an Irix 6.2 bug.
49831
49832 2008-10-05  Bruno Haible  <bruno@clisp.org>
49833             Jim Meyering  <jim@meyering.net>
49834
49835         Add an option for ignoring EPIPE during close_stdout.
49836         * lib/closeout.h: Include <stdbool.h>.
49837         (close_stdout_set_ignore_EPIPE): New declaration.
49838         * lib/closeout.c: Include <stdbool.h>.
49839         (ignore_EPIPE): New variable.
49840         (close_stdout_set_ignore_EPIPE): New function.
49841         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
49842         * lib/close-stream.c (close_stream): Mention the possible EPIPE
49843         failure.
49844         * modules/closeout (Depends-on): Add stdbool.
49845
49846 2008-10-05  Bruno Haible  <bruno@clisp.org>
49847
49848         * modules/accept: New file.
49849         * modules/bind: New file.
49850         * modules/connect: New file.
49851         * modules/getpeername: New file.
49852         * modules/getsockname: New file.
49853         * modules/getsockopt: New file.
49854         * modules/listen: New file.
49855         * modules/recv: New file.
49856         * modules/recvfrom: New file.
49857         * modules/send: New file.
49858         * modules/sendto: New file.
49859         * modules/setsockopt: New file.
49860         * modules/socket: New file.
49861         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
49862         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
49863         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
49864         the particular module is requested. Add a link warning when the
49865         particular module is not requested.
49866         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
49867         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
49868         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
49869         the particular module is requested.
49870         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
49871         gl_SYS_SOCKET_H_DEFAULTS): New macros.
49872         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
49873         * modules/sys_socket (Depends-on): Add link-warning.
49874         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
49875         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
49876         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
49877         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
49878         GL_LINK_WARNING.
49879         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
49880         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
49881         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
49882         * doc/posix-functions/getpeername.texi: Mention the new module
49883         'getpeername'.
49884         * doc/posix-functions/getsockname.texi: Mention the new module
49885         'getsockname'.
49886         * doc/posix-functions/getsockopt.texi: Mention the new module
49887         'getsockopt'.
49888         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
49889         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
49890         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
49891         * doc/posix-functions/send.texi: Mention the new module 'send'.
49892         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
49893         * doc/posix-functions/setsockopt.texi: Mention the new module
49894         'setsockopt'.
49895         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
49896         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
49897         listen, connect, accept.
49898         * modules/select-tests (Depends-on): Likewise.
49899
49900 2008-10-05  Bruno Haible  <bruno@clisp.org>
49901
49902         * lib/winsock.c (strerror): Remove unused #undef.
49903         (rpl_close): Remove unused local variable.
49904
49905         * modules/sys_socket (Depends-on); Add errno.
49906
49907 2008-10-05  Bruno Haible  <bruno@clisp.org>
49908
49909         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
49910         (select): Add a link warning when the 'select' module is not used.
49911         * modules/sys_select (Depends-on): Add link-warning.
49912         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
49913         Suggested by Paolo Bonzini.
49914
49915 2008-10-05  Jim Meyering  <meyering@redhat.com>
49916
49917         bootstrap: check for LT_INIT more portably
49918         * build-aux/bootstrap: Avoid using grep -E, since it's not
49919         portable enough.  Suggestion from Bruno Haible.
49920
49921 2008-10-05  Bruno Haible  <bruno@clisp.org>
49922
49923         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
49924         as being fixed by gnulib.
49925
49926 2008-10-05  Bruno Haible  <bruno@clisp.org>
49927
49928         * modules/select-tests: New file, mostly copied from
49929         modules/sys_select-tests.
49930         * tests/test-select.c: New file, mostly copied from
49931         tests/test-sys_select.c.
49932         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
49933         * modules/sys_select-tests (Depends-on): Remove all dependencies.
49934         (Makefile.am): Remove test_sys_select_LDADD.
49935
49936         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
49937         to an undefined symbol, for an error message.
49938         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
49939         (gl_SYS_SELECT_H_DEFAULTS): New macro.
49940         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
49941         winsock-select.c here.
49942         * modules/sys_select (Files): Remove lib/winsock-select.c.
49943         (Depends-on): Remove alloca.
49944         (Makefile.am): Substitute GNULIB_SELECT.
49945         * modules/select: New file.
49946         * doc/posix-functions/select.texi: Update.
49947
49948 2008-10-05  Bruno Haible  <bruno@clisp.org>
49949
49950         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
49951         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
49952         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
49953         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
49954         getdtablesize.
49955         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
49956         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
49957
49958 2008-10-05  Bruno Haible  <bruno@clisp.org>
49959
49960         * modules/getdtablesize-tests: New file.
49961         * tests/test-getdtablesize.c: New file.
49962
49963         New module 'getdtablesize'.
49964         * lib/unistd.in.h (getdtablesize): New declaration.
49965         * lib/getdtablesize.c: New file.
49966         * m4/getdtablesize.m4: New file.
49967         * modules/getdtablesize: New file.
49968         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
49969         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
49970         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
49971         HAVE_GETDTABLESIZE.
49972         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
49973
49974 2008-10-05  Bruno Haible  <bruno@clisp.org>
49975
49976         * modules/sched (Makefile.am): Fix typo.
49977         Reported by Simon Josefsson.
49978
49979 2008-10-05  Jim Meyering  <meyering@redhat.com>
49980
49981         bootstrap: check for LT_INIT, too
49982         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
49983         are deprecated.  Suggestion from Ralf Wildenhues.
49984
49985 2008-10-05  Bruno Haible  <bruno@clisp.org>
49986
49987         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
49988         overriding them by ours.
49989         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
49990
49991 2008-10-05  Jim Meyering  <meyering@redhat.com>
49992
49993         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
49994         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
49995         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
49996
49997 2008-10-04  Bruno Haible  <bruno@clisp.org>
49998
49999         * modules/dup2 (License): Change to LGPLv2+.
50000         * modules/sleep (License): Likewise.
50001         * modules/perror (License): Likewise.
50002         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
50003         Blake.
50004         * modules/signal (License): Likewise.
50005         * modules/sigprocmask (License): Likewise.
50006         * modules/raise (License): Change to LGPLv2+, with approval by Jim
50007         Meyering.
50008
50009 2008-10-04  Bruno Haible  <bruno@clisp.org>
50010
50011         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
50012         Reported by Rainer Tammer <tammer@tammer.net>.
50013
50014 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
50015             Bruno Haible  <bruno@clisp.org>
50016
50017         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
50018         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
50019         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
50020
50021 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
50022
50023         filevercmp: new module
50024         * lib/filevercmp.h: New function filevercmp comparing version strings.
50025         * lib/filevercmp.c: Implementation of filevercmp function.
50026         * modules/filevercmp: Module metadata.
50027         * tests/test-filevercmp.c: Unit test for new module.
50028         * modules/filevercmp-tests: Unit test metadata.
50029         * MODULES.html.sh: Add filevercmp module.
50030
50031 2008-10-03  Bruno Haible  <bruno@clisp.org>
50032
50033         * lib/c-ctype.h: Add comment.
50034         Reported by Jim Meyering.
50035
50036 2008-10-02  Bruno Haible  <bruno@clisp.org>
50037
50038         * modules/posix_spawn-internal (Depends-on): Add 'open'.
50039
50040 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
50041
50042         * build-aux/bootstrap: Allow renaming bootstrap, and change the
50043         name of bootstrap.conf accordingly.
50044
50045 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
50046
50047         * build-aux/bootstrap: Install git-merge-changelog configuration
50048         items into .gitconfig if needed.
50049
50050 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
50051
50052         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
50053         git repository, and initialize/update it accordingly.
50054
50055 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
50056
50057         * modules/fsync-tests: New file.
50058         * tests/test-fsync.c: New file.
50059
50060         New module 'fsync'.
50061         * lib/fsync.c: New file.
50062         * m4/fsync.m4: New file.
50063         * modules/fsync: New file.
50064         * lib/unistd.in.h (fsync): New declaration.
50065         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
50066         GNULIB_FSYNC and HAVE_FSYNC.
50067         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
50068         * MODULES.html.sh (posix_functions): Add fsync.
50069         * doc/posix-functions/fsync.texi: Mention the new module.
50070
50071 2008-10-02  Jim Meyering  <meyering@redhat.com>
50072
50073         fts.c: sync with similar code from coreutils' remove.c
50074         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
50075         Guard also with "#if defined __linux__", since for now at least,
50076         this code is Linux-kernel-specific.
50077
50078 2008-10-02  Jim Meyering  <meyering@redhat.com>
50079
50080         fts: bug fixes
50081         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
50082         Include <sys/vfs.h>, not <sys/statfs.h>.
50083
50084         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
50085         Include <sys/vfs.h>, not <sys/statfs.h>.
50086
50087 2008-10-01  Bruno Haible  <bruno@clisp.org>
50088
50089         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
50090         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
50091         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
50092         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
50093         * doc/posix-functions/posix_spawnp.texi: Likewise.
50094         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
50095         whether posix_spawn actually works.
50096         * m4/pipe.m4 (gl_PIPE): Likewise.
50097         * modules/execute (Files): Add m4/posix_spawn.m4.
50098         * modules/pipe (Files): Add m4/posix_spawn.m4.
50099         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
50100
50101 2008-10-01  Jim Meyering  <meyering@redhat.com>
50102
50103         remove trailing spaces
50104         * NEWS: Likewise.
50105         * lib/poll.c (poll): Likewise.
50106         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
50107         * lib/winsock.c (rpl_close): Likewise.
50108         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
50109         * modules/yield: Likewise.
50110         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
50111         * tests/test-sys_select.c (connect_to_socket): Likewise.
50112
50113         fts.c: adjust a new interface to be more generally useful
50114         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
50115         (fts_build): Adjust caller.
50116
50117 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50118
50119         * modules/cond-tests: New file.
50120         * tests/test-cond.c: New file.
50121
50122 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50123             Bruno Haible  <bruno@clisp.org>
50124
50125         * modules/cond (Dependencies): Add errno, time.
50126         * lib/glthread/cond.h: Include <time.h>.
50127         (gl_cond_define, gl_cond_define_initialized): Use the same definition
50128         across platforms.
50129
50130 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50131             Bruno Haible  <bruno@clisp.org>
50132
50133         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
50134
50135 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50136             Bruno Haible  <bruno@clisp.org>
50137
50138         * modules/tls-tests (Depends-on): Add thread, yield.
50139         (configure.ac): Remove all checks.
50140         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
50141         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
50142         gl_thread_self): Remove definitions. Include glthread/thread.h and
50143         glthread/yield.h instead.
50144         (test_tls): Pass an additional NULL argument to gl_thread_join.
50145
50146 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50147             Bruno Haible  <bruno@clisp.org>
50148
50149         * modules/lock-tests (Depends-on): Add thread, yield.
50150         (configure.ac): Remove all checks.
50151         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
50152         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
50153         gl_thread_self): Remove definitions. Include glthread/thread.h and
50154         glthread/yield.h instead.
50155         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
50156         additional NULL argument to gl_thread_join.
50157
50158 2008-09-30  Bruno Haible  <bruno@clisp.org>
50159
50160         Fix the Win32 implementation of the 'thread' module.
50161         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
50162         pointer type.
50163         (gl_thread_self): Invoke gl_thread_self_func.
50164         (gl_thread_self_func): New declaration.
50165         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
50166         (do_init_self_key, init_self_key): New functions.
50167         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
50168         Remove some fields.
50169         (running_threads, running_lock): Remove variables.
50170         (get_current_thread_handle): New function.
50171         (gl_thread_self_func, wrapper_func, glthread_create_func,
50172         glthread_join_func, gl_thread_exit_func): Largely rewritten and
50173         simplified.
50174
50175 2008-09-30  Bruno Haible  <bruno@clisp.org>
50176
50177         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
50178         files.
50179
50180 2008-09-30  Jim Meyering  <meyering@redhat.com>
50181
50182         fts.m4: correct the test for statfs.f_type
50183         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
50184         when checking for statfs.f_type.
50185
50186 2008-09-15  Simon Josefsson  <simon@josefsson.org>
50187
50188         tests: avoid some compiler warnings
50189         * tests/test-memchr.c (main): Pass NULL indirectly.
50190         * tests/test-getdate.c (main): Remove unused variable 'ret'.
50191
50192 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
50193
50194         getdate.y: disallow countable dayshifts like "4 yesterday ago"
50195         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
50196         exactly specified dayshifts.
50197         (dayshift): New rule.
50198         (rel): Add dayshift.
50199         (relative_time_table) [tomorrow, yesterday, today, now]:
50200         Use tDAY_SHIFT in place of tDAY_UNIT.
50201         * tests/test-getdate.c: Add tests for now-disallowed countable
50202         dayshifts, e.g., "4 yesterday ago".
50203
50204 2008-09-29  Bruno Haible  <bruno@clisp.org>
50205
50206         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
50207         * tests/test-posix_spawn1.in.sh: Renamed from
50208         tests/test-posix_spawn.in.sh.
50209         * tests/test-posix_spawn2.c: New file.
50210         * tests/test-posix_spawn2.in.sh: New file.
50211         * modules/posix_spawnp-tests (Files): Update.
50212         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
50213
50214 2008-09-29  Bruno Haible  <bruno@clisp.org>
50215
50216         Propagate effects of putenv/setenv/unsetenv to child processes.
50217         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
50218         * lib/pipe.c (create_pipe): Likewise.
50219
50220 2008-09-29  Bruno Haible  <bruno@clisp.org>
50221
50222         Enable use of shell scripts as executables in mingw.
50223         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
50224         run the program as a shell script.
50225         * lib/pipe.c (create_pipe): Likewise.
50226         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
50227         resulting array.
50228
50229 2008-09-29  Eric Blake  <ebb9@byu.net>
50230
50231         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
50232
50233 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
50234
50235         * doc/posix-functions/accept.texi: Update mingw problems.
50236         * doc/posix-functions/bind.texi: Update mingw problems.
50237         * doc/posix-functions/close.texi: Update mingw problems.
50238         * doc/posix-functions/connect.texi: Update mingw problems.
50239         * doc/posix-functions/getpeername.texi: Update mingw problems.
50240         * doc/posix-functions/getsockname.texi: Update mingw problems.
50241         * doc/posix-functions/getsockopt.texi: Update mingw problems.
50242         * doc/posix-functions/ioctl.texi: Update mingw problems.
50243         * doc/posix-functions/listen.texi: Update mingw problems.
50244         * doc/posix-functions/recv.texi: Update mingw problems.
50245         * doc/posix-functions/recvfrom.texi: Update mingw problems.
50246         * doc/posix-functions/select.texi: Update mingw problems.
50247         * doc/posix-functions/send.texi: Update mingw problems.
50248         * doc/posix-functions/sendto.texi: Update mingw problems.
50249         * doc/posix-functions/setsockopt.texi: Update mingw problems.
50250         * doc/posix-functions/socket.texi: Update mingw problems.
50251
50252 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
50253             Bruno Haible  <bruno@clisp.org>
50254
50255         * lib/sys_select.in.h: Include sys/time.h.
50256         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
50257         * modules/sys_select: Depend on sys_time.
50258         * tests/test-sys_select.c: Test that sys/select.h defines struct
50259         timeval fully.
50260
50261 2008-09-29  Bruno Haible  <bruno@clisp.org>
50262
50263         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
50264         * lib/sys_select.in.h: Likewise.
50265
50266 2008-09-29  Bruno Haible  <bruno@clisp.org>
50267
50268         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
50269
50270 2008-09-29  Bruno Haible  <bruno@clisp.org>
50271
50272         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
50273         Set LIBSOCKET instead of augmenting LIBS.
50274         * modules/sockets (Link): New section.
50275         * modules/sockets-tests (test_sockets_LDADD): New variable.
50276         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
50277         * modules/poll-tests (test_poll_LDADD): New variable.
50278         * NEWS: Document the change.
50279
50280 2008-09-29  Bruno Haible  <bruno@clisp.org>
50281
50282         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
50283         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
50284         ARPA_INET_H directly.
50285         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
50286
50287 2008-09-28  Bruno Haible  <bruno@clisp.org>
50288
50289         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
50290         from gl_HEADER_SYS_SOCKET.
50291         (gl_HEADER_SYS_SOCKET): Invoke it.
50292         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
50293
50294 2008-09-28  Bruno Haible  <bruno@clisp.org>
50295
50296         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
50297         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
50298         Needed on OSF/1 4.0.
50299
50300 2008-09-28  Bruno Haible  <bruno@clisp.org>
50301
50302         Override open more carefully.
50303         * lib/open.c (orig_open): New function.
50304         (rpl_open): Use orig_open instead of open.
50305         * lib/fcntl.in.h: Add special invocation convention.
50306         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
50307         (gl_FUNC_OPEN): Invoke it.
50308
50309         Override freopen more carefully.
50310         * lib/freopen.c (orig_freopen): New function.
50311         (rpl_freopen): Use orig_freopen instead of freopen.
50312         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
50313         (gl_FUNC_FREOPEN): Invoke it.
50314
50315         Override fopen more carefully.
50316         * lib/fopen.c (orig_fopen): New function.
50317         (rpl_fopen): Use orig_fopen instead of fopen.
50318         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
50319         (gl_FUNC_FOPEN): Invoke it.
50320         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
50321
50322 2008-09-28  Bruno Haible  <bruno@clisp.org>
50323
50324         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
50325         SIGPIPE.
50326
50327 2008-09-28  Bruno Haible  <bruno@clisp.org>
50328
50329         * tests/test-sigaction.c (handler, main): Disable the check whether
50330         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
50331         glibc systems with LinuxThreads.
50332
50333 2008-09-28  Bruno Haible  <bruno@clisp.org>
50334
50335         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
50336
50337         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
50338         with AIX xlc.
50339         * lib/fcntl.in.h (open): Likewise.
50340         Reported by Rainer Tammer <tammer@tammer.net>.
50341
50342 2008-09-28  Bruno Haible  <bruno@clisp.org>
50343
50344         * modules/posix_spawnp-tests: New file.
50345         * tests/test-posix_spawn.c: New file.
50346         * tests/test-posix_spawn.in.sh: New file.
50347
50348         New module 'posix_spawnp'.
50349         * modules/posix_spawnp: New file.
50350         * lib/spawnp.c: New file, from GNU libc with modifications.
50351         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
50352
50353         New module 'posix_spawn'.
50354         * modules/posix_spawn: New file.
50355         * lib/spawn.c: New file, from GNU libc with modifications.
50356         * doc/posix-functions/posix_spawn.texi: Mention the new module.
50357
50358         New module 'posix_spawnattr_destroy'.
50359         * modules/posix_spawnattr_destroy: New file.
50360         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
50361         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
50362         module.
50363
50364         New module 'posix_spawnattr_setsigmask'.
50365         * modules/posix_spawnattr_setsigmask: New file.
50366         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
50367         modifications.
50368         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
50369         new module.
50370
50371         New module 'posix_spawnattr_getsigmask'.
50372         * modules/posix_spawnattr_getsigmask: New file.
50373         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
50374         modifications.
50375         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
50376         new module.
50377
50378         New module 'posix_spawnattr_setsigdefault'.
50379         * modules/posix_spawnattr_setsigdefault: New file.
50380         * lib/spawnattr_setdefault.c: New file, from GNU libc with
50381         modifications.
50382         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
50383         new module.
50384
50385         New module 'posix_spawnattr_getsigdefault'.
50386         * modules/posix_spawnattr_getsigdefault: New file.
50387         * lib/spawnattr_getdefault.c: New file, from GNU libc with
50388         modifications.
50389         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
50390         new module.
50391
50392         New module 'posix_spawnattr_setschedpolicy'.
50393         * modules/posix_spawnattr_setschedpolicy: New file.
50394         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
50395         modifications.
50396         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
50397         new module.
50398
50399         New module 'posix_spawnattr_getschedpolicy'.
50400         * modules/posix_spawnattr_getschedpolicy: New file.
50401         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
50402         modifications.
50403         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
50404         new module.
50405
50406         New module 'posix_spawnattr_setschedparam'.
50407         * modules/posix_spawnattr_setschedparam: New file.
50408         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
50409         modifications.
50410         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
50411         new module.
50412
50413         New module 'posix_spawnattr_getschedparam'.
50414         * modules/posix_spawnattr_getschedparam: New file.
50415         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
50416         modifications.
50417         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
50418         new module.
50419
50420         New module 'posix_spawnattr_setpgroup'.
50421         * modules/posix_spawnattr_setpgroup: New file.
50422         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
50423         modifications.
50424         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
50425         module.
50426
50427         New module 'posix_spawnattr_getpgroup'.
50428         * modules/posix_spawnattr_getpgroup: New file.
50429         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
50430         modifications.
50431         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
50432         module.
50433
50434         New module 'posix_spawnattr_setflags'.
50435         * modules/posix_spawnattr_setflags: New file.
50436         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
50437         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
50438         module.
50439
50440         New module 'posix_spawnattr_getflags'.
50441         * modules/posix_spawnattr_getflags: New file.
50442         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
50443         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
50444         module.
50445
50446         New module 'posix_spawnattr_init'.
50447         * modules/posix_spawnattr_init: New file.
50448         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
50449         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
50450         module.
50451
50452         New module 'posix_spawn_file_actions_destroy'.
50453         * modules/posix_spawn_file_actions_destroy: New file.
50454         * lib/spawn_faction_destroy.c: New file, from GNU libc with
50455         modifications.
50456         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
50457         the new module.
50458
50459         New module 'posix_spawn_file_actions_addopen'.
50460         * modules/posix_spawn_file_actions_addopen: New file.
50461         * lib/spawn_faction_addopen.c: New file, from GNU libc with
50462         modifications.
50463         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
50464         the new module.
50465
50466         New module 'posix_spawn_file_actions_adddup2'.
50467         * modules/posix_spawn_file_actions_adddup2: New file.
50468         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
50469         modifications.
50470         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
50471         the new module.
50472
50473         New module 'posix_spawn_file_actions_addclose'.
50474         * modules/posix_spawn_file_actions_addclose: New file.
50475         * lib/spawn_faction_addclose.c: New file, from GNU libc with
50476         modifications.
50477         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
50478         the new module.
50479
50480         New module 'posix_spawn_file_actions_init'.
50481         * modules/posix_spawn_file_actions_init: New file.
50482         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
50483         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
50484         new module.
50485
50486         New module 'posix_spawn-internal'.
50487         * modules/posix_spawn-internal: New file.
50488         * lib/spawn_int.h: New file, from GNU libc with modifications.
50489         * lib/spawni.c: New file, from GNU libc with modifications.
50490         * m4/posix_spawn.m4: New file.
50491
50492         New module 'spawn'.
50493         * modules/spawn: New file.
50494         * lib/spawn.in.h: New file, from GNU libc with modifications.
50495         * m4/spawn_h.m4: New file.
50496         * doc/posix-headers/spawn.texi: Mention the new module.
50497
50498 2008-09-28  Bruno Haible  <bruno@clisp.org>
50499
50500         * modules/sched-tests: New file.
50501         * tests/test-sched.c: New file.
50502
50503         New module 'sched'.
50504         * modules/sched: New file.
50505         * lib/sched.in.h: New file.
50506         * m4/sched_h.m4: New file.
50507         * doc/posix-headers/sched.texi: Mention the new module.
50508
50509 2008-09-27  Eric Blake  <ebb9@byu.net>
50510
50511         Fix previous patch, and tweak references to $0.
50512         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
50513         (func_version, func_gnulib_dir): Don't call this program
50514         gnulib-tool.
50515         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
50516         with using $0 in function.
50517         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
50518         (func_fatal_error): Reuse the name the user invoked us with.
50519
50520 2008-09-27  Bruno Haible  <bruno@clisp.org>
50521
50522         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
50523         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
50524         (gl_ICONV_H): Not here.
50525         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
50526         instead of assigning ICONV_H directly.
50527
50528         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
50529         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
50530         WCHAR_H directly.
50531
50532 2008-09-27  Bruno Haible  <bruno@clisp.org>
50533
50534         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
50535         * modules/arpa_inet (Depends-on): Add link-warning.
50536         (Makefile.am): Insert the definition of GL_LINK-WARNING.
50537         * modules/unistd (Makefile.am): Likewise.
50538
50539 2008-09-26  Bruno Haible  <bruno@clisp.org>
50540
50541         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
50542         variables.
50543         (func_version): Essentially copied from gnulib-tool.
50544         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
50545         func_readlink): Copied from gnulib-tool.
50546
50547 2008-09-26  Bruno Haible  <bruno@clisp.org>
50548
50549         * gnulib-tool (func_version): Change directory to $gnulib_dir before
50550         invoking git-version-gen.
50551
50552 2008-09-26  Bruno Haible  <bruno@clisp.org>
50553
50554         * posix-modules: Update to directory names changed on 2008-01-19.
50555         Remove commas in output before splitting into words. No more need to
50556         avoid 'ftruncate' since 2007-02-19.
50557
50558 2008-09-26  Bruno Haible  <bruno@clisp.org>
50559
50560         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
50561
50562 2008-09-26  Bruno Haible  <bruno@clisp.org>
50563
50564         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
50565         * modules/fwriteerror (Depends-on): Add errno.
50566
50567 2008-09-26  Bruno Haible  <bruno@clisp.org>
50568
50569         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
50570         * tests/test-vc-list-files-cvs.sh: Likewise.
50571
50572 2008-09-26  Bruno Haible  <bruno@clisp.org>
50573
50574         * doc/posix-headers/sys_resource.texi: Reorder items.
50575
50576 2008-09-26  Jim Meyering  <meyering@redhat.com>
50577
50578         fts: tweak inode comparison function
50579         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
50580         inode numbers, as documented.
50581
50582         fts: sort dirent entries on inode number before traversing
50583         This avoids a quadratic, seek-related performance penalty when
50584         operating on a directory containing many entries (measurable at 10k;
50585         3.5 hours at 2 million entries with a cold cache) on certain types
50586         of file systems, including ext3 and ext4, but not tmpfs.
50587         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
50588         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
50589         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
50590         (fs_handles_readdir_ordered_dirents_efficiently): New function.
50591         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
50592         (fts_build): Set the stat.st_ino member from D_INO.
50593         If it is likely to be useful, sort dirent entries on inode number.
50594
50595         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
50596         and the struct statfs.f_type member.
50597         * modules/fts (Depends-on): Add d-ino.
50598
50599 2008-09-26  Bruno Haible  <bruno@clisp.org>
50600
50601         * modules/sigpipe-die (Depends-on): Add sigpipe.
50602
50603         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
50604         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
50605         and GNULIB_STDIO_H_SIGPIPE are set.
50606         * lib/stdio-write.c: New file.
50607         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
50608         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
50609         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
50610         REPLACE_STDIO_WRITE_FUNCS.
50611         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
50612         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
50613         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
50614         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
50615         * modules/stdio (Files): Add lib/stdio-write.c.
50616         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
50617         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
50618         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
50619         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
50620         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
50621         REPLACE_FPRINTF_POSIX.
50622         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
50623         REPLACE_PRINTF_POSIX.
50624         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
50625         REPLACE_VFPRINTF_POSIX.
50626         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
50627         REPLACE_VPRINTF_POSIX.
50628         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
50629         SIGPIPE issue.
50630         * doc/posix-functions/fputc.texi: Likewise.
50631         * doc/posix-functions/fputs.texi: Likewise.
50632         * doc/posix-functions/fwrite.texi: Likewise.
50633         * doc/posix-functions/printf.texi: Likewise.
50634         * doc/posix-functions/putc.texi: Likewise.
50635         * doc/posix-functions/putchar.texi: Likewise.
50636         * doc/posix-functions/puts.texi: Likewise.
50637         * doc/posix-functions/vfprintf.texi: Likewise.
50638         * doc/posix-functions/vprintf.texi: Likewise.
50639
50640         * modules/safe-write (Depends-on): Add write.
50641
50642         * modules/sigpipe-tests: New file.
50643         * tests/test-sigpipe.c: New file.
50644         * tests/test-sigpipe.sh: New file.
50645
50646         * modules/write: New file.
50647         * lib/unistd.in.h: Include <sys/types.h>.
50648         (write): New declaration.
50649         * lib/write.c: New file.
50650         * m4/write.m4: New file.
50651         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
50652         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
50653         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
50654         GNULIB_WRITE, REPLACE_WRITE.
50655         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
50656         and the SIGPIPE issue.
50657
50658         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
50659         (raise): New declaration.
50660         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
50661         (ext_signal): New function.
50662         (rpl_raise): New function.
50663         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
50664         GNULIB_SIGNAL_H_SIGPIPE.
50665         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
50666         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
50667
50668         * modules/sigpipe: New file.
50669         * m4/sigpipe.m4: New file.
50670
50671 2008-09-25  Derek Price  <derek@ximbiot.com>
50672             Bruno Haible  <bruno@clisp.org>
50673
50674         * gnulib-tool (func_import): Report all license incompatibilities, not
50675         just the first one.
50676
50677 2008-09-25  Bruno Haible  <bruno@clisp.org>
50678
50679         * gnulib-tool (func_import): When computing the edits, consider not
50680         only the Makefile.ams that exist but also those that will be generated.
50681
50682 2008-09-25  Simon Josefsson  <simon@josefsson.org>
50683
50684         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
50685         fixes gnulib-tool --test warning about duplicate dependency.
50686
50687 2008-09-25  Bruno Haible  <bruno@clisp.org>
50688
50689         * gnulib-tool: Don't ask the user to perform edits in the generated
50690         Makefile.ams.
50691         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
50692         apply to the Makefile.am being generated.
50693         (func_emit_tests_Makefile_am): Execute edits that apply to the
50694         Makefile.am being generated.
50695         (func_import): Setup list of Makefile.am edits before emitting the
50696         Makefile.ams, not at the end.
50697         (func_create_testdir): Update.
50698         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
50699
50700 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50701
50702         * gnulib-tool (func_import): Store the --tests-base option in the
50703         comment in gnulib-cache.m4.
50704
50705 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
50706
50707         * NEWS: Document increased portability that sys_select now provides.
50708
50709         * lib/sys_select.in.h: Install select wrapper.
50710         * lib/sys_socket.in.h: Use more descriptive name when there is no
50711         select wrapper.
50712         * lib/winsock-select.c: New.
50713         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
50714         Require gl_HEADER_SYS_SOCKET.
50715         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
50716         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
50717         * tests/test-sys_select.c: Add functional tests.
50718
50719 2008-09-24  Eric Blake  <ebb9@byu.net>
50720
50721         open, fopen: close fd leak in last patch
50722         * lib/open.c (rpl_open): Close fd before returning error.
50723         * lib/fopen.c (rpl_fopen): Close fd before returning error.
50724         * doc/posix-functions/open.texi (open): Document that Irix also
50725         has the bug.
50726         * doc/posix-functions/fopen.texi (fopen): Likewise.
50727         Reported by Paolo Bonzini.
50728
50729 2008-09-24  Bruno Haible  <bruno@clisp.org>
50730
50731         Ensure that a filename ending in a slash cannot be used to access a
50732         non-directory.
50733         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
50734         to check whether it's really a directory.
50735         * lib/fopen.c: Include fcntl.h, unistd.h.
50736         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
50737         and fdopen().
50738         * modules/fopen (Depends-on): Add unistd.
50739         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
50740         * tests/test-fopen.c (main): Likewise.
50741         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
50742         * doc/posix-functions/fopen.texi: Likewise.
50743         Reported by Eric Blake.
50744
50745 2008-09-23  Eric Blake  <ebb9@byu.net>
50746
50747         c-stack: avoid compiler optimizations when provoking overflow
50748         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
50749         recursion harder to optimize, to ensure a stack overflow occurs.
50750         * tests/test-c-stack.c (recurse): Likewise.
50751         Borrowed from libsigsegv.
50752
50753         c-stack: work around Irix sigaltstack bug
50754         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
50755         whether sigaltstack uses wrong end of stack_t (copied in part from
50756         libsigsegv).
50757         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
50758         Irix bug, without requiring an over-allocation.
50759         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
50760         bug.
50761
50762         fopen: document mingw bug on directories
50763         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
50764         not allowing a stream visiting a directory, even though reading
50765         from such a stream is not portable.
50766
50767 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
50768
50769         * lib/poll.c: Rewrite.
50770         * modules/poll: Depend on alloca.
50771
50772 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
50773
50774         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
50775         instead define prototypes for a full set of wrappers.  Ensure
50776         that Cygwin does not use the compatibility code, which is only
50777         for MinGW.
50778         * lib/winsock.c: New.
50779         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
50780         * modules/sys_socket: Add lib/winsock.c.
50781
50782         * modules/poll-tests: Add errno and perror.
50783         * tests/test-poll.c: Use ioctl, not ioctlsocket.
50784
50785 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
50786
50787         * tests/test-poll.c: Downgrade minimum needed Winsock version.
50788
50789 2008-09-23  Bruno Haible  <bruno@clisp.org>
50790
50791         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
50792         * doc/glibc-functions/*: Likewise.
50793
50794 2008-09-23  Simon Josefsson  <simon@josefsson.org>
50795
50796         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
50797         success.
50798
50799 2008-09-22  Eric Blake  <ebb9@byu.net>
50800             Bruno Haible  <bruno@clisp.org>
50801
50802         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
50803         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
50804         supply %A but mishandle pseudo-NaN.
50805         Reported by Simon Josefsson.
50806
50807 2008-09-21  Bruno Haible  <bruno@clisp.org>
50808
50809         * tests/test-lock.c (main): Tweak skip message.
50810         * tests/test-tls.c (main): Likewise.
50811
50812 2008-09-21  Bruno Haible  <bruno@clisp.org>
50813
50814         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
50815         whether 'struct sigaction' has sa_sigaction here...
50816         (gl_PREREQ_SIG_HANDLER_H): ... not here.
50817         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
50818
50819 2008-09-21  Bruno Haible  <bruno@clisp.org>
50820
50821         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
50822         section.
50823         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
50824         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
50825         the new section.
50826         (Support for obsolete systems lacking POSIX:2001): New section.
50827         (String handling <string.h>): Move strdup to the new section.
50828         Suggested by Simon Josefsson and Paolo Bonzini.
50829
50830 2008-09-21  Bruno Haible  <bruno@clisp.org>
50831
50832         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
50833         exponents in %e and %g results on 'long double'. Needed for mingw's
50834         improved *printf functions.
50835         * tests/test-vasprintf-posix.c (test_function): Likewise.
50836         * tests/test-snprintf-posix.h (test_function): Likewise.
50837         * tests/test-sprintf-posix.h (test_function): Likewise.
50838         Reported by Eric Blake.
50839
50840 2008-09-21  Bruno Haible  <bruno@clisp.org>
50841
50842         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
50843         * tests/test-sprintf-posix.h (test_function): Likewise.
50844
50845 2008-09-21  Bruno Haible  <bruno@clisp.org>
50846
50847         * modules/getpass (Depends-on): Add strdup-posix.
50848
50849         New module 'strdup-posix'.
50850         * modules/strdup-posix: New file.
50851         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
50852         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
50853         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
50854         REPLACE_STRDUP.
50855         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
50856         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
50857         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
50858         strdup-posix.
50859
50860         * modules/strdup (Depends-on): Remove malloc-posix.
50861
50862 2008-09-20  Bruno Haible  <bruno@clisp.org>
50863
50864         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
50865         Wildenhues.
50866
50867 2008-09-20  Bruno Haible  <bruno@clisp.org>
50868
50869         Ensure that wint_t gets defined on IRIX 5.3.
50870         * lib/wchar.in.h (wint_t): Define if not defined by the system.
50871         * lib/wctype.in.h (wint_t): Likewise.
50872         (__wctype_wint_t): Remove type.
50873         (isw*): Use wint_t instead of __wctype_wint_t.
50874         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
50875         * modules/wchar (Files): Add m4/wint_t.m4.
50876         (Makefile.am): Substitute HAVE_WINT_T.
50877         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
50878         * tests/test-wctype.c: Check that wint_t is defined.
50879         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
50880         * doc/posix-headers/wctype.texi: Likewise.
50881         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
50882
50883 2008-09-18  Bruno Haible  <bruno@clisp.org>
50884
50885         * gnulib-tool (func_exit): Update comment.
50886
50887 2008-09-18  Simon Josefsson  <simon@josefsson.org>
50888
50889         * modules/getaddrinfo (Depends-on): Remove strdup, this module
50890         assumes strdup exists and does not depend on strdup to return
50891         ENOMEM on out of memory conditions.
50892
50893 2008-09-18  Bruno Haible  <bruno@clisp.org>
50894
50895         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
50896         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
50897         digits for the exponent.
50898
50899 2008-09-18  Jim Meyering  <meyering@redhat.com>
50900             Bruno Haible  <bruno@clisp.org>
50901
50902         * lib/vasnprintf.c (decimal_point_char): Define also if
50903         NEED_PRINTF_INFINITE_LONG_DOUBLE.
50904
50905 2008-09-16  Bruno Haible  <bruno@clisp.org>
50906         and Eric Blake  <ebb9@byu.net>
50907
50908         vasnprintf: support Irix 5.3
50909         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
50910         that mishandle long double infinity.
50911         Reported by Tom G. Christensen.
50912
50913 2008-09-16  Bruno Haible  <bruno@clisp.org>
50914
50915         * doc/glibc-functions/scandir.texi: Mention the function is missing on
50916         Solaris 9.
50917         * doc/glibc-functions/alphasort.texi: Likewise.
50918         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
50919
50920 2008-09-16  Jim Meyering  <meyering@redhat.com>
50921
50922         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
50923         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
50924         a umask modification leak out of a subshell.  Otherwise, the
50925         opensolaris /bin/sh would be accepted and thus cause unwarranted
50926         failures in the coreutils test suite.
50927
50928 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
50929
50930         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
50931         to succeed.
50932
50933 2008-09-16  Jim Meyering  <meyering@redhat.com>
50934
50935         avoid spurious test failure when library is built without ACL support
50936         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
50937         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
50938         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
50939         * tests/test-copy-acl.sh: Likewise.
50940
50941 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50942
50943         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
50944         based on character occurrence counts.
50945
50946 2008-09-15  Eric Blake  <ebb9@byu.net>
50947
50948         tests: avoid some compiler warnings
50949         * tests/test-memchr.c (main): Pass NULL indirectly.
50950         * tests/test-closein.c (main): Avoid unused variable.
50951
50952 2008-09-15  Bruno Haible  <bruno@clisp.org>
50953
50954         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
50955         are missing on OpenBSD 4.0 individually.
50956         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
50957
50958 2008-09-15  Bruno Haible  <bruno@clisp.org>
50959
50960         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
50961         * doc/posix-functions/strerror.texi: Mention also Cygwin.
50962         * doc/posix-functions/perror.texi: Likewise.
50963         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
50964         is missing.
50965         Reported by Eric Blake.
50966
50967         * lib/errno.in.h: Use replacement values >= 2000.
50968         Reported by Eric Blake.
50969
50970 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50971
50972         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
50973         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
50974         limit.
50975         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
50976         compareseq was aborted.
50977
50978 2008-09-14  Bruno Haible  <bruno@clisp.org>
50979
50980         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
50981         yvec_edit_count.
50982         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
50983         (fstrcmp_bounded): Simplify result computation accordingly.
50984
50985 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50986
50987         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
50988         (fstrcmp): Define in terms of fstrcmp_bounded.
50989         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
50990         lower_bound argument.
50991         Return quickly if the result is certainly < lower_bound.
50992         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
50993
50994 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50995
50996         * lib/diffseq.h (EARLY_ABORT): New macro.
50997         (compareseq): Change return type to bool. Return true when EARLY_ABORT
50998         evaluates to true.
50999
51000 2008-09-14  Bruno Haible  <bruno@clisp.org>
51001
51002         * modules/perror-tests: New file.
51003         * tests/test-perror.sh: New file.
51004         * tests/test-perror.c: New file.
51005
51006         New module 'perror'.
51007         * lib/stdio.in.h (perror): New declaration.
51008         * lib/perror.c: New file.
51009         * m4/perror.m4: New file.
51010         * modules/perror: New file.
51011         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
51012         * doc/posix-functions/perror.texi: Mention the perror module.
51013         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
51014         REPLACE_PERROR.
51015         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
51016         REPLACE_PERROR.
51017
51018 2008-09-14  Bruno Haible  <bruno@clisp.org>
51019
51020         * modules/stdio (Makefile.am): Reorder to match the order in
51021         lib/stdio.in.h.
51022         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
51023
51024 2008-09-13  Bruno Haible  <bruno@clisp.org>
51025
51026         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
51027
51028 2008-09-13  Bruno Haible  <bruno@clisp.org>
51029
51030         Extend strerror to cover the added errno values.
51031         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
51032         (rpl_strerror): Provide error messages for the added errno values and
51033         for the WSA* values.
51034         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
51035         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
51036         strerror.
51037         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
51038         * modules/strerror (Depends-on): Add errno.
51039         * doc/posix-functions/strerror.texi: Document the change.
51040         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
51041         and EOVERFLOW.
51042
51043 2008-09-13  Bruno Haible  <bruno@clisp.org>
51044
51045         * modules/EOVERFLOW: Remove file.
51046         * m4/eoverflow.m4: Remove file.
51047         * modules/EOVERFLOW-tests: Remove file.
51048         * tests/test-EOVERFLOW.c: Remove file.
51049         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
51050         * modules/ftell (Depends-on): Likewise.
51051         * modules/getdelim (Depends-on): Likewise.
51052         * modules/getugroups (Depends-on): Likewise.
51053         * modules/poll (Depends-on): Likewise.
51054         * modules/snprintf (Depends-on): Likewise.
51055         * modules/sprintf-posix (Depends-on): Likewise.
51056         * modules/vasnprintf (Depends-on): Likewise.
51057         * modules/vasprintf (Depends-on): Likewise.
51058         * modules/vfprintf-posix (Depends-on): Likewise.
51059         * modules/vsnprintf (Depends-on): Likewise.
51060         * modules/vsprintf-posix (Depends-on): Likewise.
51061         * modules/xvasprintf (Depends-on): Likewise.
51062         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
51063         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
51064         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
51065         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
51066         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
51067         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
51068         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
51069         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
51070         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
51071         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
51072         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
51073         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
51074         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
51075         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
51076         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
51077         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
51078         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
51079         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
51080         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
51081         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
51082         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
51083         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
51084         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
51085         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
51086         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
51087         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
51088         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
51089         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
51090         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
51091         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
51092         * MODULES.html.sh: Remove EOVERFLOW.
51093         * NEWS: Mention the change.
51094
51095 2008-09-13  Bruno Haible  <bruno@clisp.org>
51096
51097         * modules/errno-tests: New file.
51098         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
51099
51100         * lib/errno.in.h: New file.
51101         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
51102         * modules/errno: New file.
51103         * doc/posix-headers/errno.texi: Update documentation.
51104         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
51105
51106 2008-09-13  Bruno Haible  <bruno@clisp.org>
51107
51108         * tests/test-poll.c: Use #if for native Windows, rather than testing
51109         __MSVCRT__.
51110
51111 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51112             Bruno Haible  <bruno@clisp.org>
51113
51114         * lib/glob.c: Don't include <pwd.h> on native Windows.
51115         (WINDOWS32): New macro.
51116         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
51117
51118 2008-09-13  Bruno Haible  <bruno@clisp.org>
51119
51120         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
51121         (ETIMEDOUT): Remove macro.
51122         (glthread_cond_timedwait_multithreaded): New declaration.
51123         (glthread_cond_timedwait): Use it.
51124         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
51125         (glthread_cond_timedwait_multithreaded): New function.
51126
51127 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
51128
51129         * modules/poll-tests: Do not check for io.h.
51130         * tests/test-poll.c: Check for __MSVCRT__ instead.
51131
51132 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
51133
51134         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
51135         * modules/poll-tests: Add inet_pton, stdbool, sockets.
51136         * tests/test-poll.c: Use them.  Use _pipe on Windows.
51137
51138 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
51139
51140         * modules/poll-tests: New.
51141         * tests/test-poll.c: New.
51142
51143 2008-09-12  Eric Blake  <ebb9@byu.net>
51144
51145         frexp: test for NetBSD failure on -0.0
51146         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
51147         not all, bugs from NetBSD 3.0 have been fixed.
51148         * doc/posix-functions/frexp.texi (frexp): Document bug.
51149         Reported by Thomas Klausner.
51150
51151         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
51152         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
51153         literal -0.0.
51154         Reported by Jonathan C. Patschke <jp@centtech.com>.
51155
51156 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51157
51158         * lib/glthread/cond.h: Use dummy implementation also if
51159         USE_WIN32_THREADS.
51160
51161 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51162
51163         * modules/fnmatch-posix (License): Change to LGPLv2+.
51164         * modules/fnmatch-gnu (License): Likewise.
51165
51166 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51167
51168         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
51169
51170 2008-09-11  Jim Meyering  <meyering@redhat.com>
51171
51172         * users.txt: Add gtk-vnc.
51173
51174 2008-09-08  Simon Josefsson  <simon@josefsson.org>
51175
51176         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
51177         rotate amounts.
51178
51179         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
51180         required for 16-bit and 8-bit rotates.
51181         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
51182         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
51183         UINT8_MAX instead of hard-coded constants.
51184         Suggested by Paul Eggert.
51185
51186 2008-09-07  Bruno Haible  <bruno@clisp.org>
51187
51188         * tests/test-striconveh.c (main): Check behaviour when converting from
51189         UTF-7.
51190
51191         Make striconveh work better with stateful encodings.
51192         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
51193         that iconv does not increment the inptr when returning -1/EINVAL.
51194
51195 2008-09-07  Bruno Haible  <bruno@clisp.org>
51196
51197         * build-aux/config.rpath: Update according to libtool-2.2.6.
51198         * build-aux/config.libpath: Likewise.
51199
51200 2008-09-06  Bruno Haible  <bruno@clisp.org>
51201
51202         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
51203         * lib/freadptr.c (freadptr): Likewise.
51204         * lib/freadseek.c (freadptrinc): Likewise.
51205         Reported by Simon Josefsson.
51206
51207 2008-09-06  Bruno Haible  <bruno@clisp.org>
51208
51209         * modules/freadptr (License): Change to LGPLv2+.
51210         * modules/freadseek (License): Likewise.
51211         Suggested by Eric Blake.
51212
51213         * modules/memchr2 (License): Change to LGPLv2+.
51214         Approved by Eric Blake.
51215
51216 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51217             Bruno Haible  <bruno@clisp.org>
51218
51219         Make gnulib-tool work with native 'sed' on AIX.
51220         * gnulib-tool (sed_noop): New variable.
51221         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
51222         func_add_or_update, func_create_testdir): Use it to initialize sed
51223         script variables.
51224         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
51225
51226 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
51227             Bruno Haible  <bruno@clisp.org>
51228
51229         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
51230         also works after #include directives.
51231
51232 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
51233
51234         getdate.y: reject an out-of-range timezone value
51235         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
51236         the range [-24...+24].  When specified with only one or two digits,
51237         * tests/test-getdate.c: Tests for the fix.
51238         * doc/getdate.texi: Document this change.
51239
51240 2008-09-03  Bruno Haible  <bruno@clisp.org>
51241
51242         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
51243
51244 2008-09-02  Simon Josefsson  <simon@josefsson.org>
51245
51246         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
51247         <bruce.korb@gmail.com> with ideas from Ben Pfaff
51248         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
51249         Blake <ebb9@byu.net>.
51250
51251         * tests/test-bitrotate.c: Add more test vectors.
51252
51253 2008-09-02  Eric Blake  <ebb9@byu.net>
51254
51255         vasnprintf-posix: handle large precision via %.*d
51256         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
51257         when handling it ourselves.
51258         * tests/test-vasnprintf-posix.c (test_function): Add test.
51259         * tests/test-snprintf-posix.h (test_function): Likewise.
51260         * tests/test-sprintf-posix.h (test_function): Likewise.
51261         * tests/test-vasprintf-posix.c (test_function): Likewise.
51262         Reported by Alain Guibert.
51263
51264 2008-09-01  Eric Blake  <ebb9@byu.net>
51265
51266         c-stack: make configure-time check more robust
51267         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
51268         successful sigaction call.
51269         Reported by Tom G. Christensen.
51270
51271 2008-09-01  Bruno Haible  <bruno@clisp.org>
51272
51273         New module 'findprog-lgpl'.
51274         * modules/findprog-lgpl: New file.
51275         * lib/findprog-lgpl.c: New file.
51276         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
51277         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
51278         to decide whether to use strdup or xstrdup, concatenated_filename or
51279         xconcatenated_filename.
51280
51281 2008-09-01  Bruno Haible  <bruno@clisp.org>
51282
51283         Split module 'concat-filename' into 'concat-filename' (LGPL) and
51284         'xconcat-filename' (GPL).
51285         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
51286         (License): Change to LGPLv2+.
51287         * modules/xconcat-filename: New file.
51288         * lib/concat-filename.h (concatenated_filename): Change specification.
51289         (xconcatenated_filename): New declaration.
51290         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
51291         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
51292         memory situations.
51293         * lib/xconcat-filename.c: New file.
51294         * NEWS: Mention the change.
51295         * lib/findprog.c: Include concat-filename.h, not filename.h.
51296         (find_in_path): Use xconcatenated_filename instead of
51297         concatenated_filename.
51298         * lib/javacomp.c: Include concat-filename.h, not filename.h.
51299         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
51300         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
51301         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
51302         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
51303         instead of concatenated_filename.
51304         * lib/javaexec.c: Include concat-filename.h, not filename.h.
51305         (execute_java_class): Use xconcatenated_filename instead of
51306         concatenated_filename.
51307         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
51308         * modules/javacomp (Depends-on): Likewise.
51309         * modules/javaexec (Depends-on): Likewise.
51310
51311 2008-09-01  Bruno Haible  <bruno@clisp.org>
51312
51313         Split module 'filename' into 'filename' and 'concat-filename'.
51314         * modules/filename: Keep only lib/filename.h.
51315         (License): Change to LGPLv2+.
51316         * modules/concat-filename: New file, extracted from modules/filename.
51317         * lib/filename.h (concatenated_filename): Remove declaration.
51318         * lib/concat-filename.h: New file, extracted from lib/filename.h.
51319         * lib/concat-filename.c: Include concat-filename.h.
51320         * NEWS: Mention the change.
51321
51322 2008-09-01  Simon Josefsson  <simon@josefsson.org>
51323
51324         * lib/bitrotate.h (rotl8, rotr8): Add.
51325
51326         * modules/bitrotate (configure.ac): Need
51327         AC_REQUIRE([AC_C_INLINE]).
51328         (Description): Mention stdint.h.  Reported by Bruno Haible
51329         <bruno@clisp.org>.
51330
51331         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
51332         Paolo Bonzini <bonzini@gnu.org>.
51333
51334 2008-08-31  Bruno Haible  <bruno@clisp.org>
51335
51336         Assume Solaris specific bi-arch conventions on Solaris systems.
51337         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
51338         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
51339         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
51340         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
51341         like acl_libdirstem.
51342         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
51343         acl_libdirstem.
51344         * NEWS: Mention the change.
51345         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
51346
51347 2008-08-31  Jim Meyering  <meyering@redhat.com>
51348
51349         * lib/strftime.h: Add comments describing the two added arguments.
51350
51351         remove duplicate #include directives
51352         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
51353         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
51354
51355 2008-08-31  Bruno Haible  <bruno@clisp.org>
51356
51357         New module 'sigpipe-die'.
51358         * modules/sigpipe-die: New file.
51359         * lib/sigpipe-die.h: New file.
51360         * lib/sigpipe-die.c: New file.
51361         * MODULES.html.sh (Signal handling): Add sigpipe-die.
51362
51363 2008-08-31  Bruno Haible  <bruno@clisp.org>
51364
51365         Don't override previously installed signal handlers.
51366         * lib/fatal-signal.c (saved_sigactions): New variable.
51367         (uninstall_handlers): Reset the signal to the saved handler, not
51368         to SIG_DFL (except when ignored).
51369         (install_handlers): Save the previous handlers.
51370
51371 2008-08-30  Bruno Haible  <bruno@clisp.org>
51372
51373         * gnulib-tool (func_reset_sigpipe): New function.
51374         (func_get_automake_snippet, func_modules_transitive_closure,
51375         func_import): Invoke it before a join command that reads from stdin,
51376         to avoid "echo: write error: Broken pipe" error messages on stderr.
51377         Reported by Sam Steingold <sds@gnu.org>.
51378
51379 2008-08-30  Bruno Haible  <bruno@clisp.org>
51380
51381         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
51382         Code copied from m4/open.m4.
51383         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
51384         access and the filename ends in a slash. Code copied from lib/open.c.
51385         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
51386         * tests/test-fopen.c (main): Check against bug with trailing slash.
51387
51388 2008-08-29  Bruno Haible  <bruno@clisp.org>
51389
51390         Avoid some "gcc -pedantic" warnings.
51391         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
51392         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
51393         * lib/dirent.in.h: Likewise.
51394         * lib/fcntl.in.h: Likewise.
51395         * lib/float.in.h: Likewise.
51396         * lib/iconv.in.h: Likewise.
51397         * lib/inttypes.in.h: Likewise.
51398         * lib/locale.in.h: Likewise.
51399         * lib/math.in.h: Likewise.
51400         * lib/netinet_in.in.h: Likewise.
51401         * lib/search.in.h: Likewise.
51402         * lib/signal.in.h: Likewise.
51403         * lib/stdarg.in.h: Likewise.
51404         * lib/stdint.in.h: Likewise.
51405         * lib/stdio.in.h: Likewise.
51406         * lib/stdlib.in.h: Likewise.
51407         * lib/string.in.h: Likewise.
51408         * lib/strings.in.h: Likewise.
51409         * lib/sys_select.in.h: Likewise.
51410         * lib/sys_socket.in.h: Likewise.
51411         * lib/sys_stat.in.h: Likewise.
51412         * lib/sys_time.in.h: Likewise.
51413         * lib/sysexits.in.h: Likewise.
51414         * lib/time.in.h: Likewise.
51415         * lib/unistd.in.h: Likewise.
51416         * lib/wchar.in.h: Likewise.
51417         * lib/wctype.in.h: Likewise.
51418         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
51419         * modules/fchdir (Makefile.am): Likewise.
51420         * modules/fcntl (Makefile.am): Likewise.
51421         * modules/float (Makefile.am): Likewise.
51422         * modules/iconv_open (Makefile.am): Likewise.
51423         * modules/inttypes (Makefile.am): Likewise.
51424         * modules/locale (Makefile.am): Likewise.
51425         * modules/math (Makefile.am): Likewise.
51426         * modules/netinet_in (Makefile.am): Likewise.
51427         * modules/search (Makefile.am): Likewise.
51428         * modules/signal (Makefile.am): Likewise.
51429         * modules/stdarg (Makefile.am): Likewise.
51430         * modules/stdint (Makefile.am): Likewise.
51431         * modules/stdio (Makefile.am): Likewise.
51432         * modules/stdlib (Makefile.am): Likewise.
51433         * modules/string (Makefile.am): Likewise.
51434         * modules/strings (Makefile.am): Likewise.
51435         * modules/sys_select (Makefile.am): Likewise.
51436         * modules/sys_socket (Makefile.am): Likewise.
51437         * modules/sys_stat (Makefile.am): Likewise.
51438         * modules/sys_time (Makefile.am): Likewise.
51439         * modules/sysexits (Makefile.am): Likewise.
51440         * modules/time (Makefile.am): Likewise.
51441         * modules/unistd (Makefile.am): Likewise.
51442         * modules/wchar (Makefile.am): Likewise.
51443         * modules/wctype (Makefile.am): Likewise.
51444         Reported by Reuben Thomas <rrt@sc3d.org>.
51445
51446 2008-08-29  Bruno Haible  <bruno@clisp.org>
51447
51448         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
51449         any more.
51450
51451 2008-08-29  Simon Josefsson  <simon@josefsson.org>
51452
51453         * MODULES.html.sh (Misc): Add bitrotate.
51454
51455         * modules/bitrotate: New file.
51456
51457         * lib/bitrotate.h: New file.
51458
51459         * modules/bitrotate-tests: New file.
51460
51461         * tests/test-bitrotate.c: New file.
51462
51463         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
51464         on the bitrotate module.
51465
51466         * lib/arctwo.c: Use new bitrotate module.
51467
51468 2008-08-29  Jim Meyering  <meyering@redhat.com>
51469
51470         bootstrap: merge changes from coreutils
51471         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
51472         of copied files.  Remove a kludge, now that this is fixed.
51473         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
51474         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
51475         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
51476
51477 2008-08-29  Bruno Haible  <bruno@clisp.org>
51478
51479         * MODULES.html.sh: Remove --cvs-urls option.
51480
51481 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
51482
51483         maint.mk: adjust to file name change
51484         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
51485
51486 2008-08-28  Jim Meyering  <meyering@redhat.com>
51487
51488         * modules/getndelim2 (License): Relicense to LGPLv2+.
51489         Approved by Richard Stallman for the version of 1995, and by
51490         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
51491
51492 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
51493
51494         * lib/getdelim.c (flockfile, funlockfile): Make all of them
51495         dummy if one is not available.  Do not touch them if
51496         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
51497         (getc_maybe_unlocked): New.
51498         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
51499
51500 2008-08-26  Eric Blake  <ebb9@byu.net>
51501
51502         doc/INSTALL: resync from autoconf
51503         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
51504         (INSTALL_PRELUDE): Delete; this is done more efficiently by
51505         moving...
51506         * install.texi [!autoconf]: ...here.  Resync from autoconf.
51507         * INSTALL: Regenerate.
51508         * INSTALL.ISO: New file.
51509         * INSTALL.UTF-8: Likewise.
51510
51511 2008-08-26  Jim Meyering  <meyering@redhat.com>
51512
51513         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
51514         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
51515         these definitions conditional, so that they may be overridden, too.
51516
51517 2008-08-26  Bruno Haible  <bruno@clisp.org>
51518
51519         Generate INSTALL file variants with prettier quotes.
51520         * doc/Makefile (INSTALL_PRELUDE): New macro.
51521         (INSTALL): Use it.
51522         (INSTALL.ISO, INSTALL.UTF-8): New rules.
51523
51524 2008-08-26  Bruno Haible  <bruno@clisp.org>
51525
51526         Run makeinfo in an English locale.
51527         * doc/Makefile (MAKEINFO): New variable.
51528
51529 2008-08-26  Bruno Haible  <bruno@clisp.org>
51530
51531         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
51532         Suggested by Eric Blake.
51533
51534 2008-08-25  Bruno Haible  <bruno@clisp.org>
51535
51536         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
51537
51538 2008-08-25  Eric Blake  <ebb9@byu.net>
51539
51540         c-stack: test that stack overflow can be caught
51541         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
51542         that platform allows handling stack overflow; at least OS/2 EMX
51543         has sigaltstack, but crashes before transferring control to
51544         handler on stack overflow.
51545         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
51546         check for HAVE_STACK_OVERFLOW_HANDLING.
51547         Reported by Elbert Pol.
51548
51549 2008-08-25  Bruno Haible  <bruno@clisp.org>
51550
51551         * doc/posix-functions/strftime.texi: Fix description of strftime
51552         module.
51553
51554 2008-08-24  Bruno Haible  <bruno@clisp.org>
51555
51556         * tests/uniwidth/test-uc_width2.c: New file.
51557         * tests/uniwidth/test-uc_width2.sh: New file.
51558         * modules/uniwidth/width-tests (Files): Add the new files.
51559         (TESTS): Add uniwidth/test-uc_width2.sh.
51560         (TESTS_ENVIRONMENT): New variable.
51561         (check_PROGRAMS): Add test-uc_width2.
51562         (test_uc_width2_SOURCES): New variable.
51563
51564         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
51565         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
51566         not 0x00AB.
51567         Reported by Alexander V. Lukyanov <lav@netis.ru>.
51568
51569 2008-08-22  Eric Blake  <ebb9@byu.net>
51570
51571         test-lock, test-tls: mention why a test is skipped
51572         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
51573         skipped.
51574         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
51575
51576         count-one-bits: relax license
51577         * modules/count-one-bits (License): Relicense to LGPLv2+.
51578         Suggested by Ludovic Courtès, approved by Ben Pfaff.
51579
51580 2008-08-22  Andreas Schwab  <schwab@suse.de>
51581
51582         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
51583         Remove spurious space in assignment.
51584
51585 2008-08-21  Simon Josefsson  <simon@josefsson.org>
51586
51587         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
51588         Paul Eggert <eggert@CS.UCLA.EDU>.
51589
51590 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
51591
51592         * modules/gettext: Add m4/threadlib.m4.
51593
51594 2008-08-19  Eric Blake  <ebb9@byu.net>
51595
51596         test-c-stack: fix compilation failure on FreeBSD 5.0
51597         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
51598         headers before <sys/resource.h>.
51599         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
51600         the bug.
51601         Reported by Nelson H. F. Beebe.
51602
51603         strverscmp: migrate from "strverscmp.h" to <string.h>
51604         * modules/string (Makefile.am): Add new hooks.
51605         * modules/strverscmp (Files): Remove strverscmp.h.
51606         (Depends-on): Add string.
51607         (configure.ac): Add indicator.
51608         (Include): Mention new header.
51609         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
51610         defaults.
51611         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
51612         results.
51613         * lib/strverscmp.h: Delete.
51614         * lib/string.in.h (strverscmp): Provide declaration, when needed.
51615         * tests/test-strverscmp.c (includes): Adjust client.
51616         * lib/check-version.c (includes): Likewise.
51617         * NEWS: Document the change.
51618
51619         strverscmp: add unit test
51620         * modules/strverscmp-tests: New file.
51621         * tests/test-strverscmp.c: Likewise.
51622
51623 2008-08-19  Simon Josefsson  <simon@josefsson.org>
51624
51625         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
51626         regarding Windows crypto stuff, from Mono.
51627
51628 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
51629
51630         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
51631         if present, for intel RND.  Return error on failures.
51632
51633 2008-08-18  Ben Pfaff  <blp@gnu.org>
51634
51635         gitlog-to-changelog: give better diagnostic for failed pipe-open
51636         * build-aux/gitlog-to-changelog: Improve error message: suggest
51637         that the version of Git may be too old.
51638
51639 2008-08-18  Simon Josefsson  <simon@josefsson.org>
51640
51641         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
51642         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
51643
51644 2008-08-18  Bruno Haible  <bruno@clisp.org>
51645
51646         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
51647         pthread_in_use().
51648
51649 2008-08-18  Bruno Haible  <bruno@clisp.org>
51650
51651         * lib/glthread/threadlib.c: Include <pthread.h>.
51652
51653 2008-08-18  Bruno Haible  <bruno@clisp.org>
51654
51655         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
51656         glthread_recursive_lock_* macros.
51657         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
51658         Fix syntax error.
51659
51660 2008-08-18  Bruno Haible  <bruno@clisp.org>
51661
51662         * lib/glthread/thread.c: Avoid forcing a context switch right after
51663         thread creation.
51664
51665 2008-08-17  Bruno Haible  <bruno@clisp.org>
51666
51667         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
51668         * lib/glthread/thread.h: Provide Win32 specific implementation.
51669         * modules/thread (Files): Add lib/glthread/thread.c.
51670         (Depends-on): Add lock.
51671         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
51672
51673 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51674
51675         New module 'yield'.
51676         * modules/yield: New file.
51677         * lib/glthread/yield.h: New file.
51678         * m4/yield.m4: New file.
51679         * MODULES.html.sh (Multithreading): Add yield.
51680
51681 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51682
51683         New module 'thread'.
51684         * modules/thread: New file.
51685         * lib/glthread/thread.h: New file.
51686         * m4/thread.m4: New file.
51687         * MODULES.html.sh (Multithreading): Add thread.
51688
51689 2008-08-17  Bruno Haible  <bruno@clisp.org>
51690
51691         * lib/glthread/lock.h: Include <stdlib.h> always.
51692         * lib/glthread/tls.h: Likewise.
51693         * lib/glthread/cond.h: Likewise.
51694
51695 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51696
51697         New module 'cond'.
51698         * modules/cond: New file.
51699         * lib/glthread/cond.h: New file.
51700         * lib/glthread/cond.c: New file.
51701         * m4/cond.m4: New file.
51702         * MODULES.html.sh (Multithreading): Add cond.
51703
51704 2008-08-16  Eric Blake  <ebb9@byu.net>
51705
51706         c-stack: fix regression on Irix 5.3 from 2008-06-21
51707         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
51708         sa_sigaction...
51709         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
51710         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
51711         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
51712         * modules/signal (Makefile.am): Use the value.
51713         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
51714         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
51715         * doc/posix-headers/signal.texi (signal.h): Document this
51716         portability issue.
51717         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
51718         Reported by Tom G. Christensen.
51719
51720 2008-08-17  Bruno Haible  <bruno@clisp.org>
51721
51722         New module 'threadlib'.
51723         * modules/threadlib: New file.
51724         * lib/glthread/threadlib.c: New file, extracted from
51725         lib/glthread/lock.c.
51726         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
51727         functions.
51728         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
51729         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
51730         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
51731         macros.
51732         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
51733         (gl_DISABLE_THREADS): Remove macro.
51734         * modules/lock (Files): Remove build-aux/config.rpath.
51735         (Depends-on): Remove havelib. Add threadlib.
51736         (configure.ac-early): Remove section.
51737         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
51738         * modules/tls (Depends-on): Remove lock. Add threadlib.
51739         (Link): New section, copied from threadlib.
51740         * MODULES.html.sh (Multithreading): Add threadlib.
51741
51742 2008-08-14  Bruno Haible  <bruno@clisp.org>
51743
51744         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
51745         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
51746         glthread_rwlock_unlock, glthread_rwlock_destroy,
51747         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
51748         glthread_recursive_lock_destroy): Define as macros always.
51749         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
51750         glthread_lock_lock.
51751         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
51752         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
51753         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
51754         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
51755         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
51756         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
51757         (glthread_recursive_lock_lock_func): Renamed from
51758         glthread_recursive_lock_lock.
51759         (glthread_recursive_lock_unlock_func): Renamed from
51760         glthread_recursive_lock_unlock.
51761         (glthread_recursive_lock_destroy_func): Renamed from
51762         glthread_recursive_lock_destroy.
51763
51764 2008-08-14  Bruno Haible  <bruno@clisp.org>
51765
51766         * lib/glthread/lock.h: Renamed from lib/lock.h.
51767         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
51768         * lib/glthread/tls.h: Renamed from lib/tls.h.
51769         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
51770         * lib/fstrcmp.c: Update includes.
51771         * lib/strsignal.c: Update includes.
51772         * modules/lock (Files, Makefile.am): Update.
51773         (Include): Change to "glthread/lock.h".
51774         * modules/tls (Files, Makefile.am): Update.
51775         (Include): Change to "glthread/tls.h".
51776         * tests/test-lock.c: Update includes.
51777         * tests/test-tls.c: Update includes.
51778         * NEWS: Mention the renamed header files.
51779
51780 2008-08-11  Jim Meyering  <meyering@redhat.com>
51781
51782         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
51783
51784 2008-08-11  Eric Blake  <ebb9@byu.net>
51785
51786         test-c-stack: avoid C99-ism
51787         * tests/test-c-stack.c (main): Fix whitespace, move declaration
51788         before statement.
51789         Reported by Alain Guibert.
51790
51791 2008-08-10  Jim Meyering  <meyering@redhat.com>
51792
51793         ensure that return value of uinttostr et al are not ignored
51794         * lib/inttostr.h (__GNUC_PREREQ): Define.
51795         (__attribute_warn_unused_result__): Define.
51796         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
51797
51798 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
51799
51800         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
51801         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
51802
51803 2008-08-07  Jim Meyering  <meyering@redhat.com>
51804
51805         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
51806
51807         * modules/mkstemp (License): Relicense under LGPLv2+.
51808         * modules/tempname (License): Likewise.
51809
51810 2008-08-06  Bruno Haible  <bruno@clisp.org>
51811
51812         * lib/poll.c (poll): Further micro-optimization.
51813
51814 2008-08-06  Jim Meyering  <meyering@redhat.com>
51815
51816         inet_pton.c: use locale-independent tolower
51817         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
51818         (inet_pton6): Use c_tolower rather than tolower.
51819         * modules/inet_pton (Depends-on): Add c-ctype.
51820
51821 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
51822
51823         * lib/poll.c (poll): Avoid division when timeout is 0, cache
51824         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
51825
51826 2008-08-06  Jim Meyering  <meyering@redhat.com>
51827
51828         * modules/inet_pton (License): Relicense under LGPLv2+.
51829
51830 2008-08-03  Bruno Haible  <bruno@clisp.org>
51831
51832         Additional non-aborting API for lock and tls.
51833         * lib/lock.h: Include <errno.h>.
51834         (glthread_lock_init): New macro/function.
51835         (gl_lock_init): Define as wrapper around glthread_lock_init.
51836         (glthread_lock_lock): New macro/function.
51837         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
51838         (glthread_lock_unlock): New macro/function.
51839         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
51840         (glthread_lock_destroy): New macro/function.
51841         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
51842         (glthread_rwlock_init): New macro/function.
51843         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
51844         (glthread_rwlock_rdlock): New macro/function.
51845         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
51846         (glthread_rwlock_wrlock): New macro/function.
51847         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
51848         (glthread_rwlock_unlock): New macro/function.
51849         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
51850         (glthread_rwlock_destroy): New macro/function.
51851         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
51852         (glthread_recursive_lock_init): New macro/function.
51853         (gl_recursive_lock_init): Define as wrapper around
51854         glthread_recursive_lock_init.
51855         (glthread_recursive_lock_lock): New macro/function.
51856         (gl_recursive_lock_lock): Define as wrapper around
51857         glthread_recursive_lock_lock.
51858         (glthread_recursive_lock_unlock): New macro/function.
51859         (gl_recursive_lock_unlock): Define as wrapper around
51860         glthread_recursive_lock_unlock.
51861         (glthread_recursive_lock_destroy): New macro/function.
51862         (gl_recursive_lock_destroy): Define as wrapper around
51863         glthread_recursive_lock_destroy.
51864         (glthread_once): New macro/function.
51865         (gl_once): Define as wrapper around glthread_once.
51866         Update function declarations.
51867         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
51868         glthread_rwlock_init. Return error code.
51869         (glthread_rwlock_rdlock_multithreaded): Renamed from
51870         glthread_rwlock_rdlock. Return error code.
51871         (glthread_rwlock_wrlock_multithreaded): Renamed from
51872         glthread_rwlock_wrlock. Return error code.
51873         (glthread_rwlock_unlock_multithreaded): Renamed from
51874         glthread_rwlock_unlock. Return error code.
51875         (glthread_rwlock_destroy_multithreaded): Renamed from
51876         glthread_rwlock_destroy. Return error code.
51877         (glthread_recursive_lock_init_multithreaded): Renamed from
51878         glthread_recursive_lock_init. Return error code.
51879         (glthread_recursive_lock_lock_multithreaded): Renamed from
51880         glthread_recursive_lock_lock. Return error code.
51881         (glthread_recursive_lock_unlock_multithreaded): Renamed from
51882         glthread_recursive_lock_unlock. Return error code.
51883         (glthread_recursive_lock_destroy_multithreaded): Renamed from
51884         glthread_recursive_lock_destroy. Return error code.
51885         (glthread_once_call): Make static.
51886         (glthread_once_multithreaded): Renamed from glthread_once.
51887         * lib/tls.h: Include <errno.h>.
51888         (glthread_tls_key_init): New macro/function.
51889         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
51890         (glthread_tls_set): New macro/function.
51891         (gl_tls_set): Define as wrapper around glthread_tls_set.
51892         (glthread_tls_key_destroy): New macro/function.
51893         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
51894         Update function declarations.
51895         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
51896         glthread_tls_get.
51897         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
51898
51899 2008-08-04  Eric Blake  <ebb9@byu.net>
51900
51901         gnumakefile: use space, not TAB, outside of targets
51902         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
51903
51904 2008-08-02  Jim Meyering  <meyering@redhat.com>
51905
51906         getdate.y: avoid locale-dependent date parsing failure
51907         In Turkish locales, getdate would fail to recognize keywords
51908         containing a lowercase "i".  The solution is not to rely on
51909         locale-sensitive case-conversion.
51910         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
51911         (lookup_word): Use c_toupper in place of toupper.
51912         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
51913         Reported by Vefa Bicakci <bicave@superonline.com> in
51914         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
51915         * modules/getdate (Depends-on): Add c-ctype.
51916
51917 2008-08-02  Bruno Haible  <bruno@clisp.org>
51918
51919         * gnulib-tool (func_import): When updating or creating a .gitignore
51920         file, prepend each added line with a slash, and ignore leading slashes
51921         from the existing lines.
51922         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
51923
51924 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51925
51926         Portability fix for GNU make 3.79.1.
51927         * top/GNUmakefile: Avoid 'else COND', which older GNU make
51928         versions do not understand.
51929
51930 2008-08-01  Bruno Haible  <bruno@clisp.org>
51931
51932         Work around bug of HP-UX 10.20 cc with -0.0 literal.
51933         * tests/test-isnanf.h (zero): New variable.
51934         (main): Avoid literal -0.0f.
51935         * tests/test-isnand.h (zero): New variable.
51936         (main): Avoid literal -0.0.
51937         * tests/test-isnanl.h (zero): New variable.
51938         (main): Avoid literal -0.0L.
51939         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
51940         (test_float, test_double, test_long_double): Avoid literals -0.0f,
51941         -0.0, -0.0L.
51942         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
51943         (test_signbitd): Avoid literal -0.0.
51944         (test_signbitl): Avoid literal -0.0L.
51945         * tests/test-ceilf1.c (zero): New variable.
51946         (main): Avoid literal -0.0f.
51947         * tests/test-ceill.c (zero): New variable.
51948         (main): Avoid literal -0.0L.
51949         * tests/test-floorf1.c (zero): New variable.
51950         (main): Avoid literal -0.0f.
51951         * tests/test-floorl.c (zero): New variable.
51952         (main): Avoid literal -0.0L.
51953         * tests/test-roundf1.c (zero): New variable.
51954         (main): Avoid literal -0.0f.
51955         * tests/test-round1.c (zero): New variable.
51956         (main): Avoid literal -0.0.
51957         * tests/test-roundl.c (zero): New variable.
51958         (main): Avoid literal -0.0L.
51959         * tests/test-truncf1.c (zero): New variable.
51960         (main): Avoid literal -0.0f.
51961         * tests/test-trunc1.c (zero): New variable.
51962         (main): Avoid literal -0.0.
51963         * tests/test-truncl.c (zero): New variable.
51964         (main): Avoid literal -0.0L.
51965         * tests/test-frexp.c (zero): New variable.
51966         (main): Avoid literal -0.0.
51967         * tests/test-frexpl.c (zero): New variable.
51968         (main): Avoid literal -0.0L.
51969         * tests/test-ldexpl.c (zero): New variable.
51970         (main): Avoid literal -0.0L.
51971         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
51972         (zerod, zerol): New variables.
51973         (test_function): Avoid literals -0.0, -0.0L.
51974         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
51975         (zerod, zerol): New variables.
51976         (test_function): Avoid literals -0.0, -0.0L.
51977         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
51978         (zerod, zerol): New variables.
51979         (test_function): Avoid literals -0.0, -0.0L.
51980         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
51981         (zerod, zerol): New variables.
51982         (test_function): Avoid literals -0.0, -0.0L.
51983         * tests/test-strtod.c (zero): New variable.
51984         (main): Avoid literal -0.0.
51985         Reported by Jonathan C. Patschke <jp@centtech.com>.
51986
51987 2008-07-31  Jim Meyering  <meyering@redhat.com>
51988
51989         sha256.h: correct definition of SHA224_DIGEST_SIZE
51990         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
51991         Reported by Paulie Pena IV <paulie4@gmail.com>.
51992         Define as 224 / 8, rather than as a literal.
51993         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
51994         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
51995         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
51996
51997 2008-07-31  Bruno Haible  <bruno@clisp.org>
51998
51999         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
52000         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
52001         Reported by Jonathan Patschke <jp@centtech.com>.
52002
52003 2008-07-31  Bruno Haible  <bruno@clisp.org>
52004
52005         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
52006         Reported by Paolo Bonzini <bonzini@gnu.org>.
52007
52008 2008-07-30  Eric Blake  <ebb9@byu.net>
52009
52010         test-strtod: allow compilation without -lm
52011         * tests/test-strtod.c (main): Avoid link dependence on fabs.
52012         Reported by Dennis Clarke <blastwave@gmail.com>.
52013
52014 2008-07-28  Jim Meyering  <meyering@redhat.com>
52015
52016         bootstrap: work also when there are no .po files in po/
52017         * build-aux/bootstrap (update_po_files): Complete the change
52018         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
52019
52020 2008-07-27  Jim Meyering  <meyering@redhat.com>
52021
52022         * users.txt: Add zile.
52023
52024 2008-07-26  Ben Pfaff  <blp@gnu.org>
52025
52026         Add missing dependencies on new m4/exponent[fdl].m4 files.
52027         * modules/isnanf-nolibm: Add m4/exponentf.m4.
52028         * modules/isnand-nolibm: Add m4/exponentd.m4.
52029         * modules/isnanl-nolibm: Add m4/exponentl.m4.
52030         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
52031         m4/isnan[fdl].m4, because the macros actually used moved.
52032         Reported by Jim Meyering.
52033
52034 2008-07-14  Ben Pfaff  <blp@gnu.org>
52035
52036         Add isinf module.
52037         * lib/isinf.c: New file.
52038         * lib/math.in.h: Define isinf macro if we have decided to replace
52039         it.
52040         * m4/isinf.m4: New file.
52041         * m4/math_h.m4: Initialize and substitute variables for isinf
52042         module.
52043         * modules/isinf: New file.
52044         * modules/isinf-tests: New file.
52045         * modules/math: Add substitutions for new module.
52046         * tests/test-isinf.c: New file.
52047         * doc/posix-functions/isinf.texi: Mention new module.
52048         * MODULES.html.sh: Mention new module.
52049
52050 2008-07-14  Ben Pfaff  <blp@gnu.org>
52051
52052         Factor out some macros for use by additional modules.
52053         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
52054         exponentf.m4.
52055         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
52056         exponentd.m4.
52057         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
52058         file exponentl.m4.
52059         * m4/exponentf.m4: New file.
52060         * m4/exponentd.m4: New file.
52061         * m4/exponentl.m4: New file.
52062         * modules/isnanf: Use new file m4/exponentf.m4.
52063         * modules/isnand: Use new file m4/exponentd.m4.
52064         * modules/isnanl: Use new file m4/exponentl.m4.
52065
52066 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
52067
52068         mktime.c: normalize tp->tm_isdst value to -1/0/1.
52069         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
52070         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
52071         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
52072
52073         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
52074         readlink on platforms without PATH_MAX.
52075
52076 2008-07-21  Eric Blake  <ebb9@byu.net>
52077
52078         Warn, not fail, on stale version.
52079         * top/GNUmakefile (_curr-ver): Tone down previous patch.
52080
52081         Don't allow installation with stale devel version number.
52082         * top/GNUmakefile (_is-install-target): New macro.
52083         (_curr-ver): Forbid installation with stale version number.
52084
52085 2008-07-20  Bruno Haible  <bruno@clisp.org>
52086
52087         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
52088         TESTS_ENVIRONMENT.
52089         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
52090
52091 2008-07-20  Bruno Haible  <bruno@clisp.org>
52092
52093         * lib/c-stack.h (c_stack_action): Add documentation.
52094         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
52095
52096 2008-07-20  Bruno Haible  <bruno@clisp.org>
52097
52098         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
52099         * modules/readlink (License): Likewise.
52100
52101 2008-07-17  Eric Blake  <ebb9@byu.net>
52102
52103         * modules/c-stack (Link): Fix typo.
52104
52105         Make c-stack use libsigsegv, when available.
52106         * modules/c-stack (Depends-on): Add libsigsegv.
52107         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
52108         needed.
52109         * lib/c-stack.c (SIGSTKSZ): Define fallback.
52110         (segv_handler, overflow_handler, c_stack_action)
52111         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
52112         implementation when libsigsegv is available, but only when using
52113         the library is necessary.
52114         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
52115         comment, explaining why XSI check fails on Linux.
52116         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
52117         * tests/test-c-stack2.sh: Tweak skip message.
52118         * NEWS: Document new link-time requirements.
52119
52120 2008-07-16  Eric Blake  <ebb9@byu.net>
52121
52122         c-stack: Expose false positives when not using libsigsegv.
52123         * modules/c-stack-tests (Files): Expand test.
52124         * tests/test-c-stack.c (main): Add means to conditionally trigger
52125         non-overflow SIGSEGV.
52126         * tests/test-c-stack2.sh: New file.
52127
52128 2008-07-14  Bruno Haible  <bruno@clisp.org>
52129
52130         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
52131         Reported by Eric Blake.
52132
52133 2008-07-14  Sam Steingold  <sds@gnu.org>
52134             Bruno Haible  <bruno@clisp.org>
52135
52136         New module libsigsegv.
52137         * modules/libsigsegv: New file.
52138         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
52139         modifications.
52140         * MODULES.html.sh (Signal handling): New section.
52141
52142 2008-07-14  Bruno Haible  <bruno@clisp.org>
52143
52144         * modules/unictype/ctype-* (Description): Add the word "function".
52145         Improves the resulting doc in MODULES.html.
52146
52147 2008-07-12  Ben Pfaff  <blp@gnu.org>
52148
52149         Add longlong module.
52150         * modules/longlong: New file.
52151
52152 2008-07-12  Bruno Haible  <bruno@clisp.org>
52153
52154         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
52155         to empty.
52156
52157 2008-07-10  Ben Pfaff  <blp@gnu.org>
52158
52159         Add isnan module.
52160         * doc/posix-functions/isnan.texi: Mention new module.
52161         * lib/math.in.h: Define isnan macro if we have decided to replace
52162         it.
52163         * m4/isnan.m4: New file.
52164         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
52165         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
52166         also.
52167         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
52168         redundancy.
52169         * m4/math_h.m4: Initialize and substitute variables for isnan
52170         module.
52171         * modules/isnan: New file.
52172         * modules/isnan-tests: New file.
52173         * modules/math: Add substitutions for new module.
52174         * tests/test-isnan.c: New file.
52175         * MODULES.html.sh: Mention new module.
52176
52177 2008-07-10  Ben Pfaff  <blp@gnu.org>
52178
52179         Add isnanf module.
52180         * lib/isnanf.m4: New file.
52181         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
52182         (gl_HAVE_ISNANF_IN_LIBM): New macro.
52183         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
52184         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
52185         * modules/isnanf: New file.
52186         * modules/isnanf-tests: New file.
52187         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
52188         files.
52189         * tests/test-isnanf-nolibm.c: factored most of its contents into
52190         new file tests/test-isnanf.h.
52191         * tests/test-isnanf.h: New file.
52192         * tests/test-isnanf.c: New file.
52193         * MODULES.html.sh: Mention new module.
52194         * doc/glibc-functions/isnanf.texi: Mention new module.
52195
52196 2008-07-10  Ben Pfaff  <blp@gnu.org>
52197
52198         Add isnand module.
52199         * lib/isnand.h: New file.
52200         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
52201         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
52202         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
52203         functionality also.
52204         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
52205         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
52206         (gl_HAVE_ISNAND_IN_LIBM): New macro.
52207         * modules/isnand: New file.
52208         * modules/isnand-tests: New file.
52209         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
52210         files.
52211         * tests/test-isnand-nolibm.c: factored most of its contents into
52212         new file tests/test-isnand.h.
52213         * tests/test-isnand.h: New file.
52214         * tests/test-isnand.c: New file.
52215         * MODULES.html.sh: Mention new module.
52216
52217 2008-07-10  Ben Pfaff  <blp@gnu.org>
52218
52219         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
52220         * lib/isnand.h: Rename lib/isnand-nolibm.h.
52221         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
52222         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
52223         * modules/isnanf-nolibm: Update references to renamed files.
52224         * modules/isnand-nolibm: Likewise.
52225         * modules/isnanf-nolibm-tests: Likewise.
52226         * modules/isnand-nolibm-tests: Likewise.
52227         * lib/frexp.c: Likewise.
52228         * lib/isfinite.c: Likewise.
52229         * lib/signbitd.c: Likewise.
52230         * lib/signbitf.c: Likewise.
52231         * lib/vasnprintf.c: Likewise.
52232         * tests/test-ceilf1.c: Likewise.
52233         * tests/test-ceilf2.c: Likewise.
52234         * tests/test-floorf1.c: Likewise.
52235         * tests/test-floorf2.c: Likewise.
52236         * tests/test-frexp.c: Likewise.
52237         * tests/test-round1.c: Likewise.
52238         * tests/test-round2.c: Likewise.
52239         * tests/test-roundf1.c: Likewise.
52240         * tests/test-strtod.c: Likewise.
52241         * tests/test-trunc1.c: Likewise.
52242         * tests/test-trunc2.c: Likewise.
52243         * tests/test-truncf1.c: Likewise.
52244         * tests/test-truncf2.c: Likewise.
52245         * NEWS: Mention the renamed header files.
52246
52247 2008-07-11  Jim Meyering  <meyering@redhat.com>
52248
52249         vc-list-files: make the last-resort awk code more portable
52250         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
52251         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
52252         does not support it.
52253
52254 2008-07-10  Eric Blake  <ebb9@byu.net>
52255
52256         Work with tar's bootstrap.
52257         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
52258         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
52259         an m4 comment.
52260
52261 2008-07-09  Jim Meyering  <meyering@redhat.com>
52262
52263         posix-shell.m4: fix typo that made this test malfunction
52264         * m4/posix-shell.m4: Remove capitalization in variable name.
52265
52266 2008-07-08  Bruno Haible  <bruno@clisp.org>
52267
52268         * m4/onceonly.m4: Update comments.
52269         Reported by Ben Pfaff <blp@cs.stanford.edu>.
52270
52271 2008-07-04  Jim Meyering  <meyering@redhat.com>
52272
52273         * users.txt: Add vc-dwim.
52274         (bison, coreutils): Use the gitweb URL.
52275
52276 2008-07-03  Jim Meyering  <meyering@redhat.com>
52277
52278         * users.txt: Add libffcall.  From Sam Steingold.
52279
52280 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
52281
52282         getdate.y: do not ignore TZ with relative day, month or year offset
52283         * lib/getdate.y (get_date): Move the tz-handling block to follow the
52284         relative-date-handling, since otherwise, the latter would clobber the
52285         sole output (an updated Start value) of the tz-handling block.
52286         * tests/test-getdate.c: Tests for the fix
52287
52288 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52289
52290         Recognize 'foo_LIBRARIES += libgnu.a'.
52291         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
52292         makefile snippet has already specified an installation location,
52293         also using '+='.
52294
52295 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
52296
52297         getdate.y: factor out common actions
52298         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
52299         Use them in place of open-coded actions.
52300
52301 2008-07-01  Simon Josefsson  <simon@josefsson.org>
52302
52303         Add self-test for getdate module.
52304         * modules/getdate-tests: New file.
52305         * tests/test-getdate.c: New file.
52306
52307 2008-06-29  Bruno Haible  <bruno@clisp.org>
52308
52309         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
52310         .gitignore.
52311         Reported by Sylvain Beucler <beuc@beuc.net>.
52312
52313 2008-06-29  Bruno Haible  <bruno@clisp.org>
52314
52315         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
52316         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
52317
52318 2008-06-29  Bruno Haible  <bruno@clisp.org>
52319
52320         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
52321         EXTRA_DIST.
52322         Reported by Sylvain Beucler <beuc@beuc.net>.
52323
52324 2008-06-26  Jim Meyering  <meyering@redhat.com>
52325
52326         make several modules depend on the "open" module
52327         This provides slightly increased consistency when opening-for-write
52328         the name of a non-directory spelled with a trailing slash.
52329         * modules/chdir-safer: Likewise.
52330         * modules/chown: Likewise.
52331         * modules/clean-temp: Likewise.
52332         * modules/copy-file: Likewise.
52333         * modules/fchdir: Likewise.
52334         * modules/fcntl-safer: Likewise.
52335         * modules/pipe: Likewise.
52336         * modules/utime: Likewise.
52337         Prompted by Eric Blake and Bruno Haible.
52338
52339 2008-06-24  Andreas Schwab  <schwab@suse.de>
52340
52341         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
52342         literals can be used as initializers for global variables.
52343
52344 2008-06-23  Eric Blake  <ebb9@byu.net>
52345
52346         Make gnulib-cache.m4 easier to diff.
52347         * gnulib-tool (func_import): Allow newlines when reading cached
52348         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
52349
52350 2008-06-23  Bruno Haible  <bruno@clisp.org>
52351
52352         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
52353         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
52354         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
52355         m4/signalblocking.m4.
52356         (gl_PREREQ_SIGACTION): Don't invoke it.
52357         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
52358         gl_PREREQ_SIG_HANDLER_H.
52359         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
52360         Don't check for sigaction here.
52361
52362 2008-06-23  Bruno Haible  <bruno@clisp.org>
52363
52364         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
52365         (install_handlers): Don't set the SA_RESETHAND flag.
52366
52367 2008-06-23  Bruno Haible  <bruno@clisp.org>
52368
52369         * m4/sigaction.m4: Comment fixes.
52370         * lib/signal.in.h: Likewise.
52371
52372 2008-06-23  Eric Blake  <ebb9@byu.net>
52373
52374         Fix typo.
52375         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
52376
52377         Avoid SA_ namespace.
52378         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
52379         Reported by Ralf Wildenhues.
52380
52381         Avoid test failure due to SA_RESTORER.
52382         * tests/test-sigaction.c (SA_MASK): New macro.
52383         (main): Avoid failing due to extension flags being set.
52384         Reported by Jim Meyering.
52385
52386         Revert use of sig-handler.h in sigprocmask.c.
52387         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
52388         it requires the existence of struct sigaction.
52389         * lib/sigprocmask.c (handler_t): Restore typedef.
52390         (rpl_signal, old_handlers): Use local type.
52391
52392 2008-06-22  Bruno Haible  <bruno@clisp.org>
52393
52394         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
52395         conditionally.
52396         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
52397
52398 2008-06-22  Bruno Haible  <bruno@clisp.org>
52399
52400         * doc/posix-functions/siginterrupt.texi: Move note.
52401
52402         * lib/signal.in.h (SA_RESTART): New macro.
52403         * lib/sigaction.c: Update comment.
52404
52405         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
52406
52407         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
52408         (gl_PREREQ_SIGPROCMASK): Invoke it.
52409         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
52410
52411         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
52412
52413         * lib/sigprocmask.c: Update a comment.
52414
52415 2008-06-21  Eric Blake  <ebb9@byu.net>
52416
52417         Use sigaction module rather than signal().
52418         * modules/c-stack (Depends-on): Add sigaction.
52419         * modules/fatal-signal (Depends-on): Likewise.
52420         * modules/nanosleep (Depends-on): Likewise.
52421         * modules/sigprocmask (Files): Add sig-handler.h.
52422         * modules/sigaction (Files): Likewise.
52423         * lib/sig-handler.h (get_handler): New file, suggested by Paul
52424         Eggert.
52425         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
52426         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
52427         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
52428         (init_fatal_signals): Likewise.
52429         * lib/nanosleep.c (rpl_nanosleep): Likewise.
52430         (siginterrupt): Delete fallback.
52431         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
52432         instead.
52433         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
52434         siginterrupt.
52435
52436         New module sigaction, for mingw.
52437         * modules/sigaction: New module...
52438         * modules/sigaction-tests: ...and its test.
52439         * m4/sigaction.m4: New file.
52440         * lib/sigaction.c: Likewise.
52441         * tests/test-sigaction.c: Likewise.
52442         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
52443         * modules/signal (Makefile.am): Likewise.
52444         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
52445         needed.
52446         * doc/posix-headers/signal.texi (signal.h): Mention provided
52447         types.
52448         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
52449         that sigaction is preferable.
52450         * doc/posix-functions/sigaction.texi (sigaction): Mention new
52451         module.
52452         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
52453         sigaction.
52454
52455         Improve robustness of sigprocmask by overriding signal.
52456         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
52457         is in use.
52458         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
52459         (SIGKILL, SIGSTOP): Provide fallbacks.
52460         (rpl_signal): Implement.
52461         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
52462         signal can be called inside handlers.
52463
52464         Fix nanosleep module on mingw.
52465         * modules/nanosleep (Depends-on): Add sys_select.
52466         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
52467
52468         Fix licensing of sigprocmask.
52469         * modules/raise (License): Relicense as LGPL.
52470
52471 2008-06-21  Bruno Haible  <bruno@clisp.org>
52472
52473         * lib/propername.c (proper_name_utf8): Don't use the transliterated
52474         result if it contains question marks.
52475         Reported by Michael Geng <linux@michaelgeng.de>.
52476
52477 2008-06-19  Bruno Haible  <bruno@clisp.org>
52478
52479         Fix CVS-ism.
52480         * doc/gnulib.texi: Include updated-stamp.texi.
52481         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
52482         (updated-stamp.texi): New rule.
52483         (gnulib.info): Depend on it.
52484         * doc/.gitignore: Add updated-stamp.texi.
52485         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
52486
52487 2008-06-19  Bruno Haible  <bruno@clisp.org>
52488
52489         * doc/Makefile (gnulib.info): Update and simplify dependencies.
52490         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
52491
52492 2008-06-19  Eric Blake  <ebb9@byu.net>
52493
52494         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
52495         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
52496         Reported by Stepan Kasal.
52497
52498 2008-06-18  Bruno Haible  <bruno@clisp.org>
52499
52500         * lib/fatal-signal.c (init_fatal_signals): Add comment.
52501         Reported by Eric Blake.
52502
52503 2008-06-18  Eric Blake  <ebb9@byu.net>
52504
52505         Work around cygwin 1.5.25 strsignal bug.
52506         * tests/test-strsignal.c: Allow for const char *.
52507         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
52508
52509 2008-06-18  Simon Josefsson  <simon@josefsson.org>
52510
52511         * users.txt: Update URL to article and add author/date
52512         information.
52513
52514 2008-06-17  Bruno Haible  <bruno@clisp.org>
52515
52516         New macro gl_DISABLE_THREADS.
52517         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
52518         if the user did not pass --enable-threads or --disable-threads option.
52519         (gl_DISABLE_THREADS): New macro.
52520         Reported by Eric Blake <ebb9@byu.net>.
52521
52522 2008-06-17  Bruno Haible  <bruno@clisp.org>
52523
52524         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
52525         when the macro ignores it.
52526         Based on a patch by Eric Blake <ebb9@byu.net>.
52527
52528 2008-06-17  Bruno Haible  <bruno@clisp.org>
52529
52530         * modules/tls (License): Change to LGPLv2+.
52531         Reported by Eric Blake.
52532
52533 2008-06-17  Eric Blake  <ebb9@byu.net>
52534
52535         Simplify c-stack prerequisites.
52536         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
52537         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
52538         no longer requires <ucontext.h> to exist.  Optimize setrlimit
52539         check.
52540         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
52541         <sys/resource.h>.
52542
52543         Move c-stack test into testsuite.
52544         * modules/c-stack-tests: New file.
52545         * lib/c-stack.c [DEBUG]: Move test program...
52546         * tests/test-c-stack.c: ...into this new file.  Skip rather than
52547         fail test if sigaltstack is lacking.
52548         * tests/test-c-stack.sh: New driver file.
52549
52550 2008-06-16  Eric Blake  <ebb9@byu.net>
52551
52552         Use raise module consistently.
52553         * modules/fatal-signal (Depends-on): Add raise.
52554         * modules/sigprocmask (Depends-on): Likewise.
52555         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
52556         * lib/sigprocmask.c (sigprocmask): Likewise.
52557         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
52558         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
52559
52560         Fix compliance bug in sigpending.
52561         * lib/sigprocmask.c (sigpending): Return pending array via
52562         parameter, not return value.
52563
52564 2008-06-14  Eric Blake  <ebb9@byu.net>
52565
52566         Improve obstack-printf test code.
52567         * tests/test-obstack-printf.c (test_function): Fix comment, and
52568         simplify usage of obstack_* in macros.  Add a test for coverage.
52569         Reported by Bruno Haible.
52570
52571 2008-06-14  Bruno Haible  <bruno@clisp.org>
52572
52573         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
52574         array size as a constant, not as a const variable.
52575         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
52576         AC_USE_SYSTEM_EXTENSIONS.
52577         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
52578         Test whether the obstack_printf function actually exists.
52579         * modules/obstack-printf (Depends-on): Add extensions.
52580         (Include): Remove obstack.h.
52581         * modules/obstack-printf-posix (Depends-on): Add extensions.
52582         (Include): Remove obstack.h.
52583
52584 2008-06-13  Eric Blake  <ebb9@byu.net>
52585
52586         Add obstack-printf and obstack-printf-posix modules.
52587         * modules/obstack-printf: New file.
52588         * modules/obstack-printf-posix: Likewise.
52589         * MODULES.html.sh (Misc): Mention them.
52590         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
52591         Likewise.
52592         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
52593         Likewise.
52594         * modules/stdio (Makefile.am): Accomodate new modules.
52595         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
52596         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
52597         Declare.
52598         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
52599         functions.
52600         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
52601         (gl_REPLACE_OBSTACK_PRINTF): New macros
52602         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
52603         * tests/test-obstack-printf.c: New file.
52604         * modules/obstack-printf-tests: Likewise.
52605         * modules/obstack-printf-posix-tests: Likewise.
52606
52607 2008-06-11  Bruno Haible  <bruno@clisp.org>
52608
52609         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
52610         * lib/open.c: Include errno.h.
52611         (open): Fail when attempting to write to a file that has a trailing
52612         slash.
52613         * tests/test-open.c (main): Test against trailing slash bug.
52614         * doc/posix-functions/open.texi: Mention the trailing slash bug.
52615
52616 2008-06-10  Bruno Haible  <bruno@clisp.org>
52617
52618         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
52619         for $? to work inside the trap command, with various /bin/sh-s.
52620         * tests/test-vc-list-files-cvs.sh: Likewise.
52621
52622 2008-06-10  Bruno Haible  <bruno@clisp.org>
52623
52624         * lib/acl-internal.h: Don't include gettext.h here.
52625         * lib/set-mode-acl.c: Include gettext.h here.
52626         * lib/copy-acl.c: Likewise.
52627
52628 2008-06-10  Bruno Haible  <bruno@clisp.org>
52629
52630         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
52631         * lib/wait-process.c (wait_subprocess): Likewise.
52632         * lib/execute.h (execute): Add termsigp argument.
52633         * lib/execute.c (execute): Likewise.
52634         * lib/csharpcomp.c (compile_csharp_using_pnet,
52635         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
52636         * lib/csharpexec.c (execute_csharp_using_pnet,
52637         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
52638         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
52639         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
52640         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
52641         is_jikes_present): Update.
52642         * lib/javaexec.c (execute_java_class): Update.
52643         * lib/javaversion.c (execute_and_read_line): Update.
52644         * NEWS: Document the changes.
52645         Reported by Eric Blake.
52646
52647 2008-06-10  Eric Blake  <ebb9@byu.net>
52648
52649         Add missing include.
52650         * tests/test-strstr.c (includes): Add <signal.h>.
52651         * tests/test-strcasestr.c (includes): Likewise.
52652         * tests/test-memmem.c (includes): Likewise.
52653
52654 2008-06-10  Bruno Haible  <bruno@clisp.org>
52655
52656         * lib/wait-process.c (wait_subprocess): Add an assertion.
52657
52658 2008-06-10  Bruno Haible  <bruno@clisp.org>
52659
52660         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
52661
52662 2008-06-10  Bruno Haible  <bruno@clisp.org>
52663
52664         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
52665         using alarm().
52666         * tests/test-strcasestr.c (main): Likewise.
52667         * tests/test-strstr.c (main): Likewise.
52668
52669 2008-06-09  Bruno Haible  <bruno@clisp.org>
52670
52671         Work around the Solaris 10 ACE ACLs ABI change.
52672         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
52673         declare if ACL_NO_TRIVIAL is present.
52674         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
52675         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
52676         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
52677         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
52678         define if ACL_NO_TRIVIAL is present.
52679         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
52680         and use the current ABI.
52681         (file_has_acl): Use same #if condition as elsewhere.
52682         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
52683         in use, and use the current ABI.
52684         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
52685         Reported by Jim Meyering.
52686
52687 2008-06-09  Eric Blake  <ebb9@byu.net>
52688
52689         Work around environments that (stupidly) ignore SIGALRM.
52690         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
52691         before using alarm().
52692         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
52693         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
52694         Reported by Ian Beckwith <ianb@erislabs.net>.
52695
52696         Produce autobuild blurb earlier in log.
52697         * modules/autobuild (configure.ac-early): Move AB_INIT here.
52698
52699 2008-06-09  Jim Meyering  <meyering@redhat.com>
52700         and OndÅ™ej Vašík  <ovasik@redhat.com>
52701
52702         utimens.c: correct kernel bug work-around
52703         OndÅ™ej Vašík found that the invalid return value of 280 indicates
52704         failure, not success, and the kernel bug we're trying to work
52705         around affects not just the utimensat call, but also the fallback
52706         futimens call.
52707         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
52708         not success.
52709         [HAVE_FUTIMENS]: Use the same work-around, here.
52710
52711 2008-06-09  Jim Meyering  <meyering@redhat.com>
52712
52713         add more guards around definition of ACE_-related code
52714         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
52715         ALLOW and ACE_OWNER are also defined.
52716
52717 2008-06-08  Bruno Haible  <bruno@clisp.org>
52718
52719         * lib/acl-internal.h: Add me as co-author.
52720         * lib/file-has-acl.c: Likewise.
52721         * lib/set-mode-acl.c: Likewise.
52722         * lib/copy-acl.c: Likewise.
52723
52724 2008-06-08  Bruno Haible  <bruno@clisp.org>
52725
52726         Add support for AIX ACLs.
52727         * lib/acl-internal.h (acl_nontrivial): New declaration.
52728         * lib/file-has-acl.c (acl_nontrivial): New function.
52729         (file_has_acl): Add implementation using AIX 4 ACL API.
52730         * lib/set-mode-acl.c (qset_acl): Likewise.
52731         * lib/copy-acl.c (qcopy_acl): Likewise.
52732
52733 2008-06-08  Bruno Haible  <bruno@clisp.org>
52734
52735         Add support for HP-UX ACLs.
52736         * lib/acl-internal.h (acl_nontrivial): New declaration.
52737         * lib/file-has-acl.c (acl_nontrivial): New function.
52738         (file_has_acl): Add implementation using HP-UX 11 ACL API.
52739         * lib/set-mode-acl.c (qset_acl): Likewise.
52740         * lib/copy-acl.c (qcopy_acl): Likewise.
52741
52742 2008-06-08  Bruno Haible  <bruno@clisp.org>
52743
52744         Add support for Cygwin ACLs.
52745         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
52746         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
52747         the chmod_or_fchmod call.
52748         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
52749
52750 2008-06-08  Bruno Haible  <bruno@clisp.org>
52751
52752         Fix bug with setuid modes in Solaris 10+ code.
52753         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
52754         succeeded, when the mode contains some special bits.
52755
52756 2008-06-08  Bruno Haible  <bruno@clisp.org>
52757
52758         Add support for Solaris 7..10 ACLs.
52759         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
52760         declarations.
52761         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
52762         functions.
52763         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
52764         * lib/set-mode-acl.c (qset_acl): Likewise.
52765         * lib/copy-acl.c (qcopy_acl): Likewise.
52766
52767 2008-06-08  Bruno Haible  <bruno@clisp.org>
52768
52769         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
52770         declaration.
52771         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
52772         (acl_access_nontrivial): Remove MacOS X case.
52773         (file_has_acl): Use acl_extended_nontrivial.
52774         * lib/copy-acl.c (qcopy_acl): Likewise.
52775
52776 2008-06-08  Bruno Haible  <bruno@clisp.org>
52777
52778         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
52779
52780 2008-06-08  Jim Meyering  <meyering@redhat.com>
52781
52782         * modules/acl (Maintainer): Add Bruno Haible.
52783
52784 2008-06-07  Bruno Haible  <bruno@clisp.org>
52785
52786         Improve support for Tru64 ACLs.
52787         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
52788         ACL on OSF/1.
52789
52790 2008-06-07  Bruno Haible  <bruno@clisp.org>
52791
52792         Add support for MacOS X ACLs.
52793         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
52794         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
52795         * lib/set-mode-acl.c (qset_acl): Likewise.
52796         * lib/copy-acl.c (qcopy_acl): Likewise.
52797
52798 2008-06-07  Bruno Haible  <bruno@clisp.org>
52799
52800         Fix memory leak introduced on 2008-05-22.
52801         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
52802         use.
52803
52804 2008-06-07  Bruno Haible  <bruno@clisp.org>
52805
52806         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
52807         to construct an empty ACL.
52808
52809 2008-06-07  Bruno Haible  <bruno@clisp.org>
52810
52811         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
52812         precisely.
52813         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
52814
52815 2008-06-07  Bruno Haible  <bruno@clisp.org>
52816
52817         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
52818         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
52819
52820 2008-06-07  Bruno Haible  <bruno@clisp.org>
52821
52822         * doc/posix-functions/_setjmp.texi: Explain the use of this function
52823         regardless of POSIX.
52824         * doc/posix-functions/_longjmp.texi: Likewise.
52825         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
52826         SystemV platform in this case.
52827
52828 2008-06-06  Eric Blake  <ebb9@byu.net>
52829
52830         Document abort() bugs.
52831         * doc/posix-functions/abort.texi (abort): Mention anomalies.
52832
52833         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
52834         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
52835         sigsetjmp.
52836         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
52837         siglongjmp, but only as a macro.
52838         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
52839         is obsolete.
52840         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
52841
52842         Tweak documentation to cover cygwin argz bugs.
52843         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
52844         argz bug fix; no code change needed since no cygwin releases
52845         occurred between the last fix and the bug being tested.
52846         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
52847         module and recently fixed cygwin bugs.
52848         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
52849         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
52850         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
52851         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
52852         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
52853         Likewise.
52854         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
52855         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
52856         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
52857         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
52858         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
52859         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
52860         Likewise.
52861
52862         Avoid gcc warning on cygwin.
52863         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
52864         !ACL_NO_TRIVIAL]: Avoid unused variable.
52865
52866 2008-06-05  Eric Blake  <ebb9@byu.net>
52867
52868         Be tolerant of UNKNOWN version in gnulib-tool test dir.
52869         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
52870         git-version-gen fails to come up with a version.
52871         Reported by Simon Josefsson.
52872
52873 2008-06-05  Jim Meyering  <meyering@redhat.com>
52874             Paul Eggert  <eggert@cs.ucla.edu>
52875
52876         utimens.c: work around a probable Linux kernel bug
52877         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
52878         appears to be a kernel bug that causes utimensat to return 280
52879         instead of 0, indicating success.
52880
52881 2008-06-04  Bruno Haible  <bruno@clisp.org>
52882
52883         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
52884         2008-06-01 commit.
52885
52886 2008-06-04  Bruno Haible  <bruno@clisp.org>
52887
52888         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
52889         * lib/file-has-acl.c (acl_access_nontrivial): New function.
52890         (file_has_acl): Use it. Save errno afterwards.
52891         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
52892
52893 2008-06-03  Bruno Haible  <bruno@clisp.org>
52894
52895         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
52896         draft code. Simplify #ifs.
52897         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
52898         Put Solaris code after POSIX-draft code. Fix comments regarding
52899         Solaris 10, HP-UX. Mention Cygwin.
52900         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
52901
52902 2008-06-03  Eric Blake  <ebb9@byu.net>
52903
52904         Provide fallback for older kernels.
52905         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
52906         Provide runtime fallback if kernel lacks support.
52907         Reported by Mike Frysinger.
52908
52909 2008-06-02  Bruno Haible  <bruno@clisp.org>
52910
52911         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
52912         it exists.
52913
52914 2008-06-02  Bruno Haible  <bruno@clisp.org>
52915
52916         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
52917         * lib/copy-acl.c (qcopy_acl): Update comment.
52918
52919 2008-06-02  Bruno Haible  <bruno@clisp.org>
52920
52921         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
52922         like ACL APIs.
52923
52924 2008-06-02  Bruno Haible  <bruno@clisp.org>
52925
52926         * tests/test-file-has-acl.sh: Use different code for Cygwin.
52927         * tests/test-set-mode-acl.sh: Likewise.
52928         * tests/test-copy-acl.sh: Likewise.
52929         * tests/test-copy-file.sh: Likewise.
52930
52931 2008-06-02  Bruno Haible  <bruno@clisp.org>
52932
52933         * tests/test-file-has-acl.sh: Remove unused code.
52934
52935 2008-06-01  Bruno Haible  <bruno@clisp.org>
52936
52937         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
52938         (copy_acl): Just a wrapper around qcopy_acl that emits the error
52939         messages.
52940         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
52941
52942 2008-06-01  Bruno Haible  <bruno@clisp.org>
52943
52944         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
52945         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
52946         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
52947         APIs.
52948         * modules/acl-tests (configure.ac): Remove tests now contained in
52949         m4/acl.m4.
52950
52951 2008-06-02  Jim Meyering  <meyering@redhat.com>
52952
52953         announce-gen: use a better key-server host name
52954         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
52955         it may be more consistently reliable.  Suggested by Werner Koch
52956         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
52957
52958 2008-06-01  Bruno Haible  <bruno@clisp.org>
52959
52960         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
52961         Reported by Voroskoi Andras <voroskoi@gmail.com>.
52962
52963 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
52964
52965         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
52966
52967 2008-06-01  Bruno Haible  <bruno@clisp.org>
52968
52969         New ACL tests.
52970         * tests/test-file-has-acl.sh: New file.
52971         * tests/test-file-has-acl.c: New file.
52972         * tests/test-set-mode-acl.sh: New file.
52973         * tests/test-set-mode-acl.c: New file.
52974         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
52975         * tests/test-copy-acl.c: New file.
52976         * modules/acl-tests: New file, based on modules/copy-file-tests.
52977         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
52978         (Depends-on): Add acl-tests.
52979         (configure.ac): Remove checks.
52980         (Makefile.am): Don't create test-sameacls program here any more.
52981
52982 2008-06-01  Bruno Haible  <bruno@clisp.org>
52983
52984         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
52985         * tests/test-sameacls.c: Include progname.h.
52986         (main): Invoke set_program_name. Portability fixes for MacOS X,
52987         Solaris, HP-UX.
52988
52989 2008-06-01  Bruno Haible  <bruno@clisp.org>
52990
52991         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
52992         function.
52993         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
52994
52995 2008-06-01  Bruno Haible  <bruno@clisp.org>
52996
52997         * modules/rpmatch (Depends-on): Add strdup.
52998
52999 2008-06-01  Bruno Haible  <bruno@clisp.org>
53000
53001         * lib/pipe.c: Include unistd-safer.h.
53002         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
53003         * modules/pipe (Depends-on): Add unistd-safer.
53004
53005 2008-05-30  Simon Josefsson  <simon@josefsson.org>
53006
53007         * modules/autobuild (configure.ac): Call AB_INIT.
53008
53009 2008-05-30  Simon Josefsson  <simon@josefsson.org>
53010
53011         * tests/test-getaddrinfo.c: Don't print debug messages by default.
53012         Suggested by Bruno Haible <bruno@clisp.org>.
53013
53014 2008-05-30  Simon Josefsson  <simon@josefsson.org>
53015
53016         * tests/test-base64.c: Cast size_t to unsigned long when invoking
53017         printf.  Use %lu instead of %d.  Reported by Bruno Haible
53018         <bruno@clisp.org>.
53019
53020 2008-05-29  Eric Blake  <ebb9@byu.net>
53021
53022         Prefer new POSIX 200x interfaces over futimesat.
53023         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
53024         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
53025         when available.
53026         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
53027
53028 2008-05-28  Bruno Haible  <bruno@clisp.org>
53029
53030         * modules/stpcpy (License): Change to LGPLv2+.
53031         Requested by David Lutterkort <dlutter@redhat.com>.
53032
53033 2008-05-27  Bruno Haible  <bruno@clisp.org>
53034
53035         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
53036         current mingw.
53037         Reported by Jose E. Marchesi <jemarch@gnu.org>.
53038
53039 2008-05-27  Bruno Haible  <bruno@clisp.org>
53040
53041         * modules/iconv_open (Link): New section, from module 'iconv'.
53042         * modules/striconv (Link): Likewise.
53043         * modules/striconveh (Link): Likewise.
53044         * modules/xstriconv (Link): Likewise.
53045         * modules/unicodeio (Link): Likewise.
53046         * modules/propername (Link): Likewise.
53047         Reported by Jim Meyering.
53048
53049 2008-05-26  Jim Meyering  <meyering@redhat.com>
53050
53051         sha256: do not artificially restrict buffer length to be < 2^32
53052         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
53053         uint32_t to size_t.
53054         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
53055         to match.
53056
53057         avoid unaligned access errors, e.g., on sparc
53058         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
53059         direct access through a possibly-unaligned uint64* pointer.
53060         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
53061         direct access through a possibly-unaligned uint32* pointer.
53062         Prompted by this patch from Tom "spot" Callaway:
53063         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
53064
53065         sha512.c: fix typo in comment
53066         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
53067
53068 2008-05-25  Bruno Haible  <bruno@clisp.org>
53069
53070         * lib/set-mode-acl.c: Renamed from lib/acl.c.
53071         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
53072         (Makefile.am): Update lib_SOURCES.
53073
53074 2008-05-25  Bruno Haible  <bruno@clisp.org>
53075
53076         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
53077
53078 2008-05-25  Jim Meyering  <meyering@redhat.com>
53079
53080         useless-if-before-free: freed expr may have white-space differences
53081         * build-aux/useless-if-before-free: Recognize cases in which the
53082         freed expression differs from the tested one in embedded white
53083         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
53084         $1 was used, so we can't make any regexp shy.  Improved tests now
53085         detect this.
53086
53087         useless-if-before-free: accept white space in the expression.
53088         * build-aux/useless-if-before-free: For now, any white space
53089         in the expression must be identical in the free argument.
53090
53091         useless-if-before-free: efficiency tweak
53092         * build-aux/useless-if-before-free: Make the expression-matching
53093         regexp "shy".
53094         Make the *outer* regexp shy, not the expr-matching one.
53095
53096         update code-in-comment to accept cast of free arg
53097         * build-aux/useless-if-before-free: Update regexp.
53098
53099 2008-05-25  Bruno Haible  <bruno@clisp.org>
53100
53101         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
53102         * modules/copy-file-tests (Files, Makefile.am): Update.
53103         * tests/test-copy-file.c (func_test_copy): Update.
53104
53105 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
53106
53107         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
53108
53109 2008-05-23  Bruno Haible  <bruno@clisp.org>
53110
53111         Improve support for ACLs on OSF/1.
53112         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
53113         Remove fallback for unknown flavors of ACLs.
53114
53115 2008-05-22  Bruno Haible  <bruno@clisp.org>
53116
53117         Add support for ACLs on OSF/1.
53118         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
53119         replacements.
53120         (acl_free_text): New macro fallback.
53121         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
53122         acl_free.
53123         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
53124         acl_free_text function. Require AC_C_INLINE.
53125
53126 2008-05-22  Bruno Haible  <bruno@clisp.org>
53127
53128         Make copy_acl work on MacOS X 10.5.
53129         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
53130         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
53131         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
53132         If MODE_INSIDE_ACL, don't assume that every system has the same text
53133         representation for ACLs as FreeBSD.
53134         * lib/copy-acl.c (copy_acl): Add support for platforms with
53135         !MODE_INSIDE_ACL.
53136         * lib/file-has-acl.c (file_has_acl): Likewise.
53137         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
53138         FreeBSD, MacOS X, or IRIX, respectively.
53139
53140 2008-05-22  Bruno Haible  <bruno@clisp.org>
53141
53142         * lib/acl.h: Don't include <sys/acl.h>.
53143         (GETACLCNT): Move fallback to lib/acl-internal.h.
53144         * lib/acl-internal.h: Include <sys/acl.h> here.
53145         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
53146
53147 2008-05-22  Bruno Haible  <bruno@clisp.org>
53148
53149         Split off copy_acl function to separate file.
53150         * lib/copy-acl.c: New file, extracted from lib/acl.c.
53151         * lib/acl.c (copy_acl): Moved function to separate file.
53152         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
53153         * modules/acl (Files): Add lib/copy-acl.c.
53154         (Makefiles.am): Augment lib_SOURCES.
53155
53156 2008-05-22  Bruno Haible  <bruno@clisp.org>
53157
53158         * modules/copy-file-tests: New file.
53159         * tests/test-copy-file.sh: New file.
53160         * tests/test-copy-file.c: New file.
53161         * tests/test-copy-file-sameacls.c: New file.
53162
53163 2008-05-22  Eric Blake  <ebb9@byu.net>
53164
53165         Avoid gcc warning.
53166         * tests/test-memcmp.c (main): Pass NULL indirectly.
53167
53168 2008-05-21  Bruno Haible  <bruno@clisp.org>
53169
53170         Add reference doc about ACLs.
53171         * doc/acl-resources.txt: New file.
53172         * doc/acl-cygwin.txt: New file.
53173
53174 2008-05-21  Bruno Haible  <bruno@clisp.org>
53175
53176         Avoid one more warning from gcc.
53177         * lib/vasnprintf.c (IF_LINT): Update comments.
53178         (VASNPRINTF): Use it also for the 'prefix' array initializer.
53179
53180 2008-05-21  Jim Meyering  <meyering@redhat.com>
53181
53182         avoid a warning from gcc
53183         * lib/vasnprintf.c (IF_LINT): Define.
53184         (scale10_round_decimal_long_double):
53185         Use it to avoid a "may be used uninitialized" warning.
53186         (scale10_round_decimal_double): Likewise.
53187
53188 2008-05-21  Simon Josefsson  <simon@josefsson.org>
53189
53190         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
53191         declared.
53192
53193 2008-05-20  Bruno Haible  <bruno@clisp.org>
53194
53195         * tests/test-memcmp.c (main): Test also the sign of the result. Test
53196         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
53197
53198 2008-05-20  Simon Josefsson  <simon@josefsson.org>
53199
53200         * modules/memcmp-tests: New file.
53201         * tests/test-memcmp.c: New file.
53202
53203 2008-05-19  Bruno Haible  <bruno@clisp.org>
53204
53205         * modules/propername (Notice, configure.ac): Put quoted "..." into
53206         --keyword option.
53207         * lib/propername.h: Update comments accordingly.
53208         Reported by Eric Blake.
53209
53210 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
53211
53212         * modules/getpass-gnu (Depends-on): Add fseeko.
53213
53214 2008-05-19  Simon Josefsson  <simon@josefsson.org>
53215
53216         * modules/base64-tests: New file.
53217
53218 2008-05-19  Bo Borgerson <gigabo@gmail.com>
53219
53220         * lib/base64.c (base64_decode_ctx): If a decode context structure
53221         was passed in use it to ignore newlines.  If a context structure
53222         was _not_ passed in, continue to treat newlines as garbage (this
53223         is the historical behavior).  Formerly base64_decode.
53224         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
53225         takes a decode context structure.
53226         * lib/base64.h (base64_decode): Macro for four-argument calls.
53227         (base64_decode_alloc): Likewise.
53228         * lib/base64.c (base64_decode_ctx): If a decode context structure
53229         was passed in use it to ignore newlines.  If a context structure
53230         was _not_ passed in, continue to treat newlines as garbage (this
53231         is the historical behavior).  Formerly base64_decode.
53232         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
53233         takes a decode context structure.
53234         * lib/base64.h (base64_decode): Macro for four-argument calls.
53235         (base64_decode_alloc): Likewise.
53236
53237 2008-05-19  Jim Meyering  <meyering@redhat.com>
53238
53239         avoid a warning from gcc
53240         * lib/trim.c (IF_LINT): Define.
53241         (trim2): Use it to avoid a "may be used uninitialized" warning.
53242
53243         Fix doc typo.
53244         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
53245
53246 2008-05-19  Bruno Haible  <bruno@clisp.org>
53247
53248         * doc/glibc-functions/getpass.texi: Document limits of other
53249         implementations.
53250
53251 2008-05-19  Simon Josefsson  <simon@josefsson.org>
53252             Bruno Haible <bruno@clisp.org>
53253
53254         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
53255
53256 2008-05-18  Bruno Haible  <bruno@clisp.org>
53257
53258         * modules/propername: New file, from GNU gettext.
53259         * lib/propername.h: New file, from GNU gettext.
53260         * lib/propername.c: New file, from GNU gettext.
53261         * MODULES.html.sh (Internationalization functions): Add propername.
53262
53263 2008-05-16  Jim Meyering  <meyering@redhat.com>
53264             Bruno Haible  <bruno@clisp.org>
53265
53266         Avoid some warnings from "gcc -Wshadow".
53267         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
53268
53269 2008-05-15  Eric Blake  <ebb9@byu.net>
53270
53271         Extend previous patch to cygwin 1.7.0.
53272         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
53273         fast implementation in cygwin >= 1.7.0.
53274         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
53275         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
53276
53277 2008-05-15  Bruno Haible  <bruno@clisp.org>
53278
53279         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
53280         implementation in glibc >= 2.9.
53281         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
53282         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
53283
53284 2008-05-15  Bruno Haible  <bruno@clisp.org>
53285
53286         * MODULES.html.sh (Internationalization functions): Remove linebreak.
53287         (Unicode string functions): Add unilbrk/*.
53288         Reported by Karl Berry.
53289
53290 2008-05-15  Eric Blake  <ebb9@byu.net>
53291
53292         Fix violation of <stdbool.h> replacement in regex.
53293         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
53294         * lib/regexec.c (re_search_internal): Likewise.
53295         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
53296
53297 2008-05-15  Jim Meyering  <meyering@redhat.com>
53298
53299         avoid distracting test output when git or cvs is not found
53300         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
53301         * tests/test-vc-list-files-git.sh: Likewise.
53302
53303 2008-05-15  Eric Blake  <ebb9@byu.net>
53304
53305         Glibc finally accepted the memmem speedup code, bugzilla #5514.
53306         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
53307         glibc version.
53308         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
53309         * doc/posix-functions/strstr.texi (strstr): Likewise.
53310         * lib/str-two-way.h (MAX): Sychronize with glibc.
53311
53312 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
53313
53314         * lib/regcomp.c (optimize_utf8): Add a note on why we test
53315         opr.ctx_type.
53316         (calc_first): Initialize constraint field.
53317         (duplicate_node_closure): Use it instead of special casing ANCHORS.
53318         Fix grammar.
53319         (duplicate_node): Merge constraint field for all node types.
53320         (calc_eclosure_iter): Look at constraint field for all node types.
53321         * lib/regex_internal.c (create_cd_newstate): Don't look at
53322         opr.ctx_type.
53323
53324 2008-05-14  Bruno Haible  <bruno@clisp.org>
53325
53326         Help GCC to do better code generation.
53327         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
53328         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
53329         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
53330         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
53331         Declare with attribute 'malloc' if supported.
53332
53333 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
53334
53335         use "echo STR|wc -c" rather than unportable "expr length STR"
53336         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
53337         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
53338
53339 2008-05-14  Jim Meyering  <meyering@redhat.com>
53340
53341         use dd ibs=$n count=1 ... rather than less-portable head -c$n
53342         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
53343         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
53344         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
53345         via Collin Lasse.
53346
53347 2008-05-14  Eric Blake  <ebb9@byu.net>
53348
53349         Avoid quadratic growth in gl_LIBSOURCES.
53350         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
53351         Suggested by Bruno Haible.
53352
53353         Test xmemdup0.
53354         * modules/xmemdup0-tests: New file.
53355         * tests/test-xmemdup0.c: Likewise.
53356
53357 2008-05-13  Eric Blake  <ebb9@byu.net>
53358
53359         Split xmemdup0 into its own module.
53360         * modules/xmemdup0: New file.
53361         * lib/xmemdup0.h: Likewise.
53362         * lib/xmemdup0.c: Likewise.
53363         * MODULES.html.sh (Memory management functions): Add xmemdup0.
53364         * lib/xalloc.h (xmemdup0): Remove.
53365         * lib/xmalloc.c (xmemdup0): Likewise.
53366
53367 2008-05-13  Eric Blake  <ebb9@byu.net>
53368             Bruno Haible  <bruno@clisp.org>
53369
53370         Reduce number of forks required during autoconf.
53371         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
53372         and gl_LIBSOURCES_DIR.
53373         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
53374         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
53375         m4_syscmd per file.
53376         <m4_foreach_w>: Move...
53377         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
53378
53379 2008-05-13  Eric Blake  <ebb9@byu.net>
53380
53381         * gnulib-tool: Fix various comment typos.
53382
53383 2008-05-12  Bruno Haible  <bruno@clisp.org>
53384
53385         Tailor the linebreaking algorithm.
53386         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
53387
53388 2008-05-12  Bruno Haible  <bruno@clisp.org>
53389
53390         Update to Unicode 5.0.0.
53391         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
53392         LBP_JV, LBP_JT. Redistribute values.
53393         (unilbrk_table): Change size.
53394         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
53395         Unicode TR#14 rev. 22.
53396         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
53397         LBP_JV, LBP_JT. Redistribute values.
53398         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
53399         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
53400         Update.
53401         * lib/unilbrk/lbrkprop1.h: Regenerated.
53402         * lib/unilbrk/lbrkprop2.h: Regenerated.
53403         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
53404         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
53405         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
53406         Likewise.
53407         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
53408         Likewise.
53409         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
53410         result.
53411         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
53412         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
53413         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
53414         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
53415         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
53416         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
53417
53418 2008-05-11  Bruno Haible  <bruno@clisp.org>
53419
53420         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
53421
53422 2008-05-11  Bruno Haible  <bruno@clisp.org>
53423
53424         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
53425         * modules/unilbrk/gen-lbrk: New file.
53426
53427 2008-05-11  Bruno Haible  <bruno@clisp.org>
53428
53429         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
53430         * m4/sha512.m4 (gl_SHA512): Likewise.
53431
53432 2008-05-11  Jim Meyering  <meyering@redhat.com>
53433
53434         New modules: crypto/sha256, crypto/sha512 (from coreutils)
53435         * modules/crypto/sha256: New file.
53436         * modules/crypto/sha512: Likewise.
53437         * lib/sha256.c: Likewise.
53438         * lib/sha256.h: Likewise.
53439         * lib/sha512.c: Likewise.
53440         * lib/sha512.h: Likewise.
53441         * lib/u64.h: Likewise.
53442         * m4/sha256.m4: Likewise.
53443         * m4/sha512.m4: Likewise.
53444         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
53445
53446 2008-05-10  Bruno Haible  <bruno@clisp.org>
53447
53448         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
53449         (Input/Output <stdio.h>): Add xprintf.
53450         (Signal handling <signal.h>): Add strsignal.
53451         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
53452         (Core language properties): Add func.
53453         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
53454         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
53455         strings.
53456         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
53457         (Input/output): New section.
53458         (File system functions): Add openat-die, stat-macros.
53459         (Networking functions): Add sockets.
53460         (Unicode string functions): Add unictype/*.
53461         (Support for building libraries and executables): Add gperf.
53462         (Support for building documentation): Add agpl-3.0.
53463         (Misc): Add nocrash.
53464
53465 2008-05-10  Bruno Haible  <bruno@clisp.org>
53466
53467         * modules/unictype/gen-ctype: New file.
53468
53469 2008-05-10  Jim Meyering  <meyering@redhat.com>
53470
53471         Make chdir-safer.c more efficient on a system with no symlinks.
53472         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
53473         also if ELOOP is zero.  Suggested by Bruno Haible.
53474
53475         Make chdir-safer.c slightly safer.
53476         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
53477         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
53478
53479         Avoid compile failure on systems without ELOOP (like mingw).
53480         * lib/chdir-safer.c (ELOOP): Define if not already defined.
53481         Reported by Bruno Haible.
53482
53483 2008-05-10  Bruno Haible  <bruno@clisp.org>
53484
53485         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
53486         (is_utf8_encoding): Use a case-insensitive comparison.
53487         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
53488         streq.
53489
53490 2008-05-10  Bruno Haible  <bruno@clisp.org>
53491
53492         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
53493         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
53494         * lib/unilbrk/ulc-common.h (iconv_string_length,
53495         iconv_string_keeping_offsets): Remove declarations.
53496         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
53497         Don't include <iconv.h>, streq.h, xsize.h.
53498         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
53499         conversion.
53500         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
53501         <iconv.h>, streq.h, xsize.h.
53502         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
53503         conversion.
53504         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
53505         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
53506         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
53507         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
53508
53509 2008-05-10  Bruno Haible  <bruno@clisp.org>
53510
53511         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
53512         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
53513
53514         * modules/unilbrk/u32-width-linebreaks-tests: New file.
53515         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
53516
53517         * modules/unilbrk/u16-width-linebreaks-tests: New file.
53518         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
53519
53520         * modules/unilbrk/u8-width-linebreaks-tests: New file.
53521         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
53522
53523         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
53524         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
53525
53526         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
53527         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
53528
53529         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
53530         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
53531
53532         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
53533         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
53534
53535 2008-05-10  Bruno Haible  <bruno@clisp.org>
53536
53537         Split up 'linebreak' module.
53538         * lib/unilbrk.h: New file, based on lib/linebreak.h.
53539         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
53540         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
53541         modifications.
53542         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
53543         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
53544         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
53545         lib/linebreak.c.
53546         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
53547         lib/linebreak.c.
53548         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
53549         lib/linebreak.c.
53550         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
53551         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
53552         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
53553         lib/linebreak.c.
53554         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
53555         lib/linebreak.c.
53556         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
53557         lib/linebreak.c.
53558         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
53559         lib/linebreak.c.
53560         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
53561         lib/linebreak.c.
53562         * modules/unilbrk/base: New file.
53563         * modules/unilbrk/tables: New file.
53564         * modules/unilbrk/u8-possible-linebreaks: New file.
53565         * modules/unilbrk/u16-possible-linebreaks: New file.
53566         * modules/unilbrk/u32-possible-linebreaks: New file.
53567         * modules/unilbrk/ulc-common: New file.
53568         * modules/unilbrk/ulc-possible-linebreaks: New file.
53569         * modules/unilbrk/u8-width-linebreaks: New file.
53570         * modules/unilbrk/u16-width-linebreaks: New file.
53571         * modules/unilbrk/u32-width-linebreaks: New file.
53572         * modules/unilbrk/ulc-width-linebreaks: New file.
53573         * lib/linebreak.h: Remove file.
53574         * lib/linebreak.c: Remove file.
53575         * m4/linebreak.m4: Remove file.
53576         * modules/linebreak: Remove file.
53577         * NEWS: Mention the changes.
53578
53579 2008-05-09  Eric Blake  <ebb9@byu.net>
53580
53581         Add xmemdup0.
53582         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
53583         implementation.
53584         * lib/xmalloc.c (xmemdup0): New C implementation.
53585
53586 2008-05-08  Bruno Haible  <bruno@clisp.org>
53587
53588         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
53589
53590 2008-05-07  Eric Blake  <ebb9@byu.net>
53591
53592         Support cross-compilation of <wctype.h>.
53593         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
53594         AC_CACHE_CHECK.
53595
53596 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
53597
53598         * build-aux/vc-list-files: Add support for bzr.
53599
53600 2008-05-03  Jim Meyering  <meyering@redhat.com>
53601
53602         avoid failed assertion with tight malloc
53603         * tests/test-getndelim2.c: Correct an off-by-one assertion.
53604
53605 2008-05-03  Simon Josefsson  <simon@josefsson.org>
53606
53607         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
53608         are needed from arpa/inet.h.
53609         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
53610         Reported by Bruno Haible.
53611
53612 2008-05-02  Jim Meyering  <meyering@redhat.com>
53613
53614         avoid compilation error on FreeBSD 6
53615         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
53616
53617 2008-05-01  Jim Meyering  <meyering@redhat.com>
53618
53619         useless-if-before-free: correct --help's exit status description
53620         * build-aux/useless-if-before-free (usage): Like grep, exit 0
53621         for one or more matches, etc.  Reported by Bruno Haible.
53622
53623         vc-list-files: make the stand-alone gnulib test work
53624         * modules/vc-list-files-tests (configure.ac):
53625         Define and AC_SUBST abs_aux_dir.
53626         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
53627         $(abs_top_srcdir) to each script and having each of them
53628         duplicate the work of setting PATH, set PATH here, using
53629         the new variable, abs_aux_dir instead.
53630         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
53631         * tests/test-vc-list-files-git.sh: Likewise.
53632         Reported by Bruno Haible.
53633
53634 2008-05-01  Bruno Haible  <bruno@clisp.org>
53635
53636         * lib/getndelim2.c (getndelim2): Fix newsize computation during
53637         reallocation. Rename 'done' to 'found_delimiter'.
53638
53639 2008-05-01  Jim Meyering  <meyering@redhat.com>
53640
53641         vc-list-files: accommodate /bin/sh like the one from Solaris 10
53642         * build-aux/vc-list-files: Use `...`, not $(...).
53643
53644 2008-04-30  Jim Meyering  <meyering@redhat.com>
53645
53646         add tests for vc-list-files
53647         * modules/vc-list-files-tests: New module.
53648         * tests/test-vc-list-files-cvs.sh: New file.
53649         * tests/test-vc-list-files-git.sh: New file.
53650
53651         avoid a warning from gcc
53652         * lib/getndelim2.c (IF_LINT): Define.
53653         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
53654
53655         vc-list-files: work properly with build-aux/cvsu, too
53656         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
53657         to all cvs-based clauses.
53658
53659         vc-list-files: work properly in the CVS+awk case, too
53660         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
53661
53662         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
53663         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
53664         take more than one file argument, so .  Add quotes, just in case $dir
53665         ever contains a shell meta-character.  Prompted by Soren Hansen in
53666         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
53667
53668 2008-04-29  Eric Blake  <ebb9@byu.net>
53669
53670         Optimize getndelim2 to use block operations when possible.
53671         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
53672         freadseek, and memchr2.
53673         * lib/getndelim2.c (getndelim2): Use them for block reads.
53674
53675 2008-04-29  Bruno Haible  <bruno@clisp.org>
53676
53677         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
53678         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
53679         * modules/inet_ntop (Depends-on): Add extensions.
53680         * modules/inet_pton (Depends-on): Likewise.
53681         Reported by Simon Josefsson.
53682
53683 2008-04-29  Jim Meyering  <meyering@redhat.com>
53684
53685         When the is more than one match in a block, match all of them.
53686         * build-aux/useless-if-before-free: Iterate through each block
53687         until there are no more matches.
53688
53689         Fix broken useless-if-before-free script.
53690         * build-aux/useless-if-before-free: Fix typo: missing "?" after
53691         the expression to match cast of argument to free-like function.
53692
53693 2008-04-29  Eric Blake  <ebb9@byu.net>
53694
53695         Use new header.
53696         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
53697
53698 2008-04-29  Jim Meyering  <meyering@redhat.com>
53699
53700         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
53701         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
53702         by gnulib to exist and to declare e.g., inet_ntop.
53703         Don't include "inet_ntop.h", now removed.
53704
53705         * m4/arpa_inet_h.m4: Remove trailing blanks.
53706
53707 2008-04-29  Eric Blake  <ebb9@byu.net>
53708
53709         Silence valgrind on safe reads beyond potential array bounds.
53710         * lib/rawmemchr.valgrind: New file.
53711         * lib/strchrnul.valgrind: Likewise.
53712         * modules/rawmemchr (Files): Distribute new file.
53713         * modules/strchrnul (Files): Likewise.
53714         Suggested by Bruno Haible.
53715
53716 2008-04-29  Bruno Haible  <bruno@clisp.org>
53717
53718         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
53719         (inet_ntop, inet_pton): Change portability warning's wording.
53720         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
53721         Invoke gl_CHECK_NEXT_HEADERS.
53722         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
53723         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
53724         set ARPA_INET_H.
53725         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
53726         * modules/arpa_inet (Description): No longer only for systems that
53727         lack it.
53728         (Depends-on): Add include_next.
53729         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
53730         HAVE_ARPA_INET_H.
53731
53732 2008-04-29  Jim Meyering  <meyering@redhat.com>
53733
53734         * modules/mkdir (License): Re-license as LGPLv2+.
53735
53736 2008-04-29  Bruno Haible  <bruno@clisp.org>
53737
53738         * modules/rawmemchr (Maintainer): Set to Eric.
53739         * modules/strchrnul (Maintainer): Likewise.
53740
53741 2008-04-29  Simon Josefsson  <simon@josefsson.org>
53742
53743         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
53744         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
53745
53746         * modules/arpa_inet (arpa/inet.h): Use them.
53747
53748 2008-04-28  Eric Blake  <ebb9@byu.net>
53749
53750         Test getndelim2.
53751         * modules/getndelim2-tests: New file.
53752         * tests/test-getndelim2.c: Likewise.
53753         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
53754         stream.
53755         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
53756
53757         * MODULES.html.sh: Document new module.
53758
53759 2008-04-20  Bruno Haible  <bruno@clisp.org>
53760
53761         * lib/c-stack.c (die): Use raise.
53762         * modules/c-stack (Depends-on): Add raise.
53763
53764 2008-04-28  Bruno Haible  <bruno@clisp.org>
53765
53766         Expect rpmatch to be declared.
53767         * lib/yesno.c (rpmatch): Remove declaration.
53768
53769         Declare rpmatch.
53770         * lib/stdlib.in.h (rpmatch): New declaration.
53771         * lib/rpmatch.c: Include <stdlib.h> first.
53772         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
53773         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
53774         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
53775         HAVE_RPMATCH.
53776         * modules/rpmatch (Depends-on): Add stdlib, extensions.
53777         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
53778         (Include): Set to <stdlib.h>.
53779         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
53780         HAVE_RPMATCH.
53781         * NEWS: Document the change.
53782
53783 2008-04-28  Bruno Haible  <bruno@clisp.org>
53784
53785         Change rpmatch to use nl_langinfo when appropriate.
53786         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
53787         (N_): New macro.
53788         (localized_pattern): New function/macro.
53789         (try): Remove match, nomatch arguments. Copy the pattern into safe
53790         memory before caching it.
53791         (rpmatch): Use localized_pattern. Add translator comments.
53792         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
53793         Suggested by Eric Blake.
53794         * modules/rpmatch (Depends-on): Add stdbool.
53795
53796 2008-04-28  Eric Blake  <ebb9@byu.net>
53797
53798         Add rawmemchr module, matching glibc.
53799         * modules/string (Makefile.am): New indicator.
53800         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
53801         * lib/string.in.h (rawmemchr): Declare when appropriate.
53802         * modules/rawmemchr: New file.
53803         * m4/rawmemchr.m4: Likewise.
53804         * lib/rawmemchr.c: Likewise.
53805         * modules/rawmemchr-tests: Likewise.
53806         * tests/test-rawmemchr.c: Likewise.
53807         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
53808         module.
53809         * modules/strchrnul (Depends-on): Add rawmemchr.
53810         * lib/strchrnul.c (strchrnul): Optimize a corner case.
53811
53812         Whitespace cleanup.
53813         * tests/test-strchrnul.c: Reindent.
53814         * lib/strchrnul.c: Likewise.
53815
53816         Optimize and test strchrnul.
53817         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
53818         * modules/strchrnul-tests: New file.
53819         * tests/test-strchrnul.c: Likewise.
53820
53821         Remove intprops dependency.
53822         * modules/memchr (Depends-on): Remove intprops.
53823         * modules/memrchr (Depends-on): Likewise.
53824         * modules/memchr2 (Depends-on): Likewise.
53825         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
53826         * lib/memrchr.c (__memrchr): Likewise.
53827         * lib/memrchr2.c (memchr2): Likewise.
53828         Reported by Simon Josefsson.
53829
53830 2008-04-28  Simon Josefsson  <simon@josefsson.org>
53831
53832         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
53833         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
53834
53835 2008-04-28  Simon Josefsson  <simon@josefsson.org>
53836
53837         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
53838
53839         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
53840
53841         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
53842
53843         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
53844         declarations.
53845         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
53846
53847         * m4/inet_pton.m4: Don't check for header files.
53848
53849         * m4/inet_ntop.m4: Don't check for header files.
53850
53851 2008-04-28  Simon Josefsson  <simon@josefsson.org>
53852
53853         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
53854         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
53855         trigger for cygwin).
53856         Reported by Bruno Haible  <bruno@clisp.org>.
53857
53858 2008-04-28  Bruno Haible  <bruno@clisp.org>
53859
53860         * doc/posix-functions/strdup.texi: Mention mingw problem.
53861
53862 2008-04-27  Bruno Haible  <bruno@clisp.org>
53863
53864         * modules/stat-time-tests (Depends-on): Add sleep.
53865         * tests/test-stat-time.c (force_unlink): New function.
53866         (cleanup): Use it.
53867         (test_mtime): Remove the ctime related tests.
53868         (test_ctime): New function, containing the ctime related tests.
53869         (main): Call test_ctime, except on native Windows platforms.
53870
53871 2008-04-27  Bruno Haible  <bruno@clisp.org>
53872
53873         * lib/rpmatch.c (rpmatch): Add some comments.
53874         Reported by James Youngman <jay@gnu.org>.
53875
53876 2008-04-27  Bruno Haible  <bruno@clisp.org>
53877
53878         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
53879         quiet NaNs.
53880
53881 2008-04-27  Bruno Haible  <bruno@clisp.org>
53882
53883         Make test-yesno.sh work on mingw.
53884         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
53885         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
53886         (main): Set stdin to binary mode.
53887         * modules/yesno-tests (Depends-on): Add binary-io.
53888
53889 2008-04-27  Bruno Haible  <bruno@clisp.org>
53890
53891         Fix 'isfinite' on x86, x86_64, ia64 platforms.
53892         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
53893         argument that lie outside the IEEE 854 domain.
53894         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
53895         (gl_ISFINITE): Use it.
53896         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
53897
53898 2008-04-27  Bruno Haible  <bruno@clisp.org>
53899
53900         Allow local renaming in config.h.
53901         * lib/memrchr.c (memrchr): Don't undefine outside libc.
53902
53903 2008-04-27  Bruno Haible  <bruno@clisp.org>
53904
53905         * lib/memchr.c (__memchr): Change type of 'i'.
53906         * lib/memchr2.c (memchr2): Likewise.
53907
53908 2008-04-26  Eric Blake  <ebb9@byu.net>
53909         and Bruno Haible  <bruno@clisp.org>
53910
53911         Optimize and test memrchr.
53912         * modules/memrchr (Depends-on): Add intprops.
53913         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
53914         * modules/memrchr-tests: New file.
53915         * tests/test-memrchr.c: New file.
53916
53917 2008-04-26  Bruno Haible  <bruno@clisp.org>
53918
53919         Add tentative support for DragonFly BSD.
53920         * lib/stdio-impl.h: Add macros for DragonFly BSD.
53921         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
53922         fp.
53923         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
53924         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
53925         * lib/fpurge.c (fpurge): Likewise.
53926         * lib/freadable.c (freaadable): Likewise.
53927         * lib/freadahead.c (freadahead): Likewise.
53928         * lib/freading.c (freading): Likewise.
53929         * lib/freadptr.c (freadptr): Likewise.
53930         * lib/freadseek.c (freadptrinc): Likewise.
53931         * lib/fseeko.c (fseeko): Likewise.
53932         * lib/fseterr.c (fseterr): Likewise.
53933         * lib/fwritable.c (fwritable): Likewise.
53934         * lib/fwriting.c (fwriting): Likewise.
53935
53936 2008-04-26  Bruno Haible  <bruno@clisp.org>
53937
53938         * lib/stdio-impl.h: New file.
53939         * lib/fbufmode.c: Include stdio-impl.h.
53940         (fbufmode): Use fp_, remove redundant #defines.
53941         * lib/fflush.c: Include stdio-impl.h.
53942         (clear_ungetc_buffer): Remove redundant #defines.
53943         * lib/fpurge.c: Include stdio-impl.h.
53944         (fpurge): Remove redundant #defines.
53945         * lib/freadable.c: Include stdio-impl.h.
53946         (freadable): Remove redundant #defines.
53947         * lib/freadahead.c: Include stdio-impl.h.
53948         (freadahead): Remove redundant #defines.
53949         * lib/freading.c: Include stdio-impl.h.
53950         (freading): Remove redundant #defines.
53951         * lib/freadptr.c: Include stdio-impl.h.
53952         (freadptr): Remove redundant #defines.
53953         * lib/freadseek.c: Include stdio-impl.h.
53954         (freadptrinc): Remove redundant #defines.
53955         * lib/fseeko.c: Include stdio-impl.h.
53956         (rpl_fseeko): Remove redundant #defines.
53957         * lib/fseterr.c: Include stdio-impl.h.
53958         (fseterr): Remove redundant #defines.
53959         * lib/fwritable.c: Include stdio-impl.h.
53960         (fwritable: Remove redundant #defines.
53961         * lib/fwriting.c: Include stdio-impl.h.
53962         (fwriting): Remove redundant #defines.
53963         * modules/fbufmode (Files): Add lib/stdio-impl.h.
53964         * modules/fflush (Files): Likewise.
53965         * modules/fpurge (Files): Likewise.
53966         * modules/freadable (Files): Likewise.
53967         * modules/freadahead (Files): Likewise.
53968         * modules/freading (Files): Likewise.
53969         * modules/freadptr (Files): Likewise.
53970         * modules/freadseek (Files): Likewise.
53971         * modules/fseeko (Files): Likewise.
53972         * modules/fseterr (Files): Likewise.
53973         * modules/fwritable (Files): Likewise.
53974         * modules/fwriting (Files): Likewise.
53975
53976 2008-04-26  Bruno Haible  <bruno@clisp.org>
53977
53978         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
53979         restore_seek_optimization, update_fpos_cache): New functions, extracted
53980         from rpl_fflush.
53981         (rpl_fflush): Use them.
53982         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
53983         (gl_REPLACE_FFLUSH): Use it.
53984
53985 2008-04-26  Bruno Haible  <bruno@clisp.org>
53986
53987         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
53988         on Solaris.
53989         * tests/test-xstrtoimax.sh: Likewise.
53990         * tests/test-xstrtoumax.sh: Likewise.
53991         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
53992
53993 2008-04-26  Bruno Haible  <bruno@clisp.org>
53994
53995         * modules/memchr-tests: New file.
53996         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
53997
53998 2008-04-26  Eric Blake  <ebb9@byu.net>
53999             Bruno Haible  <bruno@clisp.org>
54000
54001         * lib/memchr.c: Include intprops.h.
54002         (__memchr): Optimize parallel detection of matching bytes. Rename local
54003         variables. Add explanatory comments.
54004
54005 2008-04-26  Bruno Haible  <bruno@clisp.org>
54006
54007         Fix module 'memchr', broken since 2000-10-28.
54008         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
54009
54010 2008-04-26  Bruno Haible  <bruno@clisp.org>
54011
54012         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
54013         comments.
54014
54015 2008-04-25  Eric Blake  <ebb9@byu.net>
54016
54017         Use native fstatat on cygwin 1.7.0.
54018         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
54019         first.
54020
54021 2008-04-23  Eric Blake  <ebb9@byu.net>
54022
54023         Improve memchr2 performance.
54024         * lib/memchr2.c (memchr2): Further optimize parallel detection of
54025         NUL bytes.
54026         * modules/memchr2 (Depends-on): Use intprops.h.
54027
54028 2008-04-23  Simon Josefsson  <simon@josefsson.org>
54029
54030         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
54031         an inline function instead of a CPP macro.  Patch by Ben Pfaff
54032         <blp@cs.stanford.edu>.
54033
54034 2008-04-23  Simon Josefsson  <simon@josefsson.org>
54035
54036         * lib/arpa_inet.in.h: New file.
54037
54038         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
54039         (Makefile.am): Sed in substitute header file.
54040
54041         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
54042         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
54043
54044         * modules/inet_ntop (configure.ac): Use
54045         gl_ARPA_INET_MODULE_INDICATOR.
54046
54047         * modules/inet_pton (configure.ac): Use
54048         gl_ARPA_INET_MODULE_INDICATOR.
54049
54050 2008-04-22  Jim Meyering  <meyering@redhat.com>
54051
54052         * modules/verify (License): Re-license as LGPLv2+.
54053
54054 2008-04-22  Simon Josefsson  <simon@josefsson.org>
54055
54056         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
54057         parameter to void* as per POSIX standard (MinGW uses char*).
54058
54059 2008-04-21  Bruno Haible  <bruno@clisp.org>
54060
54061         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
54062         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
54063         Define to replacements if REPLACE_ISWCNTRL is 1.
54064         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
54065         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
54066         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
54067         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
54068         what it fixes.
54069         * doc/posix-functions/iswalpha.texi: Likewise.
54070         * doc/posix-functions/iswblank.texi: Likewise.
54071         * doc/posix-functions/iswcntrl.texi: Likewise.
54072         * doc/posix-functions/iswdigit.texi: Likewise.
54073         * doc/posix-functions/iswgraph.texi: Likewise.
54074         * doc/posix-functions/iswlower.texi: Likewise.
54075         * doc/posix-functions/iswprint.texi: Likewise.
54076         * doc/posix-functions/iswpunct.texi: Likewise.
54077         * doc/posix-functions/iswspace.texi: Likewise.
54078         * doc/posix-functions/iswupper.texi: Likewise.
54079         * doc/posix-functions/iswxdigit.texi: Likewise.
54080         Reported by Alain Guibert.
54081
54082 2008-04-21  Bruno Haible  <bruno@clisp.org>
54083
54084         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
54085         Patch by Alain Guibert.
54086
54087 2008-04-21  Bruno Haible  <bruno@clisp.org>
54088
54089         Fix test failures on mingw.
54090         * tests/test-xstrtol.c (print_no_progname): New function.
54091         (main): Install it in error_print_progname hook.
54092         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
54093         * tests/test-xstrtoimax.sh: Likewise.
54094         * tests/test-xstrtoumax.sh: Likewise.
54095
54096 2008-04-21  Bruno Haible  <bruno@clisp.org>
54097
54098         Fix test failure on mingw.
54099         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
54100
54101 2008-04-21  Bruno Haible  <bruno@clisp.org>
54102
54103         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
54104         Actually assign a value.
54105
54106 2008-04-20  Bruno Haible  <bruno@clisp.org>
54107
54108         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
54109         take 2.
54110         * lib/canonicalize.c (canonicalize_file_name): Elide if the
54111         'canonicalize-lgpl' module is also used.
54112         * lib/canonicalize-lgpl.c: Undo last change.
54113         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
54114
54115 2008-04-20  Bruno Haible  <bruno@clisp.org>
54116
54117         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
54118         config.h. Provide _mkdir based fallback for mingw.
54119         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
54120         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
54121         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
54122         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
54123         rather than defining mkdir in config.h.
54124         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
54125         (gl_SYS_STAT_H_DEFAULTS): New macro.
54126         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
54127         HAVE_IO_H any more.
54128         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
54129         HAVE_DECL_MKDIR and HAVE_IO_H.
54130
54131 2008-04-20  Bruno Haible  <bruno@clisp.org>
54132
54133         * lib/isapipe.c: Port to native Windows platforms.
54134
54135 2008-04-20  Bruno Haible  <bruno@clisp.org>
54136
54137         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
54138
54139 2008-04-21  Eric Blake  <ebb9@byu.net>
54140
54141         Work around preprocessors that don't handle UINTMAX_MAX.
54142         * lib/memchr2.c (memchr2): Avoid embedded #if.
54143         Reported by Alain Guibert, fix suggested by Bruno Haible.
54144
54145 2008-04-21  Simon Josefsson  <simon@josefsson.org>
54146
54147         * doc/posix-functions/strftime.texi (strftime): Explain better
54148         Windows incompatibility.  Suggested by Micah Cowan
54149         <micah@cowan.name>.
54150
54151 2008-04-20  Bruno Haible  <bruno@clisp.org>
54152
54153         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
54154         unistr/u8-mblen.
54155
54156 2008-04-20  Bruno Haible  <bruno@clisp.org>
54157
54158         Fix test failure on platforms with non-GNU iconv.
54159         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
54160         (U_TO_U8): Use it, rather than u16_to_u8.
54161         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
54162         units at the end of the input string.
54163         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
54164
54165 2008-04-20  Bruno Haible  <bruno@clisp.org>
54166
54167         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
54168         when the resulting length is 0.
54169         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
54170
54171 2008-04-20  Bruno Haible  <bruno@clisp.org>
54172
54173         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
54174         works.
54175         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
54176
54177 2008-04-20  Bruno Haible  <bruno@clisp.org>
54178
54179         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
54180         * modules/tsearch-tests (configure.ac): Test for initstate function.
54181
54182 2008-04-20  Bruno Haible  <bruno@clisp.org>
54183
54184         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
54185         for nlink_t if missing.
54186         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
54187
54188 2008-04-19  Bruno Haible  <bruno@clisp.org>
54189
54190         Work around snprintf bug on Linux libc5.
54191         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
54192         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
54193         gl_SNPRINTF_SIZE1.
54194         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
54195         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
54196         that test failed.
54197         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
54198         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
54199         * modules/snprintf (Files): Add m4/printf.m4.
54200         * modules/vsnprintf (Files): Likewise.
54201         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
54202         * doc/posix-functions/vsnprintf.texi: Likewise.
54203
54204 2008-04-19  Bruno Haible  <bruno@clisp.org>
54205
54206         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
54207         from 0.0058 to less than 10^-7.
54208
54209 2008-04-19  Bruno Haible  <bruno@clisp.org>
54210
54211         Fix rounding when a precision is given.
54212         * lib/vasnprintf.c (is_borderline): New function.
54213         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
54214         9...9x.
54215         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
54216         %e, %g.
54217         * tests/test-vasprintf-posix.c (test_function): Likewise.
54218         * tests/test-snprintf-posix.h (test_function): Likewise.
54219         * tests/test-sprintf-posix.h (test_function): Likewise.
54220         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
54221         * tests/test-printf-posix.h (test_function): Likewise.
54222         * tests/test-printf-posix.output: Update.
54223         Reported by John Darrington <john@darrington.wattle.id.au> via
54224         Ben Pfaff <blp@cs.stanford.edu>.
54225
54226 2008-04-18  Simon Josefsson  <simon@josefsson.org>
54227
54228         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
54229         Suggested by Bruno Haible <bruno@clisp.org>.
54230
54231 2008-04-17  Bruno Haible  <bruno@clisp.org>
54232
54233         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
54234         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
54235         implementation.
54236         Patch by Bruce Merry <bmerry@gmail.com>.
54237
54238 2008-04-17  Simon Josefsson  <simon@josefsson.org>
54239
54240         * doc/posix-functions/strftime.texi (strftime): Mention that %e
54241         doesn't work under Windows.
54242
54243 2008-04-16  Bruno Haible  <bruno@clisp.org>
54244
54245         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
54246         New macros.
54247         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
54248         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
54249         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
54250         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
54251         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
54252         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
54253         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
54254         macros.
54255         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
54256         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
54257         Northern Sotho, Uighur.
54258
54259 2008-04-16  Bruno Haible  <bruno@clisp.org>
54260
54261         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
54262         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
54263         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
54264         Reported by Daniel Bergström <daniel@octocode.com>.
54265
54266 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
54267             Bruno Haible  <bruno@clisp.org>
54268
54269         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
54270         function.
54271         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
54272         New functions, mostly extracted from gl_locale_name_default.
54273         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
54274
54275 2008-04-16  Eric Blake  <ebb9@byu.net>
54276
54277         Adjust strtod detection to catch glibc 2.7 bug.
54278         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
54279         Reported by John Gatewood Ham.
54280
54281 2008-04-16  Bruno Haible  <bruno@clisp.org>
54282
54283         Add tentative support for Linux libc5.
54284         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
54285         * lib/fpurge.c (fpurge): Likewise.
54286         * lib/freadable.c (freadable): Likewise.
54287         * lib/freadahead.c (freadahead): Likewise.
54288         * lib/freading.c (freading): Likewise.
54289         * lib/freadptr.c (freadptr): Likewise.
54290         * lib/freadseek.c (freadptrinc): Likewise.
54291         * lib/fseeko.c (rpl_fseeko): Likewise.
54292         * lib/fseterr.c (fseterr): Likewise.
54293         * lib/fwritable.c (fwritable): Likewise.
54294         * lib/fwriting.c (fwriting): Likewise.
54295         Reported by Alain Guibert <alguibert+bts@free.fr>.
54296
54297 2008-04-15  Bruno Haible  <bruno@clisp.org>
54298
54299         * modules/mathl (configure.ac): Define module indicator.
54300
54301 2008-04-15  Bruno Haible  <bruno@clisp.org>
54302
54303         * lib/logl.c (logl): Remove unused variables.
54304
54305 2008-04-15  Bruno Haible  <bruno@clisp.org>
54306
54307         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
54308         fails.
54309
54310 2008-04-15  Bruno Haible  <bruno@clisp.org>
54311
54312         * lib/trim.c (trim2): Fix argument of isspace() macro.
54313
54314 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
54315
54316         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
54317         to 0.
54318         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
54319
54320 2008-04-14  Bruno Haible  <bruno@clisp.org>
54321
54322         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
54323         AC_LANG_PROGRAM argument.
54324         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
54325         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
54326         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
54327         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
54328         * m4/math_h.m4 (gl_MATH_H): Likewise.
54329         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
54330         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
54331         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
54332         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
54333         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
54334         * m4/regex.m4 (gl_REGEX): Likewise.
54335         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
54336         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
54337         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
54338         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
54339         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
54340         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
54341         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
54342         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
54343
54344 2008-04-14  Jim Meyering  <meyering@redhat.com>
54345
54346         test-strtod: fix typos: s/abs/fabs/
54347         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
54348
54349 2008-04-13  Bruno Haible  <bruno@clisp.org>
54350
54351         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
54352         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
54353         module is also used and while not building the reloc-wrapper.
54354
54355 2008-04-13  Bruno Haible  <bruno@clisp.org>
54356
54357         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
54358
54359 2008-04-13  Bruno Haible  <bruno@clisp.org>
54360
54361         Fix AIX compilation failure introduced on 2008-04-02.
54362         * tests/test-frexp.c (exp): Undefine before redefining.
54363         * tests/test-frexpl.c (exp): Likewise.
54364
54365 2008-04-13  Bruno Haible  <bruno@clisp.org>
54366
54367         Work around a HP-UX stdio bug.
54368         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
54369         * tests/test-ftello.c (main): Likewise.
54370         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
54371         * doc/posix-functions/ftello.texi: Likewise.
54372
54373 2008-04-13  Bruno Haible  <bruno@clisp.org>
54374
54375         Make test-signbit pass on HP-UX/hppa.
54376         * tests/test-signbit.c (minus_zerol): New variable.
54377         (test_signbitl): Use it.
54378
54379 2008-04-13  Bruno Haible  <bruno@clisp.org>
54380
54381         Make truncl work on OSF/1 4.0.
54382         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
54383         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
54384         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
54385         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
54386         HAVE_DECL_TRUNCL.
54387         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
54388         HAVE_DECL_TRUNCL.
54389         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
54390
54391 2008-04-13  Bruno Haible  <bruno@clisp.org>
54392
54393         * lib/unictype.h: Remove trailing comma from enumeration definitions.
54394
54395 2008-04-13  Bruno Haible  <bruno@clisp.org>
54396
54397         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
54398         expression, so as to avoid HP-UX 11 cc compiler bug.
54399
54400 2008-04-13  Bruno Haible  <bruno@clisp.org>
54401
54402         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
54403
54404 2008-04-13  Bruno Haible  <bruno@clisp.org>
54405
54406         * lib/git-merge-changelog.c: Remove empty declaration outside of
54407         functions.
54408
54409 2008-04-13  Bruno Haible  <bruno@clisp.org>
54410
54411         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
54412
54413 2008-04-13  Bruno Haible  <bruno@clisp.org>
54414
54415         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
54416         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
54417         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
54418         also if it exists but lacks definitions of the SHUT_* macros.
54419         * modules/sys_socket (Description): Update.
54420         Reported by Elbert Pol <e.pol@chello.nl>.
54421
54422 2008-04-13  Bruno Haible  <bruno@clisp.org>
54423
54424         * lib/localcharset.c (OS2): Don't redefine if already defined.
54425         Reported by Elbert Pol <e.pol@chello.nl>.
54426
54427 2008-04-13  Bruno Haible  <bruno@clisp.org>
54428
54429         * lib/binary-io.h [__EMX__]: Include <io.h>.
54430         Reported by Elbert Pol <e.pol@chello.nl>.
54431
54432 2008-04-12  Bruno Haible  <bruno@clisp.org>
54433
54434         * lib/fpucw.h: Enable the definitions also for x86_64.
54435         Needed for NetBSD/x86_64.
54436         Reported by Thomas Klausner <tk@giga.or.at>.
54437
54438 2008-04-12  Bruno Haible  <bruno@clisp.org>
54439
54440         * tests/test-strtod.c: Include isnand.h.
54441         (main): Use isnand instead of isnan.
54442         Reported by Jim Meyering.
54443
54444 2008-04-12  Bruno Haible  <bruno@clisp.org>
54445
54446         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
54447         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
54448
54449 2008-04-12  Jim Meyering  <meyering@redhat.com>
54450
54451         * m4/math_h.m4 (gl_MATH_H): Fix typos.
54452
54453 2008-04-12  Bruno Haible  <bruno@clisp.org>
54454
54455         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
54456         Reported by Elbert Pol <e.pol@chello.nl>.
54457
54458 2008-04-12  Eric Blake  <ebb9@byu.net>
54459
54460         Work around Solaris 10 math.h bug.
54461         * m4/math_h.m4 (gl_MATH_H): Check for bug.
54462         (gl_MATH_H_DEFAULTS): Set up default.
54463         * modules/math (Makefile.am): Replace new indicators.
54464         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
54465         * tests/test-math.c (main): Test this.
54466         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
54467         * doc/posix-headers/math.texi (math.h): Mention bug.
54468         Reported by Nelson H. F. Beebe and Jim Meyering.
54469
54470 2008-04-11  Bruno Haible  <bruno@clisp.org>
54471
54472         Adapt to future versions of Apple GCC.
54473         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
54474         Reported by Peter O'Gorman <peter@pogma.com>.
54475
54476 2008-04-11  Bruno Haible  <bruno@clisp.org>
54477
54478         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
54479
54480 2008-04-11  Bruno Haible  <bruno@clisp.org>
54481
54482         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
54483
54484         * modules/getaddrinfo-tests (Makefile.am): Define
54485         test_getaddrinfo_LDADD.
54486
54487 2008-04-11  Bruno Haible  <bruno@clisp.org>
54488
54489         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
54490         (init): Fix syntax error.
54491         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
54492         is declared.
54493
54494 2008-04-11  Bruno Haible  <bruno@clisp.org>
54495
54496         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
54497         * modules/glob (Depends-on): Add stdbool.
54498
54499 2008-04-11  Bruno Haible  <bruno@clisp.org>
54500
54501         * lib/trim.c: Include <string.h>.
54502
54503 2008-04-11  Eric Blake  <ebb9@byu.net>
54504
54505         Avoid compile failure on OS/2.
54506         * lib/regex_internal.h (internal_function): Disable optimization
54507         on OS/2 (__EMX__), where it caused compiler error.
54508         Reported by Elbert Pol.
54509
54510 2008-04-11  Bruno Haible  <bruno@clisp.org>
54511
54512         Flush the standard error stream before aborting. Needed on mingw.
54513         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
54514         * tests/test-array_list.c (ASSERT): Likewise.
54515         * tests/test-array_oset.c (ASSERT): Likewise.
54516         * tests/test-avltree_list.c (ASSERT): Likewise.
54517         * tests/test-avltree_oset.c (ASSERT): Likewise.
54518         * tests/test-avltreehash_list.c (ASSERT): Likewise.
54519         * tests/test-binary-io.c (ASSERT): Likewise.
54520         * tests/test-byteswap.c (ASSERT): Likewise.
54521         * tests/test-c-ctype.c (ASSERT): Likewise.
54522         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
54523         * tests/test-c-strcasestr.c (ASSERT): Likewise.
54524         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
54525         * tests/test-c-strstr.c (ASSERT): Likewise.
54526         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
54527         * tests/test-canonicalize.c (ASSERT): Likewise.
54528         * tests/test-carray_list.c (ASSERT): Likewise.
54529         * tests/test-ceilf1.c (ASSERT): Likewise.
54530         * tests/test-ceilf2.c (ASSERT): Likewise.
54531         * tests/test-ceill.c (ASSERT): Likewise.
54532         * tests/test-count-one-bits.c (ASSERT): Likewise.
54533         * tests/test-fbufmode.c (ASSERT): Likewise.
54534         * tests/test-fflush2.c (ASSERT): Likewise.
54535         * tests/test-floorf1.c (ASSERT): Likewise.
54536         * tests/test-floorf2.c (ASSERT): Likewise.
54537         * tests/test-floorl.c (ASSERT): Likewise.
54538         * tests/test-fopen.c (ASSERT): Likewise.
54539         * tests/test-fpending.c (ASSERT): Likewise.
54540         * tests/test-fprintf-posix.c (ASSERT): Likewise.
54541         * tests/test-fpurge.c (ASSERT): Likewise.
54542         * tests/test-freadable.c (ASSERT): Likewise.
54543         * tests/test-freadahead.c (ASSERT): Likewise.
54544         * tests/test-freading.c (ASSERT): Likewise.
54545         * tests/test-freadptr.c (ASSERT): Likewise.
54546         * tests/test-freadptr2.c (ASSERT): Likewise.
54547         * tests/test-freadseek.c (ASSERT): Likewise.
54548         * tests/test-freopen.c (ASSERT): Likewise.
54549         * tests/test-frexp.c (ASSERT): Likewise.
54550         * tests/test-frexpl.c (ASSERT): Likewise.
54551         * tests/test-fseek.c (ASSERT): Likewise.
54552         * tests/test-fseeko.c (ASSERT): Likewise.
54553         * tests/test-fstrcmp.c (ASSERT): Likewise.
54554         * tests/test-ftell.c (ASSERT): Likewise.
54555         * tests/test-ftello.c (ASSERT): Likewise.
54556         * tests/test-func.c (ASSERT): Likewise.
54557         * tests/test-fwritable.c (ASSERT): Likewise.
54558         * tests/test-fwriting.c (ASSERT): Likewise.
54559         * tests/test-getdelim.c (ASSERT): Likewise.
54560         * tests/test-getline.c (ASSERT): Likewise.
54561         * tests/test-i-ring.c (ASSERT): Likewise.
54562         * tests/test-iconv-utf.c (ASSERT): Likewise.
54563         * tests/test-iconv.c (ASSERT): Likewise.
54564         * tests/test-isfinite.c (ASSERT): Likewise.
54565         * tests/test-isnand.c (ASSERT): Likewise.
54566         * tests/test-isnanf.c (ASSERT): Likewise.
54567         * tests/test-isnanl.h (ASSERT): Likewise.
54568         * tests/test-ldexpl.c (ASSERT): Likewise.
54569         * tests/test-linked_list.c (ASSERT): Likewise.
54570         * tests/test-linkedhash_list.c (ASSERT): Likewise.
54571         * tests/test-localename.c (ASSERT): Likewise.
54572         * tests/test-lseek.c (ASSERT): Likewise.
54573         * tests/test-mbscasecmp.c (ASSERT): Likewise.
54574         * tests/test-mbscasestr1.c (ASSERT): Likewise.
54575         * tests/test-mbscasestr2.c (ASSERT): Likewise.
54576         * tests/test-mbscasestr3.c (ASSERT): Likewise.
54577         * tests/test-mbscasestr4.c (ASSERT): Likewise.
54578         * tests/test-mbschr.c (ASSERT): Likewise.
54579         * tests/test-mbscspn.c (ASSERT): Likewise.
54580         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
54581         * tests/test-mbspbrk.c (ASSERT): Likewise.
54582         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
54583         * tests/test-mbsrchr.c (ASSERT): Likewise.
54584         * tests/test-mbsspn.c (ASSERT): Likewise.
54585         * tests/test-mbsstr1.c (ASSERT): Likewise.
54586         * tests/test-mbsstr2.c (ASSERT): Likewise.
54587         * tests/test-mbsstr3.c (ASSERT): Likewise.
54588         * tests/test-memchr2.c (ASSERT): Likewise.
54589         * tests/test-memmem.c (ASSERT): Likewise.
54590         * tests/test-open.c (ASSERT): Likewise.
54591         * tests/test-printf-frexp.c (ASSERT): Likewise.
54592         * tests/test-printf-frexpl.c (ASSERT): Likewise.
54593         * tests/test-printf-posix.c (ASSERT): Likewise.
54594         * tests/test-quotearg.c (ASSERT): Likewise.
54595         * tests/test-rbtree_list.c (ASSERT): Likewise.
54596         * tests/test-rbtree_oset.c (ASSERT): Likewise.
54597         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
54598         * tests/test-round1.c (ASSERT): Likewise.
54599         * tests/test-roundf1.c (ASSERT): Likewise.
54600         * tests/test-roundl.c (ASSERT): Likewise.
54601         * tests/test-signbit.c (ASSERT): Likewise.
54602         * tests/test-sleep.c (ASSERT): Likewise.
54603         * tests/test-snprintf-posix.c (ASSERT): Likewise.
54604         * tests/test-snprintf.c (ASSERT): Likewise.
54605         * tests/test-sprintf-posix.c (ASSERT): Likewise.
54606         * tests/test-stat-time.c (ASSERT): Likewise.
54607         * tests/test-strcasestr.c (ASSERT): Likewise.
54608         * tests/test-strerror.c (ASSERT): Likewise.
54609         * tests/test-striconv.c (ASSERT): Likewise.
54610         * tests/test-striconveh.c (ASSERT): Likewise.
54611         * tests/test-striconveha.c (ASSERT): Likewise.
54612         * tests/test-strsignal.c (ASSERT): Likewise.
54613         * tests/test-strstr.c (ASSERT): Likewise.
54614         * tests/test-strtod.c (ASSERT): Likewise.
54615         * tests/test-trunc1.c (ASSERT): Likewise.
54616         * tests/test-trunc2.c (ASSERT): Likewise.
54617         * tests/test-truncf1.c (ASSERT): Likewise.
54618         * tests/test-truncf2.c (ASSERT): Likewise.
54619         * tests/test-truncl.c (ASSERT): Likewise.
54620         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
54621         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
54622         * tests/test-vasnprintf.c (ASSERT): Likewise.
54623         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
54624         * tests/test-vasprintf.c (ASSERT): Likewise.
54625         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
54626         * tests/test-vprintf-posix.c (ASSERT): Likewise.
54627         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
54628         * tests/test-vsnprintf.c (ASSERT): Likewise.
54629         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
54630         * tests/test-wcwidth.c (ASSERT): Likewise.
54631         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
54632         * tests/test-xprintf-posix.c (ASSERT): Likewise.
54633         * tests/test-xvasprintf.c (ASSERT): Likewise.
54634         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
54635         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
54636         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
54637         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
54638         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
54639         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
54640         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
54641         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
54642         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
54643         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
54644         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
54645         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
54646         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
54647         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
54648         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
54649         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
54650         * tests/unictype/test-block_list.c (ASSERT): Likewise.
54651         * tests/unictype/test-block_of.c (ASSERT): Likewise.
54652         * tests/unictype/test-block_test.c (ASSERT): Likewise.
54653         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
54654         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
54655         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
54656         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
54657         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
54658         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
54659         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
54660         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
54661         * tests/unictype/test-combining.c (ASSERT): Likewise.
54662         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
54663         * tests/unictype/test-digit.c (ASSERT): Likewise.
54664         * tests/unictype/test-mirror.c (ASSERT): Likewise.
54665         * tests/unictype/test-numeric.c (ASSERT): Likewise.
54666         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
54667         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
54668         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
54669         * tests/unictype/test-scripts.c (ASSERT): Likewise.
54670         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
54671         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
54672         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
54673         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
54674         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
54675         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
54676         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
54677         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
54678         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
54679         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
54680         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
54681         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
54682         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
54683         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
54684         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
54685         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
54686         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
54687         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
54688         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
54689         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
54690         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
54691         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
54692         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
54693         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
54694         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
54695         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
54696         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
54697         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
54698         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
54699         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
54700         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
54701         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
54702         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
54703         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
54704         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
54705         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
54706         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
54707         Reported by Eric Blake.
54708
54709 2008-04-11  Bruno Haible  <bruno@clisp.org>
54710
54711         * lib/wchar.in.h: Tweak comment.
54712
54713 2008-04-11  Bruno Haible  <bruno@clisp.org>
54714
54715         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
54716         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
54717         gl_COMMON.
54718         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
54719
54720 2008-04-11  Bruno Haible  <bruno@clisp.org>
54721
54722         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
54723
54724 2008-04-11  Simon Josefsson  <simon@josefsson.org>
54725
54726         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
54727         of attempting to use non-existing /dev/*random.  Based on patch
54728         from Adam Strzelecki <ono@java.pl> in
54729         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
54730
54731 2008-04-08  Bruno Haible  <bruno@clisp.org>
54732
54733         Add tentative support for emx+gcc.
54734         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
54735         * lib/fpurge.c (fpurge): Likewise.
54736         * lib/freadable.c (freadable): Likewise.
54737         * lib/freadahead.c (freadahead): Likewise.
54738         * lib/freading.c (freading): Likewise.
54739         * lib/freadptr.c (freadptr): Likewise.
54740         * lib/freadseek.c (freadptrinc): Likewise.
54741         * lib/fseeko.c (rpl_fseeko): Likewise.
54742         * lib/fseterr.c (fseterr): Likewise.
54743         * lib/fwritable.c (fwritable): Likewise.
54744         * lib/fwriting.c (fwriting): Likewise.
54745         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
54746
54747 2008-04-09  Eric Blake  <ebb9@byu.net>
54748
54749         Avoid some autoconf warnings.
54750         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
54751         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
54752         * m4/afs.m4 (gl_AFS): Likewise.
54753         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
54754         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
54755         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
54756         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
54757         (gl_INTEGER_TYPE_SUFFIX): Likewise.
54758         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
54759         (AC_CHECK_DECLS_ONCE): Likewise.
54760         Rename file...
54761         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
54762         gnulib-tool requires autoconf 2.59 or better.
54763         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
54764
54765 2008-04-08  Eric Blake  <ebb9@byu.net>
54766
54767         Use 'git describe --match' if present (added in git 1.5.5).
54768         * build-aux/git-version-gen: Limit result to tags that match 'v*'
54769         if possible.
54770
54771 2008-04-08  Bruno Haible  <bruno@clisp.org>
54772
54773         Add tentative support for OpenServer.
54774         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
54775         _ptr, _cnt.
54776         * lib/fpurge.c (fpurge): Likewise.
54777         * lib/freadable.c (freadable): Likewise.
54778         * lib/freadahead.c (freadahead): Likewise.
54779         * lib/freading.c (freading): Likewise.
54780         * lib/freadptr.c (freadptr): Likewise.
54781         * lib/freadseek.c (freadptrinc): Likewise.
54782         * lib/fseeko.c (rpl_fseeko): Likewise.
54783         * lib/fseterr.c (fseterr): Likewise.
54784         * lib/fwritable.c (fwritable): Likewise.
54785         * lib/fwriting.c (fwriting): Likewise.
54786         Reported by Roger Cornelius <rac@tenzing.org> and
54787         Brian K. White <brian@aljex.com>.
54788
54789 2008-04-06  Jim Meyering  <meyering@redhat.com>
54790
54791         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
54792
54793 2008-04-06  Bruno Haible  <bruno@clisp.org>
54794
54795         Avoid possible error with non-ASCII bytes in UTF-8 locales.
54796         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
54797         * tests/test-printf-posix.sh: Likewise.
54798         * tests/test-vfprintf-posix.sh: Likewise.
54799         * tests/test-vprintf-posix.sh: Likewise.
54800         * tests/test-xprintf-posix.sh: Likewise.
54801
54802 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54803
54804         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
54805         hide error from 'ls', needed on OS/2.
54806         Report by Elbert Pol <elbert.pol@gmail.com>.
54807
54808 2008-04-04  Eric Blake  <ebb9@byu.net>
54809
54810         Make test-fseeko.c failures meaningful.
54811         * tests/test-fseeko.c: Print line number on failure.
54812         * tests/test-fseek.c: Likewise.
54813         Reported by Nelson H. F. Beebe.
54814
54815         Improve strtod bug detection check.
54816         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
54817         required for Solaris 10.
54818         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
54819
54820 2008-04-04  Bruno Haible  <bruno@clisp.org>
54821
54822         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
54823         by m4/setenv.m4.
54824
54825 2008-04-03  Eric Blake  <ebb9@byu.net>
54826
54827         Ensure sane .version contents.
54828         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
54829         version string.
54830         * build-aux/git-version-gen: Improve documentation.
54831
54832         Make GNU make output nicer.
54833         * top/GNUmakefile [!_have-Makefile]: Add dependency on
54834         MAKECMDGOALS to enforce message for all command line targets.  Set
54835         srcdir for use in maint.mk.
54836
54837         Another maintainer tweak.
54838         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
54839         a target that regenerates version.
54840
54841 2008-04-03  Jim Meyering  <meyering@redhat.com>
54842
54843         vc-list-files: don't cause coreutils "make po-check" failure
54844         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
54845
54846 2008-04-03  Eric Blake  <ebb9@byu.net>
54847
54848         Allow VPATH usage of vc-list-files.
54849         * build-aux/vc-list-files (scriptversion): Add timestamp.
54850         (options): Add --help, --version, -C.
54851         (CVS): Support installed cvsu.
54852
54853 2008-04-02  Bruno Haible  <bruno@clisp.org>
54854
54855         Avoid some "statement with no effect" warnings from gcc.
54856         * tests/test-wctype.c (main): Explicitly ignore unused values.
54857         Reported by Jim Meyering.
54858
54859 2008-04-02  Jim Meyering  <meyering@redhat.com>
54860
54861         Avoid some warnings from "gcc -Wshadow".
54862         * tests/test-frexp.c (exp): Define to a different identifier.
54863         * tests/test-frexpl.c (exp): Likewise.
54864
54865 2008-04-03  Jim Meyering  <meyering@redhat.com>
54866
54867         bootstrap: remove dangling *.[ch] symlinks from lib
54868         * build-aux/bootstrap [dangling symlink removal]: Move find's
54869         -depth option to precede all others, to avoid a warning.
54870         Remove *.[ch] files too, and from "$source_base" (usually lib/).
54871
54872 2008-04-02  Bruno Haible  <bruno@clisp.org>
54873
54874         Avoid some warnings from "gcc -Wshadow".
54875         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
54876         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
54877         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
54878         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
54879         Reported by Jim Meyering.
54880
54881 2008-04-01  Bruno Haible  <bruno@clisp.org>
54882
54883         Fix test to work on IRIX 6.5 with cc.
54884         * tests/test-math.c (numeric_equal): New function.
54885         (main): Use it.
54886
54887 2008-04-01  Bruno Haible  <bruno@clisp.org>
54888
54889         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
54890
54891 2008-04-01  Bruno Haible  <bruno@clisp.org>
54892
54893         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
54894         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
54895         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
54896         (Depends-on): Remove math.
54897
54898         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
54899         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
54900         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
54901         (Depends-on): Remove math.
54902
54903         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
54904         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
54905         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
54906         (Depends-on): Remove math.
54907         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
54908         (Depends-on): Remove math.
54909
54910         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
54911         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
54912         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
54913         (Depends-on): Remove math.
54914         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
54915         (Depends-on): Remove math.
54916
54917         * tests/test-round1.c: Include nan.h.
54918         (main): Use NaNd instead of NAN.
54919         * modules/round-tests (Files): Add tests/nan.h.
54920
54921         * tests/test-trunc1.c: Include nan.h.
54922         (main): Use NaNd instead of NAN.
54923         * modules/trunc-tests (Files): Add tests/nan.h.
54924
54925         * tests/test-roundf1.c: Include nan.h.
54926         (main): Use NaNf instead of NAN.
54927         * modules/roundf-tests (Files): Add tests/nan.h.
54928
54929         * tests/test-truncf1.c: Include nan.h.
54930         (main): Use NaNf instead of NAN.
54931         * modules/truncf-tests (Files): Add tests/nan.h.
54932
54933         * tests/test-ceilf1.c: Include nan.h.
54934         (main): Use NaNf instead of NAN.
54935         * modules/ceilf-tests (Files): Add tests/nan.h.
54936
54937         * tests/test-floorf1.c: Include nan.h.
54938         (main): Use NaNf instead of NAN.
54939         * modules/floorf-tests (Files): Add tests/nan.h.
54940
54941         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
54942         (main): Use NaNf instead of NAN.
54943         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
54944
54945         * tests/test-isnand.c: Include nan.h instead of <math.h>.
54946         (main): Use NaNd instead of NAN.
54947         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
54948
54949         * tests/test-frexp.c: Include nan.h.
54950         (main): Use NaNd instead of NAN.
54951         * modules/frexp-tests (Files): Add tests/nan.h.
54952
54953         * lib/isnan.c: Don't include <math.h>.
54954         (FUNC): Don't use NAN macro.
54955         * modules/isnand-nolibm (Depends-on): Remove math.
54956         * modules/isnanf-nolibm (Depends-on): Remove math.
54957         * modules/isnanl (Depends-on): Remove math.
54958         * modules/isnanl-nolibm (Depends-on): Remove math.
54959
54960         * tests/nan.h: New file.
54961
54962 2008-04-01  Eric Blake  <ebb9@byu.net>
54963
54964         Fix typos.
54965         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
54966         values to be the right type.
54967
54968         For now, cater to gnulib strtod inaccuracies.
54969         * tests/test-strtod.c (main): Allow 1-ulp error on expected
54970         fractional results.  While not as nice from a QoI perspective, it
54971         is a quicker patch than correctly implementing decimal to binary
54972         rounding.
54973
54974 2008-03-31  Eric Blake  <ebb9@byu.net>
54975
54976         Guarantee a definition of NAN.
54977         * lib/math.in.h (NAN): Define if missing.
54978         * tests/test-math.c (main): Test it.
54979         * doc/posix-headers/math.texi (math.h): Document this.
54980         * lib/isnan.c (rpl_isnand): Use it.
54981         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
54982         * tests/test-floorf1.c (NaN): Likewise.
54983         * tests/test-frexp.c (NaN): Likewise.
54984         * tests/test-isnand.c (NaN): Likewise.
54985         * tests/test-isnanf.c (NaN): Likewise.
54986         * tests/test-round1.c (NaN): Likewise.
54987         * tests/test-roundf1.c (NaN): Likewise.
54988         * tests/test-snprintf-posix.h (NaN): Likewise.
54989         * tests/test-sprintf-posix.h (NaN): Likewise.
54990         * tests/test-trunc1.c (NaN): Likewise.
54991         * tests/test-truncf1.c (NaN): Likewise.
54992         * tests/test-vasnprintf-posix.c (NaN): Likewise.
54993         * tests/test-vasprintf-posix.c (NaN): Likewise.
54994         * modules/isnand-nolibm (Depends-on): Add math.
54995         * modules/isnanf-nolibm (Depends-on): Likewise.
54996         * modules/isnanl (Depends-on): Likewise.
54997         * modules/isnanl-nolibm (Depends-on): Likewise.
54998         * modules/snprintf-posix-tests (Depends-on): Likewise.
54999         * modules/sprintf-posix-tests (Depends-on): Likewise.
55000         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
55001         * modules/vsprintf-posix-tests (Depends-on): Likewise.
55002         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
55003         * modules/vasprintf-posix-tests (Depends-on): Likewise.
55004
55005 2008-03-31  Bruno Haible  <bruno@clisp.org>
55006
55007         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
55008         * doc/posix-functions/strtod.texi: Likewise.
55009
55010 2008-03-31  Bruno Haible  <bruno@clisp.org>
55011
55012         * tests/test-strtod.c (main): Don't use C99 syntax.
55013
55014 2008-03-31  Bruno Haible  <bruno@clisp.org>
55015
55016         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
55017         Reported by Eric Blake.
55018
55019 2008-03-31  Jim Meyering  <meyering@redhat.com>
55020
55021         Don't compare actual signbit return values.
55022         * tests/test-strtod.c (main): Rather, compare only their
55023         zero/non-zero nature.
55024
55025 2008-03-31  Eric Blake  <ebb9@byu.net>
55026
55027         More strtod documentation.
55028         * doc/posix-functions/strtod.texi (strtod): Interpret more test
55029         failures as distinct bugs.
55030
55031 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
55032
55033         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
55034         Problem reported by Erik Benada in
55035         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
55036
55037 2008-03-30  Bruno Haible  <bruno@clisp.org>
55038
55039         * tests/test-strtod.c: Add comments about which assertion fails on which
55040         platform.
55041         * doc/posix-functions/strtod.texi: Add info about many more platforms.
55042
55043 2008-03-30  Eric Blake  <ebb9@byu.net>
55044
55045         Test signbit behavior on zeros.
55046         * tests/test-signbit.c (test_signbitf): Add tests for zero.
55047         (test_signbitd, test_signbitl): Likewise.
55048
55049         More strtod touchups.
55050         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
55051         sign of negative underflow, for now.  Use .5, not .1.
55052         * doc/posix-functions/strtod.texi (strtod): Mention these
55053         limitations.
55054         Reported by Jim Meyering.
55055
55056 2008-03-30  Bruno Haible  <bruno@clisp.org>
55057
55058         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
55059         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
55060
55061 2008-03-30  Bruno Haible  <bruno@clisp.org>
55062
55063         Avoid failure when attempting to return empty iconv results on some
55064         platforms.
55065         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
55066         allocation, don't report ENOMEM when the resulting string is empty.
55067
55068 2008-03-30  Bruno Haible  <bruno@clisp.org>
55069
55070         Fix buffer overrun.
55071         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
55072         Don't consider the width for tmp_length. Check count against tmp_length
55073         before doing the padding. Ensure enough allocation during padding.
55074
55075 2008-03-30  Eric Blake  <ebb9@byu.net>
55076
55077         strtod touchups.
55078         * lib/strtod.c (strtod): Avoid compiler warnings.
55079         Reported by Jim Meyering.
55080
55081 2008-03-30  Bruno Haible  <bruno@clisp.org>
55082
55083         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
55084         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
55085         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
55086         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
55087         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
55088         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
55089         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
55090         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
55091
55092         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
55093         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
55094         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
55095         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
55096         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
55097         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
55098         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
55099         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
55100
55101         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
55102         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
55103         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
55104         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
55105         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
55106         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
55107         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
55108         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
55109
55110         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
55111         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
55112
55113         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
55114         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
55115
55116         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
55117         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
55118
55119         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
55120         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
55121         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
55122
55123         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
55124         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
55125         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
55126
55127         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
55128         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
55129         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
55130
55131         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
55132         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
55133         * modules/vasprintf (Depends-on): Add EOVERFLOW.
55134
55135         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
55136         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
55137         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
55138         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
55139         (Depends-on): Add EOVERFLOW.
55140         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
55141         (Depends-on): Add EOVERFLOW.
55142         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
55143         (Depends-on): Add EOVERFLOW.
55144         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
55145         (Depends-on): Add EOVERFLOW.
55146         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
55147         (Depends-on): Add EOVERFLOW.
55148         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
55149         (Depends-on): Add EOVERFLOW.
55150         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
55151         (Depends-on): Add EOVERFLOW.
55152         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
55153         (Depends-on): Add EOVERFLOW.
55154
55155         * lib/sprintf.c (EOVERFLOW): Remove fallback.
55156         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
55157         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
55158
55159         * lib/snprintf.c (EOVERFLOW): Remove fallback.
55160         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
55161         * modules/snprintf (Depends-on): Add EOVERFLOW.
55162
55163         * lib/poll.c (EOVERFLOW): Remove fallback.
55164         * modules/poll (Depends-on): Add EOVERFLOW.
55165
55166         * lib/getugroups.c (EOVERFLOW): Remove fallback.
55167         * modules/getugroups (Depends-on): Add EOVERFLOW.
55168
55169         * lib/getdelim.c (EOVERFLOW): Remove fallback.
55170         * modules/getdelim (Depends-on): Add EOVERFLOW.
55171
55172         * lib/ftell.c (EOVERFLOW): Remove fallback.
55173         * modules/ftell (Depends-on): Add EOVERFLOW.
55174
55175         * lib/fprintf.c (EOVERFLOW): Remove fallback.
55176         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
55177         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
55178
55179         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
55180
55181         * modules/EOVERFLOW-tests: New file.
55182         * tests/test-EOVERFLOW.c: New file.
55183
55184         * modules/EOVERFLOW: New file.
55185         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
55186
55187 2008-03-30  Bruno Haible  <bruno@clisp.org>
55188
55189         Fix bug introduced on 2007-06-10.
55190         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
55191         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
55192
55193 2008-03-30  Bruno Haible  <bruno@clisp.org>
55194
55195         Improve freadseek's efficiency after ungetc.
55196         * lib/freadseek.c: Include freadahead.h.
55197         (freadptrinc): New function, extracted from freadseek.
55198         (freadseek): Use it in a loop. Use freadahead to determine the number
55199         of loop iterations.
55200         * modules/freadseek (Depends-on): Add freadahead.
55201         (configure.ac): Require AC_C_INLINE.
55202
55203 2008-03-30  Bruno Haible  <bruno@clisp.org>
55204
55205         * lib/freadseek.c (freadseek): Don't ignore the return value of
55206         freadptr.
55207
55208 2008-03-29  Eric Blake  <ebb9@byu.net>
55209
55210         Add hex float support.
55211         * modules/strtod (Depends-on): Add c-ctype.
55212         (Link): Mention POW_LIB.
55213         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
55214         whitespace between 'e' and exponent.
55215         * tests/test-strtod.c (main): Enable hex float tests.
55216         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
55217         now provides.
55218
55219         Document various strtod bugs, with some fixes.
55220         * doc/posix-functions/strtod.texi (strtod): Document bugs with
55221         "-0x", "inf", "nan", and hex constants.
55222         * doc/posix-functions/atof.texi (atof): Likewise.
55223         * modules/stdlib (Makefile.am): Support strtod.
55224         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
55225         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
55226         detect additional strtod bugs.
55227         * lib/stdlib.in.h (rpl_strtod): Add declarations.
55228         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
55229         bool where appropriate.  Parse 'inf' and 'nan'.
55230         * tests/test-strtod.c: New file.
55231         * modules/strtod (Depends-on): Add stdbool, stdlib.
55232         (configure.ac): Turn on module indicator.
55233         * modules/strtod-tests: New module.
55234
55235 2008-03-29  Eric Blake  <ebb9@byu.net>
55236
55237         Fix ftell on mingw.
55238         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
55239         * modules/ftell-tests (Depends-on): Add binary-io.
55240         * modules/ftello-tests (Depends-on): Likewise.
55241         * tests/test-ftell.c (main): Enhance test to cover behavior after
55242         ungetc.  Enforce binary mode.
55243         * tests/test-ftello.c (main): Likewise.
55244
55245         Pass test-freadseek on cygwin.
55246         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
55247         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
55248         ungetc buffer.
55249
55250         * tests/test-fflush2.c (main): Fix typo.
55251
55252 2008-03-29  Bruno Haible  <bruno@clisp.org>
55253
55254         * tests/test-fflush2.c (main): Temporarily disable the contents of
55255         this test.
55256         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
55257         Reported by Eric Blake.
55258
55259 2008-03-28  Simon Josefsson  <simon@josefsson.org>
55260
55261         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
55262         (GC_SHA224_DIGEST_SIZE): Add.
55263
55264         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
55265         (gc_hash_digest_length): Likewise.
55266         (gc_hash_buffer): Likewise.
55267
55268 2008-03-25  Bruno Haible  <bruno@clisp.org>
55269
55270         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
55271         detail which gettext release to use.
55272         Reported by Simon Josefsson.
55273
55274 2008-03-26  Jim Meyering  <meyering@redhat.com>
55275
55276         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
55277         * modules/gnumakefile (clean-GNUmakefile): Also, use
55278         test ... && ... || : syntax rather than if-then ... fi.
55279
55280         gnumakefile: Don't double-quote-expand $(VPATH) value.
55281         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
55282
55283 2008-03-24  Eric Blake  <ebb9@byu.net>
55284
55285         Alter GNUmakefile to install into top directory.
55286         * modules/maintainer-makefile: Split, and add dependency...
55287         * modules/gnumakefile: to this new module.
55288         * build-aux/GNUmakefile: Move...
55289         * top/GNUmakefile: ...here.
55290         * build-aux/maint.mk: Move...
55291         * top/maint.mk: ...here.
55292         * MODULES.html.sh (Support for maintaining...): Document new
55293         module.
55294
55295 2008-03-23  Bruno Haible  <bruno@clisp.org>
55296
55297         * gnulib-tool: New options --vc-files, --no-vc-files.
55298         (func_usage): Document them.
55299         (vc_files): New variable.
55300         (func_import): Consider vc_files.
55301         (func_create_testdir): Set vc_files to empty.
55302         Suggested by Jim Meyering and Karl Berry.
55303
55304 2008-03-23  Bruno Haible  <bruno@clisp.org>
55305
55306         Fix regex compilation error on HP-UX 11.
55307         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
55308         * modules/regex (Files): Add m4/mbstate_t.m4.
55309         Reported by Ton Voon <ton.voon@altinity.com>.
55310
55311 2008-03-23  Bruno Haible  <bruno@clisp.org>
55312
55313         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
55314
55315 2008-03-23  Eric Blake  <ebb9@byu.net>
55316             Bruno Haible  <bruno@clisp.org>
55317
55318         Install files from top/ in the destination directory.
55319         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
55320         augmentation also for the files from top/.
55321         (func_import, func_create_testdir): Rewrite file names:
55322         top/filename -> filename.
55323
55324 2008-03-23  Bruno Haible  <bruno@clisp.org>
55325
55326         Tweak "gnulib --version" output.
55327         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
55328
55329 2008-03-23  Bruno Haible  <bruno@clisp.org>
55330
55331         Tweak "gnulib --version" output.
55332         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
55333         rather than contents of ChangeLog, when possible.
55334
55335 2008-03-21  Eric Blake  <ebb9@byu.net>
55336
55337         More --version tweaks.
55338         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
55339         date of last ChangeLog entry.
55340
55341 2008-03-21  Jim Meyering  <meyering@redhat.com>
55342
55343         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
55344
55345 2008-03-20  Eric Blake  <ebb9@byu.net>
55346
55347         VPATH fix.
55348         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
55349
55350 2008-03-20  Simon Josefsson  <simon@josefsson.org>
55351
55352         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
55353         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
55354
55355 2008-03-20  Eric Blake  <ebb9@byu.net>
55356
55357         Sync GNUmakefile with coreutils.
55358         * build-aux/GNUmakefile (have-Makefile): Rename...
55359         (_have-Makefile): ...to this, for namespace consideration.
55360         (GNUmakefile.cfg): Include, if present.
55361         (_autoreconf): Define a default.
55362         (_is-dist-target): New rule for rebuilds to pick up intra-release
55363         version.
55364         (maint-cfg.mk): Rename...
55365         (cfg.mk): ...to this.
55366
55367 2008-03-18  Jim Meyering  <meyering@redhat.com>
55368
55369         New script and module: mktempd
55370         * MODULES.html.sh (maint+release support): Add mktempd.
55371         * build-aux/mktempd: New file.
55372         * modules/mktempd: New file.
55373
55374 2008-03-15  Jim Meyering  <meyering@redhat.com>
55375
55376         Undo last change.
55377         * lib/sha1.c, lib/md5.c: 63 != ~63.
55378         Reported by Andreas Schwab.
55379
55380         sha1.c, md5.c: Hoist a redundant expression.
55381         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
55382         "ctx->buflen" only once, before calling *_process_block.
55383         * lib/md5.c (md5_process_bytes): Likewise.
55384
55385 2008-03-14  Eric Blake  <ebb9@byu.net>
55386
55387         Bump copyright year in files generated by gnulib-tool.
55388         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
55389         gnulib-tool, rather than hard-coding it.
55390
55391         Fix 'gnulib-tool --version' output to work with git.
55392         * gnulib-tool (func_gnulib_dir): New function, extracted from...
55393         (startup): ...here.
55394         (func_version): Use it to invoke git-version-gen, rather than
55395         relying on CVS keyword expansion.  Modernize wording.
55396         (cvsdatestamp, last_checkin_date, version): Kill unused
55397         variables.
55398
55399 2008-03-12  Jim Meyering  <meyering@redhat.com>
55400
55401         Recognize optional cast of the argument to free.
55402         * build-aux/useless-if-before-free: Update regexps.
55403
55404         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
55405
55406 2008-03-11  Bruno Haible  <bruno@clisp.org>
55407
55408         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
55409         by a single package.
55410         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
55411         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
55412         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
55413         Reported by Sam Steingold <sds@gnu.org>.
55414
55415 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
55416
55417         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
55418         repositories.
55419
55420 2008-03-11  Bruno Haible  <bruno@clisp.org>
55421
55422         Avoid conflicts between local macro definitions.
55423         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
55424         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
55425
55426 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
55427             Bruno Haible  <bruno@clisp.org>
55428
55429         Make va_copy work with some version of xlc on AIX 5.1.
55430         * lib/stdarg.in.h: New file.
55431         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
55432         On AIX, use a <stdarg.h> file substitute.
55433         * modules/stdarg (Files): Add lib/stdarg.in.h.
55434         (Depends-on): Add include_next.
55435         (Makefile.am): Build a stdarg.h substitute if requested.
55436         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
55437
55438 2008-03-10  Bruno Haible  <bruno@clisp.org>
55439
55440         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
55441         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
55442         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
55443
55444 2008-03-10  Bruno Haible  <bruno@clisp.org>
55445
55446         * modules/stdlib (Depends-on): Add include_next, remove
55447         absolute-header.
55448
55449 2008-03-09  Bruno Haible  <bruno@clisp.org>
55450
55451         * lib/freadahead.h (freadahead): Document more precisely.
55452         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
55453         the sum of both buffer sizes.
55454         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
55455         * NEWS: Document the change.
55456
55457 2008-03-09  Bruno Haible  <bruno@clisp.org>
55458
55459         Extend freadptr to return also the buffer size.
55460         * lib/freadptr.h (freadptr): Add sizep argument.
55461         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
55462         (freadptr): Add sizep argument. Determine buffer size like freadahead
55463         does.
55464         * tests/test-freadptr.c: Don't include freadahead.h.
55465         (main): Adapt for new calling convention of freadptr.
55466         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
55467         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
55468         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
55469         tests/test-freadptr2.sh.
55470         (Depends): Remove freadahead.
55471         (TESTS): Add test-freadptr2.sh.
55472         (check_PROGRAMS): Add test-freadptr2.
55473
55474 2008-03-09  Bruno Haible  <bruno@clisp.org>
55475
55476         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
55477         Report and solution by Simon Josefsson.
55478
55479 2008-03-06  Bruno Haible  <bruno@clisp.org>
55480
55481         Make fflush after ungetc work on BSD platforms.
55482         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
55483         * tests/test-fflush2.c: New file.
55484         * tests/test-fflush2.sh: New file.
55485         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
55486         tests/test-fflush2.c.
55487         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
55488         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
55489
55490 2008-03-06  Eric Blake  <ebb9@byu.net>
55491
55492         Likewise for ftello.
55493         * modules/ftello (Dependencies): Add extensions.
55494         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
55495
55496 2008-03-06  Bruno Haible  <bruno@clisp.org>
55497
55498         * modules/fseeko (Dependencies): Add extensions.
55499         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
55500         Needed on glibc systems.
55501
55502 2008-03-06  Bruno Haible  <bruno@clisp.org>
55503
55504         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
55505         email address.
55506         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
55507
55508 2008-03-06  Bruno Haible  <bruno@clisp.org>
55509
55510         * users.txt: Add libgnupdf.
55511
55512 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
55513
55514         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
55515         (Header File Substitutes, Function Substitutes,
55516         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
55517         (Build robot for gnulib): Fix typo.
55518
55519 2008-03-06  Bruno Haible  <bruno@clisp.org>
55520
55521         * doc/gnulib-tool.texi (VCS Issues): Small updates.
55522         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
55523
55524 2008-03-06  Bruno Haible  <bruno@clisp.org>
55525
55526         * doc/func.texi: New file, extracted from doc/gnulib.texi.
55527         * doc/gnulib.texi: Include it.
55528
55529 2008-03-06  Simon Josefsson  <simon@josefsson.org>
55530
55531         * modules/func (License): Change license to unlimited; there was
55532         no LGPL parts in the module anyway.
55533
55534 2008-03-06  Simon Josefsson  <simon@josefsson.org>
55535
55536         * modules/__func__: Renamed to modules/func.
55537         * modules/__func__-tests: Renamed to modules/func-tests.
55538         * tests/test-__func__.c: Renamed to tests/test-func.c.
55539         * m4/__func__.m4: Renamed to m4/func.m4.
55540         * doc/gnulib.texi (__func__): Section renamed to func.
55541         Suggested by Eric Blake <ebb9@byu.net>.
55542
55543 2008-03-06  Simon Josefsson  <simon@josefsson.org>
55544
55545         * doc/gnulib.texi (__func__): Use C99 terminology when talking
55546         about __func__.  Make example self-contained.  Suggested by Eric
55547         Blake <ebb9@byu.net>.
55548
55549         * tests/test-__func__.c (main): Avoid extraneous () around __func.
55550         Suggested by Eric Blake <ebb9@byu.net>.
55551
55552 2008-03-06  Simon Josefsson  <simon@josefsson.org>
55553
55554         * modules/__func__: New file.
55555         * modules/__func__-tests: New file.
55556         * tests/test-__func__.c: New file.
55557         * m4/__func__.m4: New file.
55558         * doc/gnulib.texi (__func__): Document __func__ module.
55559
55560 2008-03-05  Simon Josefsson  <simon@josefsson.org>
55561
55562         * modules/byteswap (License): Re-license as LGPLv2+.
55563
55564 2008-03-05  Simon Josefsson  <simon@josefsson.org>
55565
55566         * doc/Makefile: Add pdf target.
55567
55568 2008-03-05  Simon Josefsson  <simon@josefsson.org>
55569
55570         * modules/inline (License): Use 'unlimited', since there are only
55571         *.m4 files in this module.
55572
55573 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
55574             Bruno Haible  <bruno@clisp.org>
55575
55576         Add support for HP C 7.1 on OpenVMS 8.3.
55577         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
55578
55579 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
55580
55581         Update VMS specifics.
55582         * lib/getopt.c [VMS]: Remove include of unixlib.h.
55583
55584 2008-03-02  Jim Meyering  <meyering@redhat.com>
55585
55586         Remove the last dependency on the "free" module.
55587         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
55588         Reported by Bob Proulx.
55589
55590         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
55591
55592         Remove useless "if" tests before free.  Deprecate "free" module.
55593         * doc/posix-functions/free.texi: Mention that this
55594         module is no longer useful.
55595         * modules/free (Notice): Say this module is obsolete.
55596         * modules/readutmp (Depends-on): Remove free.
55597         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
55598         * lib/putenv.c (putenv): Likewise.
55599         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
55600         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
55601         * tests/test-c-strcasestr.c (main): Likewise.
55602         * tests/test-c-strstr.c (main): Likewise.
55603         * tests/test-mbscasestr1.c (main): Likewise.
55604         * tests/test-mbscasestr2.c (main): Likewise.
55605         * tests/test-mbsstr1.c (main): Likewise.
55606         * tests/test-mbsstr2.c (main): Likewise.
55607         * tests/test-memmem.c (main): Likewise.
55608         * tests/test-strcasestr.c (main): Likewise.
55609         * tests/test-striconv.c (main): Likewise.
55610         * tests/test-striconveh.c (main): Likewise.
55611         * tests/test-striconveha.c (main): Likewise.
55612         * tests/test-strstr.c (main): Likewise.
55613
55614         * build-aux/git-version-gen: Adjust a comment and the Usage string.
55615
55616         bootstrap: sync from coreutils again
55617         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
55618
55619 2008-03-01  Jim Meyering  <meyering@redhat.com>
55620
55621         bootstrap: sync from coreutils
55622         * build-aux/bootstrap (update_po_files): Copy a .po file into place
55623         also when the target doesn't exist.
55624
55625 2008-03-01  Eric Blake  <ebb9@byu.net>
55626
55627         Fix bugs in last patch.
55628         * lib/memchr2.c (memchr2): Fix typo.
55629         * tests/test-memchr2.c: Test previous bug, and don't use GNU
55630         extension.
55631         Reported by Bruce Korb.
55632
55633         New module 'memchr2'.
55634         * modules/memchr2: New file.
55635         * modules/memchr2-tests: Likewise.
55636         * lib/memchr2.h: Likewise.
55637         * lib/memchr2.c: Likewise, based on memchr.c.
55638         * tests/test-memchr2.c: New test.
55639         * MODULES.html.sh (String handling): Add memchr2.
55640
55641 2008-02-29  Bruno Haible  <bruno@clisp.org>
55642
55643         * modules/freadseek-tests: New file.
55644         * tests/test-freadseek.sh: New file.
55645         * tests/test-freadseek.c: New file.
55646
55647         New module 'freadseek'.
55648         * modules/freadseek: New file.
55649         * lib/freadseek.h: New file.
55650         * lib/freadseek.c: New file.
55651         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
55652
55653 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
55654
55655         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
55656         wydawca.
55657
55658         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
55659         program_invocation_name and program_invocation_short_name are
55660         present.
55661
55662 2008-02-28  Bruno Haible  <bruno@clisp.org>
55663
55664         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
55665         * tests/test-freadptr.sh: Also test non-seekable stdin.
55666
55667 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
55668
55669         * build-aux/bootstrap (source_base, m4_base)
55670         (doc_base, tests_base): New variables.
55671         (gnulib_tool_options): Do not hardcode base directories, use
55672         the above variables instead.
55673
55674 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
55675
55676         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
55677
55678 2008-02-28  Bruno Haible  <bruno@clisp.org>
55679
55680         * modules/freadptr-tests: New file.
55681         * tests/test-freadptr.sh: New file.
55682         * tests/test-freadptr.c: New file.
55683
55684         New module 'freadptr'.
55685         * modules/freadptr: New file.
55686         * lib/freadptr.h: New file.
55687         * lib/freadptr.c: New file.
55688         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
55689
55690 2008-02-26  Karl Berry  <karl@freefriends.org>
55691
55692         Sync from Libtool:
55693         * libltdl/argz.c (argz_add, argz_count): New functions.
55694         * libltdl/argz.in.h: Declare them.
55695         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
55696
55697 2008-02-22  Bruno Haible  <bruno@clisp.org>
55698
55699         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
55700         is a pointer type.  Needed for HP-UX 10.
55701         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
55702         * doc/posix-functions/gmtime_r.texi: Likewise.
55703         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
55704
55705 2008-02-24  Bruno Haible  <bruno@clisp.org>
55706
55707         * modules/environ-tests: New file.
55708         * tests/test-environ.c: New file.
55709
55710         New module 'environ'.
55711         * modules/environ: New file.
55712         * lib/unistd.in.h (environ): New declaration.
55713         * m4/environ.m4: New file.
55714         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
55715         after use.
55716         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
55717         HAVE_DECL_ENVIRON.
55718         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
55719         HAVE_DECL_ENVIRON.
55720         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
55721         wrong claim that 'environ' is missing on some systems.
55722         * modules/execute (Depends-on): Add environ.
55723         * lib/execute.c (environ): Remove fallback declaration.
55724         * modules/pipe (Depends-on): Add environ.
55725         * lib/pipe.c (environ): Remove fallback declaration.
55726         * modules/setenv (Depends-on): Add environ.
55727         * lib/setenv.c (environ): Remove fallback declaration.
55728         * modules/unsetenv (Depends-on): Add environ.
55729         * lib/unsetenv.c (environ): Remove fallback declaration.
55730         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
55731         m4/environ.m4.
55732         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
55733         (gl_PREREQ_UNSETENV): Likewise.
55734
55735 2008-02-24  Bruno Haible  <bruno@clisp.org>
55736
55737         * doc/posix-functions/environ.texi: Document the MacOS X problem.
55738
55739 2008-02-20  Bob Proulx  <bob@proulx.com>
55740
55741         Enable use of older two part flavor 'git describe'.
55742         * build-aux/git-version-gen: If using the older two part flavor of
55743         git version then recreate the third part now present in the
55744         newer three part flavor of git describe.
55745
55746 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
55747
55748         * lib/fts.c (fts_build): Typo correction to comment.
55749
55750 2008-02-17  Bruno Haible  <bruno@clisp.org>
55751
55752         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
55753         generating no-op conflicts.
55754
55755 2008-02-17  Bruno Haible  <bruno@clisp.org>
55756
55757         Speed up by 10%.
55758         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
55759         result_entries, rather than an index-based loop.
55760
55761 2008-02-17  Bruno Haible  <bruno@clisp.org>
55762
55763         Speed up by 25%.
55764         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
55765         'hashcode_cached'.
55766         (entry_create): New function.
55767         (entry_hashcode): Use the cached hashcode if possible.
55768         (read_changelog_file, try_split_merged_entry): Use entry_create.
55769
55770 2008-02-17  Bruno Haible  <bruno@clisp.org>
55771
55772         Speed up from O(n^2) to O(n) for long ChangeLog files.
55773         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
55774         (read_changelog_file): Change implementation of entries_reversed list
55775         to rbtreehash.
55776         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
55777
55778 2008-02-17  Bruno Haible  <bruno@clisp.org>
55779
55780         New option --split-merged-entry.
55781         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
55782         (find_paragraph_end, try_split_merged_entry): New functions.
55783         (long_options): Add option --split-merged-entry.
55784         (usage): Document option --split-merged-entry.
55785         (main): Implement option --split-merged-entry.
55786         Reported by Eric Blake.
55787
55788 2008-02-17  Bruno Haible  <bruno@clisp.org>
55789
55790         * lib/git-merge-changelog.c: Include c-strstr.h.
55791         (main): Support the "git pull --rebase" situation.
55792         * modules/git-merge-changelog (Depends-on): Add c-strstr.
55793         Reported by Eric Blake.
55794
55795 2008-02-16  Eric Blake  <ebb9@byu.net>
55796
55797         Avoid doubling \ in common case of "c-maybe" quoting style.
55798         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
55799         eliding outer quotes.
55800         * lib/quotearg.h: Document this.
55801         * tests/test-quotearg.c (result_strings, inputs, results_g)
55802         (flag_results, locale_results): Test it by adding a new string to
55803         each test group.
55804         (compare_strings): Test new string.
55805
55806 2008-02-13  Eric Blake  <ebb9@byu.net>
55807
55808         Avoid trigraph quoting in default output.
55809         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
55810         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
55811         unless explicitly requested.
55812         * tests/test-quotearg.c (flag_results, main): Add additional tests.
55813
55814 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
55815
55816         Don't rely on signed integer overflowing to negative value.
55817         * lib/getugroups.c (getugroups): Include <limits.h>.
55818         Instead, compare against INT_MAX, and increment only if the test passes.
55819
55820 2008-02-13  Jim Meyering  <meyering@redhat.com>
55821         and Eric Blake  <ebb9@byu.net>
55822
55823         Avoid shadowing warning and compile errors on Linux.
55824         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
55825         forwarding macros on Linux.
55826         (dcgettext): Define a stub, for Linux.
55827         (results_g, main): Avoid warnings.
55828
55829 2008-02-12  Eric Blake  <ebb9@byu.net>
55830
55831         Silence warning in last patch.
55832         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
55833
55834         Quotearg part 4: add tests, fix c-maybe colon quoting.
55835         * lib/quotearg.h: Improve documentation.
55836         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
55837         escapes when adding outer quotes.  When quoting trigraphs, use
55838         valid C notation.  When quoting NUL, omit extra characters if next
55839         character is not digit.  Alter prototype.
55840         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
55841         callers.
55842         * modules/quotearg-tests: New module.
55843         * tests/test-quotearg.c: New test.
55844
55845 2008-02-07  Eric Blake  <ebb9@byu.net>
55846
55847         Quotearg part 3: add flag to control outer quote elision.
55848         * lib/quotearg.h (c_maybe_quoting_style): New style.
55849         (enum quoting_flags): Better documentation of flags.
55850         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
55851         c-maybe style.
55852         (quotearg_buffer_restyled): Handle new flag to elide outer
55853         quotes.
55854
55855         Quotearg part 2: add flag that can control NUL elision.
55856         * lib/quotearg.h (set_quoting_flags): New prototype.
55857         * lib/quotearg.c (struct quoting_options): Add flag field.
55858         (set_quoting_flags): New function.
55859         (quotearg_buffer_restyled): Add flags parameter.
55860         (quotearg_alloc_mem): Set the flag if length cannot be returned.
55861         (quotearg_n_options): Set the flag, since length cannot be
55862         returned.
55863         (quoting_options_from_style): Default flags correctly.
55864
55865         Quotearg part 1: more wrappers, restore quotearg_char state.
55866         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
55867         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
55868         (quotearg_colon_mem): New wrappers.
55869         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
55870         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
55871         functions.
55872         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
55873         (quotearg_colon_mem): New functions.
55874
55875 2008-02-11  Bruno Haible  <bruno@clisp.org>
55876
55877         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
55878         library in the current directory: it does not work with parallel make.
55879         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
55880
55881 2008-02-11  Bruno Haible  <bruno@clisp.org>
55882
55883         * .gitattributes: New file.
55884
55885 2008-02-11  Jim Meyering  <meyering@redhat.com>
55886
55887         useless-if-before-free: Fix reversed exit values.
55888         * build-aux/useless-if-before-free: Use correct values
55889         for EXIT_MATCH and EXIT_NO_MATCH.
55890
55891         * build-aux/useless-if-before-free: Close stdout carefully.
55892
55893 2008-02-10  Bruno Haible  <bruno@clisp.org>
55894
55895         New module 'git-merge-changelog'.
55896         * modules/git-merge-changelog: New file.
55897         * lib/git-merge-changelog.c: New file.
55898
55899 2008-02-10  Jim Meyering  <meyering@redhat.com>
55900
55901         useless-if-before-free: New option: --list (-l).
55902
55903         useless-if-before-free: Don't exit immediately upon open failure.
55904         * build-aux/useless-if-before-free: Exit 2 for errors.
55905         Upon failure to open a file, don't exit immediately.
55906         Rather, just warn and continue with any remaining files.
55907
55908 2008-02-10  Bruno Haible  <bruno@clisp.org>
55909
55910         New abstract list operation 'node_set_value'.
55911         * lib/gl_list.h (gl_list_node_set_value): New function.
55912         (struct gl_list_implementation): New field node_set_value.
55913         * lib/gl_list.c (gl_list_node_set_value): New function.
55914         * lib/gl_array_list.c (gl_array_node_set_value): New function.
55915         (gl_array_list_implementation): Update.
55916         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
55917         (gl_carray_list_implementation): Update.
55918         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
55919         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
55920         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
55921         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
55922         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
55923         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
55924         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
55925         Update.
55926         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
55927         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
55928         (gl_sublist_list_implementation): Update.
55929
55930 2008-02-10  Bruno Haible  <bruno@clisp.org>
55931
55932         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
55933         Needed when ELEMENT is #defined to 'some_type *'.
55934
55935 2008-02-10  Jim Meyering  <meyering@redhat.com>
55936
55937         New script and module: useless-if-before-free
55938         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
55939         * build-aux/useless-if-before-free: New file.
55940         * modules/useless-if-before-free: New file.
55941
55942         * build-aux/gitlog-to-changelog: Use committer date, not author date.
55943
55944         xstrtol_error: Fix typo.
55945         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
55946         s/exit_failure/exit_status/.
55947
55948 2008-02-09  Jim Meyering  <meyering@redhat.com>
55949
55950         New script and module: gitlog-to-changelog
55951         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
55952         * modules/gitlog-to-changelog: New file.
55953         * build-aux/gitlog-to-changelog: New file.
55954
55955 2008-02-08  Jim Meyering  <meyering@redhat.com>
55956
55957         Avoid two "parameter unused" warnings.
55958         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
55959         Mark "st" as used.
55960
55961         Use "git COMMAND", not "git-COMMAND".
55962         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
55963         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
55964         * build-aux/git-version-gen: Use "git status", not "git-status".
55965
55966 2008-02-07  Bruno Haible  <bruno@clisp.org>
55967
55968         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
55969         Avoids a crash on Windows Vista.
55970         Reported by Adam Strzelecki <ono@java.pl> via
55971         Simon Josefsson <simon@josefsson.org>.
55972
55973 2008-02-06  Bruno Haible  <bruno@clisp.org>
55974
55975         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
55976         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
55977         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
55978         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
55979         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
55980         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
55981         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
55982         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
55983         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
55984         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
55985         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
55986         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
55987         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
55988         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
55989         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
55990         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
55991         left-adjust flag.
55992         * tests/test-snprintf-posix.h (test_function): Likewise.
55993         * tests/test-sprintf-posix.h (test_function): Likewise.
55994         * tests/test-vasprintf-posix.c (test_function): Likewise.
55995         * doc/posix-functions/fprintf.texi: Update.
55996         * doc/posix-functions/printf.texi: Update.
55997         * doc/posix-functions/snprintf.texi: Update.
55998         * doc/posix-functions/sprintf.texi: Update.
55999         * doc/posix-functions/vfprintf.texi: Update.
56000         * doc/posix-functions/vprintf.texi: Update.
56001         * doc/posix-functions/vsnprintf.texi: Update.
56002         * doc/posix-functions/vsprintf.texi: Update.
56003         Reported by Peter Fales <psfales@alcatel-lucent.com>.
56004
56005 2008-02-06  Bruno Haible  <bruno@clisp.org>
56006
56007         Fix bug introduced on 2008-01-26.
56008         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
56009
56010 2008-02-06  Bruno Haible  <bruno@clisp.org>
56011
56012         Fix bug introduced on 2007-06-10.
56013         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
56014         !NEED_PRINTF_FLAG_ZERO.
56015
56016 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
56017
56018         getloadavg: use libperfstat on AIX5
56019         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
56020
56021 2008-02-03  Bruno Haible  <bruno@clisp.org>
56022
56023         * lib/diffseq.h: Add comments about required #includes.
56024         Reported by Michael Biggs <gnulib@doubleplum.net>.
56025
56026 2008-02-01  Bruno Haible  <bruno@clisp.org>
56027
56028         * users.txt: Add gnuit.
56029
56030 2008-01-31  Bruno Haible  <bruno@clisp.org>
56031
56032         * lib/md4.c (set_uint32): Mark as inline.
56033         * lib/md5.c (set_uint32): Likewise.
56034         * lib/sha1.c (set_uint32): Likewise.
56035         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
56036         * m4/md5.m4 (gl_MD5): Likewise.
56037         * m4/sha1.m4 (gl_SHA1): Likewise.
56038
56039 2008-01-31  Jim Meyering  <meyering@redhat.com>
56040
56041         Use "sizeof VAR", rather than a literal "4".
56042         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
56043         * lib/md4.c (md4_read_ctx): Likewise.
56044         * lib/sha1.c (sha1_read_ctx): Likewise.
56045
56046 2008-01-31  Simon Josefsson  <simon@josefsson.org>
56047
56048         * tests/test-sha1.c: New file, based on test-md5.c.
56049
56050         * modules/crypto/sha1-tests: New file.
56051
56052 2008-01-31  Simon Josefsson  <simon@josefsson.org>
56053
56054         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
56055
56056 2008-01-31  Jim Meyering  <meyering@redhat.com>
56057
56058         Prefer "sizeof v" over the equivalent "4".
56059         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
56060         * lib/md5.c (set_uint32): Likewise.
56061         * lib/sha1.c (set_uint32): Likewise.
56062
56063 2008-01-31  Simon Josefsson  <simon@josefsson.org>
56064
56065         * lib/sha1.c (set_uint32): Mark function as static.
56066
56067 2008-01-31  Simon Josefsson  <simon@josefsson.org>
56068
56069         md2: clarify comments to say that alignment is not required.
56070         * lib/md2.h: Remove warning about alignment in comment.
56071         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
56072         never been required.
56073
56074 2008-01-31  Simon Josefsson  <simon@josefsson.org>
56075
56076         md4: adapt alignment constraint fix from sha1.
56077         * lib/md4.c (set_uint32): New function, from sha1.c
56078         (md4_read_ctx): Use it.
56079         (md4_finish_ctx): Doc fix.
56080         * lib/md4.h: Doc fix.
56081
56082 2008-01-31  Simon Josefsson  <simon@josefsson.org>
56083
56084         md5: adapt alignment constraint fix from sha1.
56085         * lib/md5.c (set_uint32): New function, from sha1.c
56086         (md5_read_ctx): Use it.
56087         (md5_finish_ctx): Doc fix.
56088         * lib/md5.h: Doc fix.
56089
56090 2008-01-30  Peter Palfrader  <weasel@debian.org>
56091
56092         sha1: remove the result buffer alignment constraint
56093         * lib/sha1.c (set_uint32): New function.
56094         (sha1_read_ctx): Rewrite to remove the result buffer alignment
56095         constraint.
56096         (sha1_finish_ctx): Remove comment warning about alignment constraint.
56097         * lib/sha1.h: Likewise.
56098
56099 2008-01-30  Andreas Schwab  <schwab@suse.de>
56100             Bruno Haible  <bruno@clisp.org>
56101
56102         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
56103         correct definition of LDBL_MIN_EXP.
56104
56105 2008-01-30  Karl Berry  <karl@gnu.org>
56106
56107         * config/srclist-update: try to preserve x bit on updates.
56108         * config/srclistvars.sh: update for karl.
56109
56110 2008-01-29  Jim Meyering  <meyering@redhat.com>
56111
56112         vasnprintf.c: Avoid warning about unused label
56113         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
56114         "overflow" label definition and associated code with the
56115         same cpp condition that guards the sole use of that label.
56116
56117 2008-01-26  Bruno Haible  <bruno@clisp.org>
56118
56119         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
56120         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
56121         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
56122         * lib/isnanl-nolibm.h (isnanl): Likewise.
56123         Reported by Paul Eggert <eggert@cs.ucla.edu>.
56124
56125 2008-01-26  Bruno Haible  <bruno@clisp.org>
56126
56127         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
56128         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
56129
56130 2008-01-26  Bruno Haible  <bruno@clisp.org>
56131
56132         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
56133         GCC >= 4.0 built-in.
56134         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
56135
56136 2008-01-26  Bruno Haible  <bruno@clisp.org>
56137
56138         Rename isnan, applicable to 'double' only, to isnand.
56139         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
56140         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
56141         (configure.ac): Update.
56142         (Include): Replace "isnan.h" with "isnand.h".
56143         * m4/isnand.m4: Renamed from m4/isnan.m4.
56144         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
56145         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
56146         instead of isnan.c.
56147         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
56148         instead of HAVE_ISNAN_IN_LIBC.
56149         (isnand): Renamed from isnan.
56150         * lib/isnand.c: New file.
56151         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
56152         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
56153         (Makefile.am): Update.
56154         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
56155         Include isnand.h instead of isnan.h.
56156         (main): Test isnand instead of isnan.
56157         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
56158         isnan-nolibm.
56159         * modules/frexp (Depends-on): Likewise.
56160         * modules/frexp-tests (Depends-on): Likewise.
56161         * modules/frexp-nolibm (Depends-on): Likewise.
56162         * modules/frexp-nolibm-tests (Depends-on): Likewise.
56163         * modules/isfinite (Depends-on): Likewise.
56164         * modules/round-tests (Depends-on): Likewise.
56165         * modules/signbit (Depends-on): Likewise.
56166         * modules/signbit-tests (Depends-on): Likewise.
56167         * modules/snprintf-posix (Depends-on): Likewise.
56168         * modules/sprintf-posix (Depends-on): Likewise.
56169         * modules/trunc-tests (Depends-on): Likewise.
56170         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
56171         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
56172         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
56173         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
56174         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
56175         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
56176         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
56177         * modules/vasnprintf-posix (Depends-on): Likewise.
56178         * modules/vasprintf-posix (Depends-on): Likewise.
56179         * modules/vfprintf-posix (Depends-on): Likewise.
56180         * modules/vsnprintf-posix (Depends-on): Likewise.
56181         * modules/vsprintf-posix (Depends-on): Likewise.
56182         * lib/frexp.c: Include isnand.h instead of isnan.h.
56183         (ISNAN): Set to isnand instead of isnan.
56184         * lib/isfinite.c: Include isnand.h instead of isnan.h.
56185         (gl_isfinited): Use isnand instead of isnan.
56186         * lib/signbitd.c: Include isnand.h instead of isnan.h.
56187         (gl_signbitd): Use isnand instead of isnan.
56188         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
56189         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
56190         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
56191         (main): Use isnand instead of isnan.
56192         * tests/test-round1.c: Include isnand.h.
56193         (main): Use isnand instead of isnan.
56194         * tests/test-round2.c: Include isnand.h instead of isnan.h.
56195         (ISNAN): Set to isnand instead of isnan.
56196         * tests/test-trunc1.c: Include isnand.h.
56197         (main): Use isnand instead of isnan.
56198         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
56199         (equal): Use isnand instead of isnan.
56200         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
56201         isnand-nolibm.
56202         * NEWS: Mention the change.
56203
56204 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
56205             Bruno Haible  <bruno@clisp.org>
56206
56207         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
56208         the GCC builtins for signbits are present and set
56209         REPLACE_SIGNBIT_USING_GCC if so.
56210         * lib/math.in.h (signbit): Define using GCC builtins if
56211         REPLACE_SIGNBIT_USING_GCC is set.
56212         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
56213         REPLACE_SIGNBIT_USING_GCC.
56214         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
56215
56216 2008-01-25  Jim Meyering  <meyering@redhat.com>
56217
56218         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
56219         * lib/poll.c: Include <config.h>, not "config.h".
56220         * tests/test-getaddrinfo.c: Likewise.
56221
56222 2008-01-25  Simon Josefsson  <simon@josefsson.org>
56223
56224         * modules/sockets-tests: New file.
56225
56226 2008-01-24  Simon Josefsson  <simon@josefsson.org>
56227
56228         * modules/sockets: New module, can be used to call WSA_Startup and
56229         WSA_Cleanup when needed.
56230
56231         * lib/sockets.h, lib/sockets.c: New files.
56232
56233         * m4/sockets.m4: New file.
56234
56235         * tests/test-sockets.c: New file.
56236
56237 2008-01-19  Bruno Haible  <bruno@clisp.org>
56238
56239         * doc/posix-headers: Renamed from doc/headers.
56240         * doc/posix-functions: Renamed from doc/functions.
56241         * doc/gnulib.texi: Update.
56242
56243 2008-01-19  Bruno Haible  <bruno@clisp.org>
56244
56245         * doc/glibc-functions/strcasestr.texi: Include contents of
56246         doc/functions/strcasestr.texi, fixing the list of platforms.
56247         * doc/functions/strcasestr.texi: Remove file.
56248
56249 2008-01-19  Bruno Haible  <bruno@clisp.org>
56250
56251         * doc/glibc-functions/memmem.texi: Include contents of
56252         doc/functions/memmem.texi.
56253         * doc/functions/memmem.texi: Remove file.
56254
56255 2008-01-18  Bruno Haible  <bruno@clisp.org>
56256
56257         * doc/glibc-functions/*.texi: New files.
56258         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
56259         to use the new files.
56260
56261 2008-01-17  Bruno Haible  <bruno@clisp.org>
56262
56263         * tests/test-gethostname.c (main): Fix printf statement.
56264
56265 2008-01-17  Simon Josefsson  <simon@josefsson.org>
56266
56267         * modules/gethostname-tests: New file.
56268
56269         * tests/test-gethostname.c: New file.
56270
56271 2008-01-17  Simon Josefsson  <simon@josefsson.org>
56272
56273         * lib/gethostname.c: Include string.h unconditionally, strncpy is
56274         used by the UNAME case.  Reported by Bruno Haible
56275         <bruno@clisp.org>.
56276
56277 2008-01-17  Eric Blake  <ebb9@byu.net>
56278
56279         Convert c-strcasestr to be more efficient.
56280         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
56281         (Depends-on): Add c-strcase, remove malloca, strnlen.
56282         * tests/test-c-strcasestr.c (main): Enhance test.
56283         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
56284
56285 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
56286
56287         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
56288         Use it in creating po/Makevars.
56289
56290 2008-01-15  Simon Josefsson  <simon@josefsson.org>
56291
56292         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
56293         Applications that requires it should initialize libgcrypt
56294         manually.
56295
56296 2008-01-16  Simon Josefsson  <simon@josefsson.org>
56297
56298         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
56299
56300 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
56301
56302         Fix problem with getdate on mingw32 reported by Simon Josefsson
56303         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
56304         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
56305         tzname", when deciding whether to declare tzname.
56306         * lib/strftime.c (tzname): Likewise.
56307
56308 2008-01-15  Bruno Haible  <bruno@clisp.org>
56309
56310         Work around a MacOS X 10.5 bug in frexpl().
56311         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
56312         * doc/functions/frexpl.texi: Document the bug.
56313         Reported by Elias Pipping <pipping@gentoo.org>.
56314
56315 2008-01-14  Eric Blake  <ebb9@byu.net>
56316
56317         Touch up previous patch.
56318         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
56319         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
56320
56321         Convert strcasestr module to use Two-Way algorithm.
56322         * modules/strcasestr-simple: New module, based on the old
56323         strcasestr, but with Two-Way rather than KMP.
56324         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
56325         * lib/string.in.h (rpl_strcasestr): Declare.
56326         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
56327         performance.
56328         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
56329         * modules/string (Makefile.am): Support strcasestr.
56330         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
56331         * modules/strcasestr-tests (Depends-on): Check for alarm.
56332         * tests/test-strcasestr.c: Augment test.
56333         * lib/str-two-way.h: Clean up stray macro.
56334         * NEWS: Document new module.
56335         * MODULES.html.sh (string handling): Likewise.
56336         * doc/functions/strcasestr.texi: New file.
56337         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
56338         here, since it is not a POSIX function.
56339
56340 2008-01-14  Colin Watson  <cjwatson@debian.org>
56341             Bruno Haible  <bruno@clisp.org>
56342
56343         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
56344         works fine; if not, set REPLACE_STRSIGNAL.
56345         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
56346         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
56347         REPLACE_STRSIGNAL.
56348         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
56349         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
56350         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
56351
56352 2008-01-14  Bruno Haible  <bruno@clisp.org>
56353
56354         * modules/strsignal (Include): Change to <string.h>.
56355
56356 2008-01-14  Colin Watson  <cjwatson@debian.org>
56357
56358         * modules/argp (Notice): Add a notice recommending to change
56359         XGETTEXT_OPTIONS.
56360         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
56361
56362 2008-01-13  Colin Watson  <cjwatson@debian.org>
56363
56364         * modules/strsignal-tests: New file.
56365         * tests/test-strsignal.c: New file.
56366
56367         * lib/strsignal.c: New file, from glibc with modifications.
56368         * lib/siglist.h: New file, from glibc with modifications.
56369         * lib/string.in.h (strsignal): New declaration.
56370         * m4/strsignal.m4: New file.
56371         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
56372         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
56373         * modules/strsignal: New file.
56374         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
56375         HAVE_DECL_STRSIGNAL.
56376
56377 2008-01-13  Bruno Haible  <bruno@clisp.org>
56378
56379         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
56380         locale encoding is not ASCII. Needed for OpenBSD 4.0.
56381         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
56382         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
56383
56384 2008-01-13  Bruno Haible  <bruno@clisp.org>
56385
56386         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
56387         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
56388         * lib/argp.h (__attribute__): Likewise.
56389         * lib/c-stack.c (__attribute__): Likewise.
56390         * lib/error.h (__attribute__): Likewise.
56391         * lib/fts.c (__attribute__): Likewise.
56392         * lib/openat.h (__attribute__): Likewise.
56393         * lib/stdio.in.h (__attribute__): Likewise.
56394         * lib/string.in.h (__attribute__): Likewise.
56395         * lib/utimens.c (__attribute__): Likewise.
56396         * lib/vasnprintf.h (__attribute__): Likewise.
56397         * lib/xalloc.h (__attribute__): Likewise.
56398         * lib/xprintf.h (__attribute__): Likewise.
56399         * lib/xstrtol.h (__attribute__): Likewise.
56400         * lib/xvasprintf.h (__attribute__): Likewise.
56401
56402 2008-01-12  Bruno Haible  <bruno@clisp.org>
56403
56404         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
56405         * doc/glibc-headers/a.out.texi: New file.
56406         * doc/glibc-headers/aliases.texi: New file.
56407         * doc/glibc-headers/alloca.texi: New file.
56408         * doc/glibc-headers/ar.texi: New file.
56409         * doc/glibc-headers/argp.texi: New file.
56410         * doc/glibc-headers/argz.texi: New file.
56411         * doc/glibc-headers/byteswap.texi: New file.
56412         * doc/glibc-headers/crypt.texi: New file.
56413         * doc/glibc-headers/endian.texi: New file.
56414         * doc/glibc-headers/envz.texi: New file.
56415         * doc/glibc-headers/err.texi: New file.
56416         * doc/glibc-headers/error.texi: New file.
56417         * doc/glibc-headers/execinfo.texi: New file.
56418         * doc/glibc-headers/fpu_control.texi: New file.
56419         * doc/glibc-headers/fstab.texi: New file.
56420         * doc/glibc-headers/fts.texi: New file.
56421         * doc/glibc-headers/getopt.texi: New file.
56422         * doc/glibc-headers/ieee754.texi: New file.
56423         * doc/glibc-headers/ifaddrs.texi: New file.
56424         * doc/glibc-headers/libintl.texi: New file.
56425         * doc/glibc-headers/mcheck.texi: New file.
56426         * doc/glibc-headers/mntent.texi: New file.
56427         * doc/glibc-headers/obstack.texi: New file.
56428         * doc/glibc-headers/paths.texi: New file.
56429         * doc/glibc-headers/printf.texi: New file.
56430         * doc/glibc-headers/pty.texi: New file.
56431         * doc/glibc-headers/resolv.texi: New file.
56432         * doc/glibc-headers/shadow.texi: New file.
56433         * doc/glibc-headers/sysexits.texi: New file.
56434         * doc/glibc-headers/ttyent.texi: New file.
56435
56436 2008-01-12  Jim Meyering  <meyering@redhat.com>
56437
56438         announce-gen: emit Gnulib's git-based version string.
56439         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
56440         New option --gnulib-version=V, where V is expected to be
56441         the output of running git describe in the gnulib directory.
56442         (get_tool_versions): Request feedback on xdelta.  I suspect it's
56443         not useful, and plan to stop publishing an xdelta file with each
56444         coreutils release.
56445
56446         * build-aux/announce-gen: Also check for lzma-compressed files.
56447
56448 2008-01-11  Bruno Haible  <bruno@clisp.org>
56449
56450         * tests/test-memmem.c (main): Increase maximum allowed time.
56451         * tests/test-strstr.c (main): Likewise.
56452
56453 2008-01-11  Bruno Haible  <bruno@clisp.org>
56454
56455         * doc/functions/memmem.texi: Add more precisions about platforms.
56456         * doc/functions/strstr.texi: Likewise.
56457
56458 2008-01-10  Eric Blake  <ebb9@byu.net>
56459
56460         * m4/strstr.m4: Delete cruft from copy-n-paste.
56461         Reported by Bruno Haible.
56462
56463 2008-01-10  Bruno Haible  <bruno@clisp.org>
56464
56465         Make c-strstr rely on strstr.
56466         * lib/c-strstr.c: Don't include str-kmp.h.
56467         (c_strstr): Define in terms of strstr.
56468         * modules/c-strstr (Files): Remove lib/str-kmp.h.
56469         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
56470
56471 2008-01-10  Bruno Haible  <bruno@clisp.org>
56472
56473         * doc/gnulib.texi (String Functions in C Locale): New section.
56474         * doc/c-ctype.texi: New file.
56475         * doc/c-strcase.texi: New file.
56476         * doc/c-strcaseeq.texi: New file.
56477         * doc/c-strcasestr.texi: New file.
56478         * doc/c-strstr.texi: New file.
56479         * doc/c-strtod.texi: New file.
56480         * doc/c-strtold.texi: New file.
56481
56482 2008-01-10  Eric Blake  <ebb9@byu.net>
56483
56484         * lib/relocatable.h: Fix a comment.
56485
56486 2008-01-10  Eric Blake  <ebb9@byu.net>
56487
56488         Share two-way algorithm.
56489         * lib/str-two-way.h: New file, merged from...
56490         * lib/memmem.c: ...here...
56491         * lib/strstr.c: ...and here.
56492         * modules/memmem (Files): Use it.
56493         * modules/strstr (Files): Likewise.
56494
56495         Avoid quadratic strstr implementations.
56496         * lib/strstr.c: New file.
56497         * m4/strstr.m4: Likewise.
56498         * modules/strstr: Likewise.
56499         * modules/strstr-tests: Likewise.
56500         * tests/test-strstr.c: Likewise.
56501         * lib/string.in.h (rpl_strstr): Declare.
56502         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
56503         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
56504         * modules/string (Makefile.am): Likewise.
56505         * MODULES.html.sh (string handling): Mention new module.
56506         * doc/functions/strstr.texi (strstr): Document the bug.
56507
56508 2008-01-10  Bruno Haible  <bruno@clisp.org>
56509
56510         * lib/relocatable.h (relocate): State whether result is freshly
56511         allocated or not.
56512         * lib/relocatable.c (relocate): Return a freshly allocated string
56513         instead of a pointer to a privately held string.
56514         Reported by Sylvain Beucler <beuc@gnu.org>.
56515
56516 2008-01-10  Colin Watson  <cjwatson@debian.org>
56517
56518         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
56519         s/S_ISNLK/S_ISLNK/.
56520
56521 2008-01-09  Bruno Haible  <bruno@clisp.org>
56522
56523         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
56524         and other files.
56525         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
56526         if it's only a guess.
56527         * modules/memmem: Simplify by depending on memmem-simple.
56528
56529 2008-01-09  Bruno Haible  <bruno@clisp.org>
56530
56531         Work around OpenBSD 4.0 tdelete() bug.
56532         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
56533         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
56534         macros and don't redefine the enum values.
56535         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
56536         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
56537         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
56538
56539 2008-01-09  Bruno Haible  <bruno@clisp.org>
56540
56541         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
56542         (main): Don't perform the tests if setlocale did not install a UTF-8
56543         locale. Needed on OpenBSD 4.0.
56544         * modules/wcwidth-tests (Depends-on): Add localcharset.
56545
56546 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
56547
56548         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
56549         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
56550         * NEWS: announce this.
56551         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
56552
56553 2008-01-09  Simon Josefsson  <simon@josefsson.org>
56554         and Eric Blake  <ebb9@byu.net>
56555
56556         Add memmem-simple module.
56557         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
56558         (gl_FUNC_MEMMEM): Separate performance from presence checks.
56559         * modules/memmem-simple: New file.
56560         * modules/memmem (Description): Tweak.
56561         * MODULES.html.sh (string handling): Mention new module.
56562         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
56563         addressed by memmem-simple.
56564         * NEWS: Document the difference.
56565
56566 2008-01-09  Eric Blake  <ebb9@byu.net>
56567
56568         Give gcc some memmem optimization hints.
56569         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
56570         (strcasestr): Declare as pure.
56571         * modules/memmem (Maintainer): Claim my implementation.
56572
56573 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56574
56575         Support AIX 6.1 and higher.
56576         * build-aux/config.libpath: Likewise.
56577         * build-aux/config.rpath: Likewise.
56578
56579 2008-01-08  Jim Meyering  <meyering@redhat.com>
56580             Bruno Haible  <bruno@clisp.org>
56581
56582         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
56583         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
56584         Reported by Peter Fales in
56585         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
56586
56587 2008-01-08  Bruno Haible  <bruno@clisp.org>
56588
56589         * modules/unictype/category-of (Depends-on): Add
56590         unictype/category-none.
56591         * modules/unictype/category-and-tests (Depends-on): Add
56592         unictype/category-{L,N,Lu,Nd}.
56593         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
56594         * modules/unictype/category-or-tests (Depends-on): Add
56595         unictype/category-{L,N}.
56596         * modules/unictype/category-name-tests (Depends-on): Add
56597         unictype/category-{Z,Nl}.
56598         Reported by Simon Josefsson.
56599
56600 2008-01-08  Bruno Haible  <bruno@clisp.org>
56601
56602         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
56603         convention better.
56604         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
56605         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
56606         Reported by Peter Miller <millerp@canb.auug.org.au>.
56607
56608 2008-01-08  Eric Blake  <ebb9@byu.net>
56609
56610         Rewrite memmem to guarantee linear complexity without malloc.
56611         * lib/memmem.c (memmem): Use Two-Way rather than
56612         Knuth-Morris-Pratt, to allow O(1) space usage.
56613         (critical_factorization, two_way_short_needle)
56614         (two_way_long_needle): New functions.
56615         (knuth_morris_pratt): Delete.
56616         * modules/memmem (Depends-on): No longer need malloca or stdbool.
56617         Add stdint.
56618         * tests/test-memmem.c (main): Add tests for periodic needle and
56619         sublinear performance.
56620         * doc/functions/memmem.texi (memmem): Document other deficiencies
56621         in cygwin and older glibc.
56622
56623 2008-01-08  Bruno Haible  <bruno@clisp.org>
56624
56625         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
56626         augmentation.
56627
56628 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
56629
56630         Add a configure time option: --disable-acl.
56631         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
56632         AC_ARG_ENABLE(acl).
56633
56634 2008-01-06  Simon Josefsson  <simon@josefsson.org>
56635
56636         * tests/test-localename.c: Don't include obsolete "setenv.h".
56637
56638         * modules/localename-tests (Depends-on): Need unsetenv.
56639
56640 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56641
56642         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
56643
56644 2008-01-06  Colin Watson  <cjwatson@debian.org>
56645
56646         * users.txt: Add man-db.
56647
56648 2008-01-07  Bruno Haible  <bruno@clisp.org>
56649
56650         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
56651         previous section name.
56652
56653 2008-01-07  Bruno Haible  <bruno@clisp.org>
56654
56655         * lib/progname.c (set_program_name): Don't strip off a leading
56656         "lt-" prefix outside a .libs directory.
56657         Suggested by Paul Eggert.
56658
56659 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
56660             Bruno Haible  <bruno@clisp.org>
56661
56662         Improve memory cleanup in 'relocatable' module.
56663         * lib/relocatable.h (compute_curr_prefix): Change return type to
56664         'char *'.
56665         * lib/relocatable.c (compute_curr_prefix): Change return type to
56666         'char *'. Free curr_installdir after use.
56667         (relocate): Free curr_prefix_better after use.
56668         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
56669
56670 2008-01-01  Bruno Haible  <bruno@clisp.org>
56671
56672         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
56673         failure on older glibc systems.
56674         Reported by Peter Fales <psfales@alcatel-lucent.com>.
56675
56676 2008-01-05  Eric Blake  <ebb9@byu.net>
56677
56678         Avoid quadratic system memmem.
56679         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
56680         Reported by Ralf Wildenhues.
56681
56682         Fix memmem test for mingw.
56683         * modules/memmem-tests (configure.ac): Check for alarm.
56684         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
56685         it.
56686         * doc/functions/memmem.texi: New file.
56687         * doc/gnulib.texi (Function Substitutes): Add memmem.
56688         Reported by Bruno Haible.
56689
56690 2008-01-04  Bruno Haible  <bruno@clisp.org>
56691
56692         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
56693         Require gl_HEADER_STRINGS_H_DEFAULTS, not
56694         gl_HEADER_STRING_H_DEFAULTS.
56695
56696 2008-01-04  Eric Blake  <ebb9@byu.net>
56697
56698         Shorten duration of memmem test.
56699         * tests/test-memmem.c (main): Use alarm to declare failure if test
56700         is taking too long.
56701         Reported by Ralf Wildenhues.
56702
56703 2007-12-21  Simon Josefsson  <simon@josefsson.org>
56704
56705         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
56706         string, needed by strerror.
56707
56708 2008-01-03  Colin Watson  <cjwatson@debian.org>
56709             Bruno Haible  <bruno@clisp.org>
56710
56711         * doc/gnulib-tool.texi (Localization): New section.
56712
56713 2008-01-02  Bruno Haible  <bruno@clisp.org>
56714
56715         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
56716         variables to 'unsigned char *' type.
56717         Reported by Paul Eggert.
56718
56719 2008-01-02  Jim Meyering  <jim@meyering.net>
56720
56721         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
56722
56723 2007-12-31  Jim Meyering  <jim@meyering.net>
56724
56725         Avoid use of private FTS type name.
56726         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
56727
56728 2007-12-30  Karl Berry  <karl@gnu.org>
56729
56730         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
56731         work around defect in Texinfo and/or the standalone Info browser.
56732
56733 2007-12-30  Bruno Haible  <bruno@clisp.org>
56734
56735         Unify 5 copies of the KMP code.
56736         * lib/str-kmp.h: New file.
56737         * lib/c-strcasestr.c: Include str-kmp.h.
56738         (knuth_morris_pratt): Remove function.
56739         (c_strcasestr): Update.
56740         * lib/c-strstr.c: Include str-kmp.h.
56741         (knuth_morris_pratt): Remove function.
56742         (c_strcasestr): Update.
56743         * lib/mbscasestr.c: Include str-kmp.h.
56744         (knuth_morris_pratt_unibyte): Remove function.
56745         * lib/mbsstr.c: Include str-kmp.h.
56746         (knuth_morris_pratt_unibyte): Remove function.
56747         * lib/strcasestr.c: Include str-kmp.h.
56748         (knuth_morris_pratt): Remove function.
56749         (strcasestr): Update.
56750         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
56751         * modules/c-strstr (Files): Likewise.
56752         * modules/mbscasestr (Files): Likewise.
56753         * modules/mbsstr (Files): Likewise.
56754         * modules/strcasestr (Files): Likewise.
56755         Suggested by Paul Eggert.
56756
56757 2007-12-30  Bruno Haible  <bruno@clisp.org>
56758
56759         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
56760         defined.
56761
56762 2007-12-30  Bruno Haible  <bruno@clisp.org>
56763
56764         * lib/xmalloca.h: Include xalloc.h.
56765         (xnmalloca): New macro.
56766
56767 2007-12-30  Bruno Haible  <bruno@clisp.org>
56768
56769         * lib/malloca.h (nmalloca): New macro.
56770         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
56771         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
56772         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
56773         knuth_morris_pratt_multibyte): Likewise.
56774         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
56775         knuth_morris_pratt_multibyte): Likewise.
56776         * lib/memmem.c (knuth_morris_pratt): Likewise.
56777         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
56778
56779 2007-12-25  Bruno Haible  <bruno@clisp.org>
56780
56781         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
56782         * lib/glob.c: Don't include openat.h.
56783         (link_exists2_p): Add back the code that deals with the
56784         !GLOB_ALTDIRFUNC case.
56785         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
56786         let it do the filename concatenation.
56787         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
56788         * modules/glob (Depends-on): Remove openat.
56789
56790 2007-12-31  Bruno Haible  <bruno@clisp.org>
56791
56792         * modules/dirfd (License): Change to LGPLv2+.
56793         Approved by Jim Meyering.
56794
56795 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
56796
56797         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
56798         when multiplying M by sizeof (size_t).
56799
56800 2007-12-10  Martin Lambers  <marlam@marlam.de>
56801
56802         Override getpagesize on mingw.
56803         * lib/getpagesize.c: New file.
56804         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
56805         * modules/getpagesize (Files): Add lib/getpagesize.c.
56806         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
56807         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
56808         REPLACE_GETPAGESIZE.
56809         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
56810
56811 2007-12-25  Bruno Haible  <bruno@clisp.org>
56812
56813         * modules/localcharset (Notice): New field.
56814         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
56815         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
56816
56817 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
56818             Bruno Haible  <bruno@clisp.org>
56819
56820         Avoid using the syntax symbol() in formatted documentation.
56821         * MODULES.html.sh (func_module): When replacing symbol() with a
56822         hyperlink, remove the parentheses. Show an error if some remain.
56823         Recognize and render the '...' syntax.
56824         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
56825         Rework. Add paragraph about GCC's inlining.
56826         * doc/alloca.texi: Likewise.
56827         * doc/error.texi: Remove parentheses from symbol reference.
56828         * doc/gnulib-intro.texi: Likewise.
56829         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
56830         * modules/fnmatch (Description): Reword to say "the ... function".
56831         * modules/full-read (Description): Likewise.
56832         * modules/full-write (Description): Likewise.
56833         * modules/safe-read (Description): Likewise.
56834         * modules/safe-write (Description): Likewise.
56835         * modules/strchrnul (Description): Likewise.
56836         * modules/trim (Description): Likewise.
56837         * modules/error (Description): Remove parentheses from symbol
56838         references.
56839         * modules/verror (Description): Likewise.
56840         Reported by Karl Berry.
56841
56842 2007-12-25  Bruno Haible  <bruno@clisp.org>
56843
56844         Fixup after 2007-10-16 commit.
56845         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
56846
56847 2007-12-24  Bruno Haible  <bruno@clisp.org>
56848
56849         Make --enable-relocatable work with DESTDIR.
56850         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
56851         to compute installdir from destprog.
56852         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
56853         also set the RELOC_DESTDIR variable.
56854         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
56855
56856 2007-12-24  Bruno Haible  <bruno@clisp.org>
56857
56858         Fix link error due to xalloc_die().
56859         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
56860         of xreadlink.
56861         * lib/relocwrapper.c: Update comments.
56862         * build-aux/install-reloc: Remove xreadlink.c from file list.
56863         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
56864         xreadlink.c.
56865         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
56866
56867 2007-12-24  Bruno Haible  <bruno@clisp.org>
56868
56869         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
56870         * lib/setenv.h: Remove file.
56871         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
56872         lib/setenv.h.
56873         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
56874         (Depends-on): Add stdlib.
56875         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
56876         gl_FUNC_UNSETENV.
56877         (Include): Replace setenv.h with <stdlib.h>.
56878         * modules/unsetenv: New file.
56879         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
56880         * lib/unsetenv.c: Include <stdlib.h> first.
56881         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
56882         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
56883         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
56884         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
56885         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
56886         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
56887         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
56888         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
56889         * doc/functions/unsetenv.texi: Update.
56890         * modules/xsetenv (Depends-on): Add unsetenv.
56891         * modules/getdate (Depends-on): Likewise.
56892         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
56893         * lib/xsetenv.c: Don't include setenv.h.
56894         * lib/getdate.y: Likewise.
56895         * lib/relocwrapper.c: Likewise.
56896         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
56897         (Depends-on): Add stdlib.
56898         * NEWS: Mention the changes.
56899         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
56900
56901 2007-12-23  Bruno Haible  <bruno@clisp.org>
56902
56903         * lib/memmem.c (memmem): Use lowercase variable names. Tab
56904         indentation.
56905
56906 2007-12-23  Bruno Haible  <bruno@clisp.org>
56907
56908         * lib/c-strcasestr.c: Add more comments.
56909         * lib/c-strstr.c: Likewise.
56910         * lib/mbscasestr.c: Likewise.
56911         * lib/mbsstr.c: Likewise.
56912         * lib/strcasestr.c: Likewise.
56913         * lib/memmem.c: Likewise.
56914
56915 2007-12-23  Bruno Haible  <bruno@clisp.org>
56916
56917         * tests/test-memmem.c: Include <string.h> first.
56918
56919 2007-12-22  Bruno Haible  <bruno@clisp.org>
56920
56921         * gnulib-tool (func_create_testdir): Change $auxdir while generating
56922         the contents of $testsbase.
56923         Reported by Ralf Wildenhues.
56924
56925 2007-12-22  Bruno Haible  <bruno@clisp.org>
56926
56927         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
56928         two variables local_ldadd_before, local_ldadd_last.
56929
56930 2007-12-20  Eric Blake  <ebb9@byu.net>
56931
56932         Work around circular library issue when cross-compiling.
56933         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
56934         that progname.o does not need to pull in rpl_memcmp.
56935
56936 2007-12-19  Eric Blake  <ebb9@byu.net>
56937
56938         Fix memmem to avoid O(n^2) worst-case complexity.
56939         * lib/memmem.c (knuth_morris_pratt): New function.
56940         (memmem): Use it if first few naive iterations fail.
56941         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
56942         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
56943         * modules/memchr (License): Likewise.
56944         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
56945         malloca.
56946         * tests/test-memmem.c: Rewrite, borrowing ideas from
56947         test-mbsstr1.c; the old version wouldn't even compile!
56948         * modules/memmem-tests: New file.
56949         * lib/string.in.h (rpl_memmem): Add declaration.
56950         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
56951         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
56952         REPLACE_MEMMEM.
56953
56954 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
56955
56956         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
56957         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
56958         before any system include files, and undef after them all.  This
56959         should fix a problem on VMS reported by John E. Malmberg in
56960         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
56961
56962 2007-12-17  Eric Blake  <ebb9@byu.net>
56963
56964         Revert addition of verify, for BSD/OS.
56965         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
56966         can't handle large files, for the sake of obsolete platforms.
56967         * modules/fseeko (Depends-on): Remove verify.
56968         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
56969         * doc/functions/ftello.texi (ftello): Likewise.
56970         * doc/functions/fgetpos.texi (fgetpos): Likewise.
56971         Reported by Larry Jones.
56972
56973 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
56974
56975         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
56976         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
56977
56978 2007-12-17  Jim Meyering  <meyering@redhat.com>
56979
56980         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
56981         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
56982         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
56983         * modules/getcwd (Depends-on): Add openat.
56984         Reported by Petr Salinger.
56985
56986 2007-12-17  Bruno Haible  <bruno@clisp.org>
56987
56988         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
56989         avoid a segmentation fault of the configure test on x86_64 systems.
56990
56991 2007-12-15  Jim Meyering  <meyering@redhat.com>
56992
56993         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
56994
56995 2007-12-13  Eric Blake  <ebb9@byu.net>
56996
56997         Another fseek test.
56998         * tests/test-fseek.c (main): Also test ungetc handling.
56999         * tests/test-fseeko.c (main): Likewise.
57000         * modules/fseeko (Depends-on): Add verify.
57001         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
57002         large.
57003         Reported by Larry Jones.
57004
57005         Fix fseeko on mingw.
57006         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
57007         seek.
57008
57009         Beef up fseek tests.
57010         * tests/test-fseek.c (main): Also test eof handling.
57011         * tests/test-fseeko.c (main): Likewise.
57012         Reported by Larry Jones.
57013
57014 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
57015
57016         Fix fseeko on BSD-based platforms.
57017         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
57018         successful seek.
57019
57020 2007-12-12  Eric Blake  <ebb9@byu.net>
57021
57022         Allow circular dependency of separate libtests.a
57023         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
57024         when use_libtests.
57025
57026 2007-12-11  Eric Blake  <ebb9@byu.net>
57027
57028         Fix bug with -0.0L in previous patch.
57029         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
57030         * tests/test-isnan.c (main): Also test on zeroes.
57031         * tests/test-isnanf.c (main): Likewise.
57032         * tests/test-isnanl.h (main): Likewise.
57033
57034         Detect pseudo-denormals on x86 even when cross-compiling.
57035         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
57036         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
57037         invalid bit patterns that happen to satisfy ==.
57038
57039         Avoid link failures with separate libtests.a.
57040         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
57041         last, to satisfy circular dependencies.
57042
57043 2007-12-11  Eric Blake  <ebb9@byu.net>
57044         and Bruno Haible  <bruno@clisp.org>
57045
57046         Fix OpenBSD 4.0 <float.h> handling of long double.
57047         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
57048         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
57049         * doc/headers/float.texi (float.h): Document OpenBSD bug.
57050
57051 2007-12-11  Jim Meyering  <meyering@redhat.com>
57052
57053         * users.txt: Add libvirt.
57054
57055         Support versions of autoconf prior to 2.59c.
57056         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
57057         if it is not already defined.
57058
57059 2007-12-09  Bruno Haible  <bruno@clisp.org>
57060
57061         Let 'gnulib-tool --import' collect sources needed for the tests in
57062         tests/ rather than in lib/.
57063         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
57064         argument. If true, add rules to generate libtests.a, and put libtests.a
57065         into $(LDADD). Consider source files in subdirectories and set
57066         uses_subdirs.
57067         (func_emit_initmacro_start, func_emit_initmacro_end,
57068         func_emit_initmacro_done): Pass all arguments explicitly.
57069         (func_import): Determine two module lists main_modules,
57070         testsrelated_modules. Determine use_libtests. Determine two variables
57071         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
57072         instead of just sed_transform_lib_file. Determine two variables
57073         main_files and testsrelated_files. Compute 'files' as the union of
57074         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
57075         func_add_or_update. In the generated gnulib-comp.m4, collect the
57076         object files for tests/ in different variables than those for lib/.
57077         Substitute LIBTESTS_LIBDEPS.
57078         (func_create_testdir): Combine the uses_subdirs results from
57079         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
57080
57081 2007-12-09  Bruno Haible  <bruno@clisp.org>
57082
57083         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
57084         the build-aux directory.
57085
57086 2007-12-09  Bruno Haible  <bruno@clisp.org>
57087
57088         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
57089         introduced on 2006-09-09.
57090
57091 2007-12-07  Jim Meyering  <meyering@redhat.com>
57092
57093         Let these macros work also with autoconf-2.59.
57094         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
57095         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
57096         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
57097
57098 2007-12-06  Jim Meyering  <meyering@redhat.com>
57099
57100         Avoid a configure-time syntax error in gl_FUNC_ACL.
57101         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
57102         function in each branch, before testing the cache variable.
57103
57104 2007-12-04  Eric Blake  <ebb9@byu.net>
57105
57106         Make scripts executable.
57107         * build-aux/config.guess: Add execute permissions.
57108         * build-aux/config.sub: Likewise.
57109         * build-aux/gendocs.sh: Likewise.
57110
57111         Fix frexp on mingw.
57112         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
57113         cross-compiling.
57114         * doc/functions/frexp.texi (frexp): Document the bug.
57115
57116         Make cygwin fseeko check more reliable.
57117         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
57118         version numbers, rather than unrelated feature check.
57119         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
57120         * doc/functions/ftello.texi (ftello): Likewise.
57121         Reported by Bruno Haible.
57122
57123         * m4/strerror.m4: Bump version number.
57124
57125 2007-12-03  Bruno Haible  <bruno@clisp.org>
57126
57127         * doc/functions/mprotect.texi: Mention the mingw problem.
57128
57129 2007-12-03  Eric Blake  <ebb9@byu.net>
57130
57131         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
57132         REPLACE_STRERROR is initialized before this macro.
57133
57134 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
57135
57136         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
57137         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
57138         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
57139         put -lsec in even for programs other than 'ls'.  This fixes a problem
57140         for gettext reported by Bruno Haible in
57141         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
57142         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
57143         Add support for Solaris 10.  This isn't efficient, but should get the
57144         job done for now.
57145
57146 2007-12-03  James Youngman  <jay@gnu.org>
57147
57148         * doc/regexprops-generic.texi: change "an close-group" to "a
57149         close-group" and "illegal" to "not allowed".
57150
57151 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57152
57153         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
57154         pr_byname.h. Needed for the rare case when the maintainer has done
57155         "make maintainer-clean" in the source directory and then attempts a
57156         build outside the source directory.
57157         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
57158         scripts_byname.h.
57159
57160 2007-12-02  Martin Lambers <marlam@marlam.de>
57161             Bruno Haible  <bruno@clisp.org>
57162
57163         * lib/getpagesize.h: Remove file.
57164         * lib/unistd.in.h: Include declaration of getpagesize here.
57165         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
57166         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
57167         HAVE_SYS_PARAM_H.
57168         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
57169         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
57170         * modules/getpagesize (Files): Remove lib/getpagesize.h.
57171         (Depends-on): Add unistd.
57172         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
57173         (Include): Use <unistd.h> instead of getpagesize.h.
57174         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
57175         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
57176         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
57177         gl_GETPAGESIZE invocation, already handled by module dependency.
57178         * lib/pagealign_alloc.c: Don't include getpagesize.h.
57179
57180 2007-12-02  Bruno Haible  <bruno@clisp.org>
57181
57182         * modules/strings-tests: New file.
57183         * tests/test-strings.c: New file.
57184
57185         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
57186         * lib/strings.in.h: New file.
57187         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
57188         * m4/strings_h.m4: New file.
57189         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
57190         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
57191         * modules/strings: New file.
57192         * modules/string (Makefile.am): Update.
57193         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
57194         Reported by Karl Berry.
57195
57196 2007-12-01  Eric Blake  <ebb9@byu.net>
57197
57198         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
57199         accomodate fix in cygwin 1.5.25.
57200
57201 2007-12-01  Jim Meyering  <meyering@redhat.com>
57202
57203         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
57204         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
57205         that would inhibit utf8-optimization of a regexp containing line-
57206         or buffer-anchors, e.g., `^', `$'.
57207
57208 2007-11-30  Bruno Haible  <bruno@clisp.org>
57209
57210         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
57211         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
57212         glthread_recursive_lock_init.
57213         * lib/lock.c (glthread_recursive_lock_init)
57214         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
57215         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
57216
57217 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
57218
57219         New function qset_acl, like set_acl but with syscall semantics.
57220         * lib/acl.h (qset_acl): New decl.
57221         * lib/acl.c (qset_acl): New function.
57222         (set_acl): Use new function.  Use more-consistent diagnostics.
57223
57224 2007-11-28  Jim Meyering  <meyering@redhat.com>
57225
57226         * modules/physmem (License): Change from GPL to LGPLv2+.
57227
57228 2007-11-26  Bruno Haible  <bruno@clisp.org>
57229
57230         * lib/vasnprintf.c (decode_long_double): Don't abort if the
57231         'long double' type has excess precision.
57232         Reported by Jim Meyering in
57233         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
57234
57235 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57236
57237         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
57238         Sync from <http://gnu.org/licenses>.
57239         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
57240         with license text from same location.
57241         * doc/maintain.texi, doc/standards.texi:  Sync from
57242         <http://savannah.gnu.org/projects/gnustandards>.
57243
57244 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
57245         and Jim Meyering  <meyering@redhat.com>
57246
57247         Adjust getdate' grammar to accept a slightly more regular language.
57248         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
57249         Before, the former was rejected.
57250         * lib/getdate.y (digits_to_date_time): New function, factored
57251         out of ...
57252         (number): ...here.  Just call digits_to_date_time.
57253         (hybrid): New non-terminal to handle an <unsigned number,
57254         signed relative offset> sequence consistently.
57255
57256 2007-11-18  Jim Meyering  <meyering@redhat.com>
57257
57258         Pull my changes from coreutils:
57259         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
57260         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
57261         use of $gnulib_tool_option_extras, so that it's separated from the
57262         preceding argument.
57263
57264         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
57265         * build-aux/bootstrap (cp_mark_as_generated): Create any required
57266         parent destination directories before copying a file into place.
57267
57268 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
57269
57270         bootstrap: work also with 4-argument variant of AC_INIT
57271         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
57272
57273 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
57274
57275         Port test-getaddrinfo to Solaris.
57276         Problem reported by Bruno Haible in
57277         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
57278         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
57279         explanation of setting 'hints'.
57280         Don't reject an implementation merely because it returns EAI_SERVICE.
57281         (EAI_SERVICE): Define to 0 if not defined.
57282
57283 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
57284
57285         The license of gnu-make and posix-shell is now "GPLed build tool".
57286         * modules/gnu-make (License): Likewise.
57287         * modules/posix-shell (License): Likewise.
57288
57289         New module posix-shell, for determining a POSIX shell
57290         or perhaps something that is close enough to a POSIX shell.
57291         * m4/posix-shell.m4: New file.
57292         * modules/posix-shell: New file.
57293
57294         * MODULES.html.sh: Mention new module.
57295
57296         New module gnu-make, for determining whether we're using GNU Make.
57297         * m4/gnu-make.m4: New file.
57298         * modules/gnu-make: New file.
57299         * MODULES.html.sh: Mention new module.
57300
57301 2007-11-14  Jim Meyering  <meyering@redhat.com>
57302
57303         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
57304         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
57305         use this macro to create a function _definition_.
57306         Remove useless "#undef ARGMATCH_DIE".
57307
57308 2007-11-14  Bruno Haible  <bruno@clisp.org>
57309
57310         * lib/config.charset: Update for OpenBSD 4.1.
57311         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
57312
57313 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
57314
57315         Document 64-bit #if problems in stdint.texi.
57316         * doc/headers/stdint.texi (stdint.h): Mention problems with
57317         64-bit-#if, and how to work around them.
57318
57319         Don't insist on 'long long int' support in the preprocessor.  It
57320         breaks too many things.  For example, PRIdMAX still uses a 'long
57321         long int' format with the latest Sun compiler, even though
57322         HAVE_LONG_LONG_INT isn't defined due to that compiler's
57323         preprocessor problem.  This causes the latest coreutils to dump
57324         core on Solaris 10 sparc with the Sun C compiler.
57325         Instead, fix the 2007-10-16 problem in a different way, by evaluating
57326         the troublesome expressions at configure-time, not at #if-time.
57327         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
57328         preprocessor.
57329         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
57330         compile-time C checks, done at 'configure'-time.
57331         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
57332         * modules/inttypes (Makefile): Substitute the new symbols that
57333         gl_INTTYPES_H now generates.
57334         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
57335
57336 2007-11-12  Bruno Haible  <bruno@clisp.org>
57337
57338         Tests for Unicode character classification functions.
57339
57340         * modules/unictype/bidicategory-byname-tests: New file.
57341         * modules/unictype/bidicategory-name-tests: New file.
57342         * modules/unictype/bidicategory-of-tests: New file.
57343         * modules/unictype/bidicategory-test-tests: New file.
57344         * modules/unictype/block-list-tests: New file.
57345         * modules/unictype/block-of-tests: New file.
57346         * modules/unictype/block-test-tests: New file.
57347         * modules/unictype/category-C-tests: New file.
57348         * modules/unictype/category-Cc-tests: New file.
57349         * modules/unictype/category-Cf-tests: New file.
57350         * modules/unictype/category-Cn-tests: New file.
57351         * modules/unictype/category-Co-tests: New file.
57352         * modules/unictype/category-Cs-tests: New file.
57353         * modules/unictype/category-L-tests: New file.
57354         * modules/unictype/category-Ll-tests: New file.
57355         * modules/unictype/category-Lm-tests: New file.
57356         * modules/unictype/category-Lo-tests: New file.
57357         * modules/unictype/category-Lt-tests: New file.
57358         * modules/unictype/category-Lu-tests: New file.
57359         * modules/unictype/category-M-tests: New file.
57360         * modules/unictype/category-Mc-tests: New file.
57361         * modules/unictype/category-Me-tests: New file.
57362         * modules/unictype/category-Mn-tests: New file.
57363         * modules/unictype/category-N-tests: New file.
57364         * modules/unictype/category-Nd-tests: New file.
57365         * modules/unictype/category-Nl-tests: New file.
57366         * modules/unictype/category-No-tests: New file.
57367         * modules/unictype/category-P-tests: New file.
57368         * modules/unictype/category-Pc-tests: New file.
57369         * modules/unictype/category-Pd-tests: New file.
57370         * modules/unictype/category-Pe-tests: New file.
57371         * modules/unictype/category-Pf-tests: New file.
57372         * modules/unictype/category-Pi-tests: New file.
57373         * modules/unictype/category-Po-tests: New file.
57374         * modules/unictype/category-Ps-tests: New file.
57375         * modules/unictype/category-S-tests: New file.
57376         * modules/unictype/category-Sc-tests: New file.
57377         * modules/unictype/category-Sk-tests: New file.
57378         * modules/unictype/category-Sm-tests: New file.
57379         * modules/unictype/category-So-tests: New file.
57380         * modules/unictype/category-Z-tests: New file.
57381         * modules/unictype/category-Zl-tests: New file.
57382         * modules/unictype/category-Zp-tests: New file.
57383         * modules/unictype/category-Zs-tests: New file.
57384         * modules/unictype/category-and-not-tests: New file.
57385         * modules/unictype/category-and-tests: New file.
57386         * modules/unictype/category-byname-tests: New file.
57387         * modules/unictype/category-name-tests: New file.
57388         * modules/unictype/category-none-tests: New file.
57389         * modules/unictype/category-of-tests: New file.
57390         * modules/unictype/category-or-tests: New file.
57391         * modules/unictype/category-test-withtable-tests: New file.
57392         * modules/unictype/combining-class-tests: New file.
57393         * modules/unictype/ctype-alnum-tests: New file.
57394         * modules/unictype/ctype-alpha-tests: New file.
57395         * modules/unictype/ctype-blank-tests: New file.
57396         * modules/unictype/ctype-cntrl-tests: New file.
57397         * modules/unictype/ctype-digit-tests: New file.
57398         * modules/unictype/ctype-graph-tests: New file.
57399         * modules/unictype/ctype-lower-tests: New file.
57400         * modules/unictype/ctype-print-tests: New file.
57401         * modules/unictype/ctype-punct-tests: New file.
57402         * modules/unictype/ctype-space-tests: New file.
57403         * modules/unictype/ctype-upper-tests: New file.
57404         * modules/unictype/ctype-xdigit-tests: New file.
57405         * modules/unictype/decimal-digit-tests: New file.
57406         * modules/unictype/digit-tests: New file.
57407         * modules/unictype/mirror-tests: New file.
57408         * modules/unictype/numeric-tests: New file.
57409         * modules/unictype/property-alphabetic-tests: New file.
57410         * modules/unictype/property-ascii-hex-digit-tests: New file.
57411         * modules/unictype/property-bidi-arabic-digit-tests: New file.
57412         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
57413         * modules/unictype/property-bidi-block-separator-tests: New file.
57414         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
57415         * modules/unictype/property-bidi-common-separator-tests: New file.
57416         * modules/unictype/property-bidi-control-tests: New file.
57417         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
57418         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
57419         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
57420         * modules/unictype/property-bidi-european-digit-tests: New file.
57421         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
57422         * modules/unictype/property-bidi-left-to-right-tests: New file.
57423         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
57424         * modules/unictype/property-bidi-other-neutral-tests: New file.
57425         * modules/unictype/property-bidi-pdf-tests: New file.
57426         * modules/unictype/property-bidi-segment-separator-tests: New file.
57427         * modules/unictype/property-bidi-whitespace-tests: New file.
57428         * modules/unictype/property-byname-tests: New file.
57429         * modules/unictype/property-combining-tests: New file.
57430         * modules/unictype/property-composite-tests: New file.
57431         * modules/unictype/property-currency-symbol-tests: New file.
57432         * modules/unictype/property-dash-tests: New file.
57433         * modules/unictype/property-decimal-digit-tests: New file.
57434         * modules/unictype/property-default-ignorable-code-point-tests: New file.
57435         * modules/unictype/property-deprecated-tests: New file.
57436         * modules/unictype/property-diacritic-tests: New file.
57437         * modules/unictype/property-extender-tests: New file.
57438         * modules/unictype/property-format-control-tests: New file.
57439         * modules/unictype/property-grapheme-base-tests: New file.
57440         * modules/unictype/property-grapheme-extend-tests: New file.
57441         * modules/unictype/property-grapheme-link-tests: New file.
57442         * modules/unictype/property-hex-digit-tests: New file.
57443         * modules/unictype/property-hyphen-tests: New file.
57444         * modules/unictype/property-id-continue-tests: New file.
57445         * modules/unictype/property-id-start-tests: New file.
57446         * modules/unictype/property-ideographic-tests: New file.
57447         * modules/unictype/property-ids-binary-operator-tests: New file.
57448         * modules/unictype/property-ids-trinary-operator-tests: New file.
57449         * modules/unictype/property-ignorable-control-tests: New file.
57450         * modules/unictype/property-iso-control-tests: New file.
57451         * modules/unictype/property-join-control-tests: New file.
57452         * modules/unictype/property-left-of-pair-tests: New file.
57453         * modules/unictype/property-line-separator-tests: New file.
57454         * modules/unictype/property-logical-order-exception-tests: New file.
57455         * modules/unictype/property-lowercase-tests: New file.
57456         * modules/unictype/property-math-tests: New file.
57457         * modules/unictype/property-non-break-tests: New file.
57458         * modules/unictype/property-not-a-character-tests: New file.
57459         * modules/unictype/property-numeric-tests: New file.
57460         * modules/unictype/property-other-alphabetic-tests: New file.
57461         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
57462         * modules/unictype/property-other-grapheme-extend-tests: New file.
57463         * modules/unictype/property-other-id-continue-tests: New file.
57464         * modules/unictype/property-other-id-start-tests: New file.
57465         * modules/unictype/property-other-lowercase-tests: New file.
57466         * modules/unictype/property-other-math-tests: New file.
57467         * modules/unictype/property-other-uppercase-tests: New file.
57468         * modules/unictype/property-paired-punctuation-tests: New file.
57469         * modules/unictype/property-paragraph-separator-tests: New file.
57470         * modules/unictype/property-pattern-syntax-tests: New file.
57471         * modules/unictype/property-pattern-white-space-tests: New file.
57472         * modules/unictype/property-private-use-tests: New file.
57473         * modules/unictype/property-punctuation-tests: New file.
57474         * modules/unictype/property-quotation-mark-tests: New file.
57475         * modules/unictype/property-radical-tests: New file.
57476         * modules/unictype/property-sentence-terminal-tests: New file.
57477         * modules/unictype/property-soft-dotted-tests: New file.
57478         * modules/unictype/property-space-tests: New file.
57479         * modules/unictype/property-terminal-punctuation-tests: New file.
57480         * modules/unictype/property-test-tests: New file.
57481         * modules/unictype/property-titlecase-tests: New file.
57482         * modules/unictype/property-unassigned-code-value-tests: New file.
57483         * modules/unictype/property-unified-ideograph-tests: New file.
57484         * modules/unictype/property-uppercase-tests: New file.
57485         * modules/unictype/property-variation-selector-tests: New file.
57486         * modules/unictype/property-white-space-tests: New file.
57487         * modules/unictype/property-xid-continue-tests: New file.
57488         * modules/unictype/property-xid-start-tests: New file.
57489         * modules/unictype/property-zero-width-tests: New file.
57490         * modules/unictype/scripts-tests: New file.
57491         * modules/unictype/syntax-c-ident-tests: New file.
57492         * modules/unictype/syntax-c-whitespace-tests: New file.
57493         * modules/unictype/syntax-java-ident-tests: New file.
57494         * modules/unictype/syntax-java-whitespace-tests: New file.
57495         * tests/unictype/test-bidi_byname.c: New file.
57496         * tests/unictype/test-bidi_name.c: New file.
57497         * tests/unictype/test-bidi_of.c: New file.
57498         * tests/unictype/test-bidi_test.c: New file.
57499         * tests/unictype/test-block_list.c: New file.
57500         * tests/unictype/test-block_of.c: New file.
57501         * tests/unictype/test-block_test.c: New file.
57502         * tests/unictype/test-categ_and.c: New file.
57503         * tests/unictype/test-categ_and_not.c: New file.
57504         * tests/unictype/test-categ_byname.c: New file.
57505         * tests/unictype/test-categ_name.c: New file.
57506         * tests/unictype/test-categ_none.c: New file.
57507         * tests/unictype/test-categ_of.c: New file.
57508         * tests/unictype/test-categ_or.c: New file.
57509         * tests/unictype/test-categ_test_withtable.c: New file.
57510         * tests/unictype/test-combining.c: New file.
57511         * tests/unictype/test-decdigit.c: New file.
57512         * tests/unictype/test-digit.c: New file.
57513         * tests/unictype/test-mirror.c: New file.
57514         * tests/unictype/test-numeric.c: New file.
57515         * tests/unictype/test-pr_byname.c: New file.
57516         * tests/unictype/test-pr_test.c: New file.
57517         * tests/unictype/test-predicate-part1.h: New file.
57518         * tests/unictype/test-predicate-part2.h: New file.
57519         * tests/unictype/test-scripts.c: New file.
57520         * tests/unictype/test-sy_c_ident.c: New file.
57521         * tests/unictype/test-sy_java_ident.c: New file.
57522
57523         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
57524         for Unicode 5.0.0.
57525         * tests/unictype/test-categ_Cc.c: Likewise.
57526         * tests/unictype/test-categ_Cf.c: Likewise.
57527         * tests/unictype/test-categ_Cn.c: Likewise.
57528         * tests/unictype/test-categ_Co.c: Likewise.
57529         * tests/unictype/test-categ_Cs.c: Likewise.
57530         * tests/unictype/test-categ_L.c: Likewise.
57531         * tests/unictype/test-categ_Ll.c: Likewise.
57532         * tests/unictype/test-categ_Lm.c: Likewise.
57533         * tests/unictype/test-categ_Lo.c: Likewise.
57534         * tests/unictype/test-categ_Lt.c: Likewise.
57535         * tests/unictype/test-categ_Lu.c: Likewise.
57536         * tests/unictype/test-categ_M.c: Likewise.
57537         * tests/unictype/test-categ_Mc.c: Likewise.
57538         * tests/unictype/test-categ_Me.c: Likewise.
57539         * tests/unictype/test-categ_Mn.c: Likewise.
57540         * tests/unictype/test-categ_N.c: Likewise.
57541         * tests/unictype/test-categ_Nd.c: Likewise.
57542         * tests/unictype/test-categ_Nl.c: Likewise.
57543         * tests/unictype/test-categ_No.c: Likewise.
57544         * tests/unictype/test-categ_P.c: Likewise.
57545         * tests/unictype/test-categ_Pc.c: Likewise.
57546         * tests/unictype/test-categ_Pd.c: Likewise.
57547         * tests/unictype/test-categ_Pe.c: Likewise.
57548         * tests/unictype/test-categ_Pf.c: Likewise.
57549         * tests/unictype/test-categ_Pi.c: Likewise.
57550         * tests/unictype/test-categ_Po.c: Likewise.
57551         * tests/unictype/test-categ_Ps.c: Likewise.
57552         * tests/unictype/test-categ_S.c: Likewise.
57553         * tests/unictype/test-categ_Sc.c: Likewise.
57554         * tests/unictype/test-categ_Sk.c: Likewise.
57555         * tests/unictype/test-categ_Sm.c: Likewise.
57556         * tests/unictype/test-categ_So.c: Likewise.
57557         * tests/unictype/test-categ_Z.c: Likewise.
57558         * tests/unictype/test-categ_Zl.c: Likewise.
57559         * tests/unictype/test-categ_Zp.c: Likewise.
57560         * tests/unictype/test-categ_Zs.c: Likewise.
57561         * tests/unictype/test-ctype_alnum.c: Likewise.
57562         * tests/unictype/test-ctype_alpha.c: Likewise.
57563         * tests/unictype/test-ctype_blank.c: Likewise.
57564         * tests/unictype/test-ctype_cntrl.c: Likewise.
57565         * tests/unictype/test-ctype_digit.c: Likewise.
57566         * tests/unictype/test-ctype_graph.c: Likewise.
57567         * tests/unictype/test-ctype_lower.c: Likewise.
57568         * tests/unictype/test-ctype_print.c: Likewise.
57569         * tests/unictype/test-ctype_punct.c: Likewise.
57570         * tests/unictype/test-ctype_space.c: Likewise.
57571         * tests/unictype/test-ctype_upper.c: Likewise.
57572         * tests/unictype/test-ctype_xdigit.c: Likewise.
57573         * tests/unictype/test-decdigit.h: Likewise.
57574         * tests/unictype/test-digit.h: Likewise.
57575         * tests/unictype/test-numeric.h: Likewise.
57576         * tests/unictype/test-pr_alphabetic.c: Likewise.
57577         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
57578         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
57579         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
57580         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
57581         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
57582         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
57583         * tests/unictype/test-pr_bidi_control.c: Likewise.
57584         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
57585         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
57586         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
57587         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
57588         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
57589         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
57590         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
57591         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
57592         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
57593         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
57594         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
57595         * tests/unictype/test-pr_combining.c: Likewise.
57596         * tests/unictype/test-pr_composite.c: Likewise.
57597         * tests/unictype/test-pr_currency_symbol.c: Likewise.
57598         * tests/unictype/test-pr_dash.c: Likewise.
57599         * tests/unictype/test-pr_decimal_digit.c: Likewise.
57600         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
57601         * tests/unictype/test-pr_deprecated.c: Likewise.
57602         * tests/unictype/test-pr_diacritic.c: Likewise.
57603         * tests/unictype/test-pr_extender.c: Likewise.
57604         * tests/unictype/test-pr_format_control.c: Likewise.
57605         * tests/unictype/test-pr_grapheme_base.c: Likewise.
57606         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
57607         * tests/unictype/test-pr_grapheme_link.c: Likewise.
57608         * tests/unictype/test-pr_hex_digit.c: Likewise.
57609         * tests/unictype/test-pr_hyphen.c: Likewise.
57610         * tests/unictype/test-pr_id_continue.c: Likewise.
57611         * tests/unictype/test-pr_id_start.c: Likewise.
57612         * tests/unictype/test-pr_ideographic.c: Likewise.
57613         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
57614         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
57615         * tests/unictype/test-pr_ignorable_control.c: Likewise.
57616         * tests/unictype/test-pr_iso_control.c: Likewise.
57617         * tests/unictype/test-pr_join_control.c: Likewise.
57618         * tests/unictype/test-pr_left_of_pair.c: Likewise.
57619         * tests/unictype/test-pr_line_separator.c: Likewise.
57620         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
57621         * tests/unictype/test-pr_lowercase.c: Likewise.
57622         * tests/unictype/test-pr_math.c: Likewise.
57623         * tests/unictype/test-pr_non_break.c: Likewise.
57624         * tests/unictype/test-pr_not_a_character.c: Likewise.
57625         * tests/unictype/test-pr_numeric.c: Likewise.
57626         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
57627         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
57628         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
57629         * tests/unictype/test-pr_other_id_continue.c: Likewise.
57630         * tests/unictype/test-pr_other_id_start.c: Likewise.
57631         * tests/unictype/test-pr_other_lowercase.c: Likewise.
57632         * tests/unictype/test-pr_other_math.c: Likewise.
57633         * tests/unictype/test-pr_other_uppercase.c: Likewise.
57634         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
57635         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
57636         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
57637         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
57638         * tests/unictype/test-pr_private_use.c: Likewise.
57639         * tests/unictype/test-pr_punctuation.c: Likewise.
57640         * tests/unictype/test-pr_quotation_mark.c: Likewise.
57641         * tests/unictype/test-pr_radical.c: Likewise.
57642         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
57643         * tests/unictype/test-pr_soft_dotted.c: Likewise.
57644         * tests/unictype/test-pr_space.c: Likewise.
57645         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
57646         * tests/unictype/test-pr_titlecase.c: Likewise.
57647         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
57648         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
57649         * tests/unictype/test-pr_uppercase.c: Likewise.
57650         * tests/unictype/test-pr_variation_selector.c: Likewise.
57651         * tests/unictype/test-pr_white_space.c: Likewise.
57652         * tests/unictype/test-pr_xid_continue.c: Likewise.
57653         * tests/unictype/test-pr_xid_start.c: Likewise.
57654         * tests/unictype/test-pr_zero_width.c: Likewise.
57655         * tests/unictype/test-sy_c_whitespace.c: Likewise.
57656         * tests/unictype/test-sy_java_whitespace.c: Likewise.
57657
57658 2007-11-12  Bruno Haible  <bruno@clisp.org>
57659
57660         Unicode character classification functions.
57661         * lib/unictype.h: New file.
57662         * modules/unictype/base: New file.
57663         * modules/unictype/category-L: New file.
57664         * modules/unictype/category-Lu: New file.
57665         * modules/unictype/category-Ll: New file.
57666         * modules/unictype/category-Lt: New file.
57667         * modules/unictype/category-Lm: New file.
57668         * modules/unictype/category-Lo: New file.
57669         * modules/unictype/category-M: New file.
57670         * modules/unictype/category-Mn: New file.
57671         * modules/unictype/category-Mc: New file.
57672         * modules/unictype/category-Me: New file.
57673         * modules/unictype/category-N: New file.
57674         * modules/unictype/category-Nd: New file.
57675         * modules/unictype/category-Nl: New file.
57676         * modules/unictype/category-No: New file.
57677         * modules/unictype/category-P: New file.
57678         * modules/unictype/category-Pc: New file.
57679         * modules/unictype/category-Pd: New file.
57680         * modules/unictype/category-Ps: New file.
57681         * modules/unictype/category-Pe: New file.
57682         * modules/unictype/category-Pi: New file.
57683         * modules/unictype/category-Pf: New file.
57684         * modules/unictype/category-Po: New file.
57685         * modules/unictype/category-S: New file.
57686         * modules/unictype/category-Sm: New file.
57687         * modules/unictype/category-Sc: New file.
57688         * modules/unictype/category-Sk: New file.
57689         * modules/unictype/category-So: New file.
57690         * modules/unictype/category-Z: New file.
57691         * modules/unictype/category-Zs: New file.
57692         * modules/unictype/category-Zl: New file.
57693         * modules/unictype/category-Zp: New file.
57694         * modules/unictype/category-C: New file.
57695         * modules/unictype/category-Cc: New file.
57696         * modules/unictype/category-Cf: New file.
57697         * modules/unictype/category-Cs: New file.
57698         * modules/unictype/category-Co: New file.
57699         * modules/unictype/category-Cn: New file.
57700         * modules/unictype/category-or: New file.
57701         * modules/unictype/category-of: New file.
57702         * modules/unictype/category-test: New file.
57703         * modules/unictype/category-test-withtable: New file.
57704         * modules/unictype/category-byname: New file.
57705         * modules/unictype/category-none: New file.
57706         * modules/unictype/category-and: New file.
57707         * modules/unictype/category-and-not: New file.
57708         * modules/unictype/category-name: New file.
57709         * modules/unictype/combining-class: New file.
57710         * modules/unictype/category-all: New file.
57711         * modules/unictype/bidicategory-all: New file.
57712         * modules/unictype/bidicategory-byname: New file.
57713         * modules/unictype/bidicategory-name: New file.
57714         * modules/unictype/bidicategory-of: New file.
57715         * modules/unictype/bidicategory-test: New file.
57716         * modules/unictype/decimal-digit: New file.
57717         * modules/unictype/digit: New file.
57718         * modules/unictype/numeric: New file.
57719         * modules/unictype/mirror: New file.
57720         * modules/unictype/property-white-space: New file.
57721         * modules/unictype/property-alphabetic: New file.
57722         * modules/unictype/property-other-alphabetic: New file.
57723         * modules/unictype/property-not-a-character: New file.
57724         * modules/unictype/property-default-ignorable-code-point: New file.
57725         * modules/unictype/property-other-default-ignorable-code-point: New
57726         file.
57727         * modules/unictype/property-deprecated: New file.
57728         * modules/unictype/property-logical-order-exception: New file.
57729         * modules/unictype/property-variation-selector: New file.
57730         * modules/unictype/property-private-use: New file.
57731         * modules/unictype/property-unassigned-code-value: New file.
57732         * modules/unictype/property-uppercase: New file.
57733         * modules/unictype/property-other-uppercase: New file.
57734         * modules/unictype/property-lowercase: New file.
57735         * modules/unictype/property-other-lowercase: New file.
57736         * modules/unictype/property-titlecase: New file.
57737         * modules/unictype/property-soft-dotted: New file.
57738         * modules/unictype/property-id-start: New file.
57739         * modules/unictype/property-other-id-start: New file.
57740         * modules/unictype/property-id-continue: New file.
57741         * modules/unictype/property-other-id-continue: New file.
57742         * modules/unictype/property-xid-start: New file.
57743         * modules/unictype/property-xid-continue: New file.
57744         * modules/unictype/property-pattern-white-space: New file.
57745         * modules/unictype/property-pattern-syntax: New file.
57746         * modules/unictype/property-join-control: New file.
57747         * modules/unictype/property-grapheme-base: New file.
57748         * modules/unictype/property-grapheme-extend: New file.
57749         * modules/unictype/property-other-grapheme-extend: New file.
57750         * modules/unictype/property-grapheme-link: New file.
57751         * modules/unictype/property-bidi-control: New file.
57752         * modules/unictype/property-bidi-left-to-right: New file.
57753         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
57754         * modules/unictype/property-bidi-arabic-right-to-left: New file.
57755         * modules/unictype/property-bidi-european-digit: New file.
57756         * modules/unictype/property-bidi-eur-num-separator: New file.
57757         * modules/unictype/property-bidi-eur-num-terminator: New file.
57758         * modules/unictype/property-bidi-arabic-digit: New file.
57759         * modules/unictype/property-bidi-common-separator: New file.
57760         * modules/unictype/property-bidi-block-separator: New file.
57761         * modules/unictype/property-bidi-segment-separator: New file.
57762         * modules/unictype/property-bidi-whitespace: New file.
57763         * modules/unictype/property-bidi-non-spacing-mark: New file.
57764         * modules/unictype/property-bidi-boundary-neutral: New file.
57765         * modules/unictype/property-bidi-pdf: New file.
57766         * modules/unictype/property-bidi-embedding-or-override: New file.
57767         * modules/unictype/property-bidi-other-neutral: New file.
57768         * modules/unictype/property-hex-digit: New file.
57769         * modules/unictype/property-ascii-hex-digit: New file.
57770         * modules/unictype/property-ideographic: New file.
57771         * modules/unictype/property-unified-ideograph: New file.
57772         * modules/unictype/property-radical: New file.
57773         * modules/unictype/property-ids-binary-operator: New file.
57774         * modules/unictype/property-ids-trinary-operator: New file.
57775         * modules/unictype/property-zero-width: New file.
57776         * modules/unictype/property-space: New file.
57777         * modules/unictype/property-non-break: New file.
57778         * modules/unictype/property-iso-control: New file.
57779         * modules/unictype/property-format-control: New file.
57780         * modules/unictype/property-dash: New file.
57781         * modules/unictype/property-hyphen: New file.
57782         * modules/unictype/property-punctuation: New file.
57783         * modules/unictype/property-line-separator: New file.
57784         * modules/unictype/property-paragraph-separator: New file.
57785         * modules/unictype/property-quotation-mark: New file.
57786         * modules/unictype/property-sentence-terminal: New file.
57787         * modules/unictype/property-terminal-punctuation: New file.
57788         * modules/unictype/property-currency-symbol: New file.
57789         * modules/unictype/property-math: New file.
57790         * modules/unictype/property-other-math: New file.
57791         * modules/unictype/property-paired-punctuation: New file.
57792         * modules/unictype/property-left-of-pair: New file.
57793         * modules/unictype/property-combining: New file.
57794         * modules/unictype/property-composite: New file.
57795         * modules/unictype/property-decimal-digit: New file.
57796         * modules/unictype/property-numeric: New file.
57797         * modules/unictype/property-diacritic: New file.
57798         * modules/unictype/property-extender: New file.
57799         * modules/unictype/property-ignorable-control: New file.
57800         * modules/unictype/property-test: New file.
57801         * modules/unictype/property-byname: New file.
57802         * modules/unictype/property-all: New file.
57803         * modules/unictype/scripts: New file.
57804         * modules/unictype/scripts-all: New file.
57805         * modules/unictype/block-of: New file.
57806         * modules/unictype/block-test: New file.
57807         * modules/unictype/block-list: New file.
57808         * modules/unictype/block-all: New file.
57809         * modules/unictype/syntax-c-whitespace: New file.
57810         * modules/unictype/syntax-java-whitespace: New file.
57811         * modules/unictype/syntax-c-ident: New file.
57812         * modules/unictype/syntax-java-ident: New file.
57813         * modules/unictype/ctype-alnum: New file.
57814         * modules/unictype/ctype-alpha: New file.
57815         * modules/unictype/ctype-cntrl: New file.
57816         * modules/unictype/ctype-digit: New file.
57817         * modules/unictype/ctype-graph: New file.
57818         * modules/unictype/ctype-lower: New file.
57819         * modules/unictype/ctype-print: New file.
57820         * modules/unictype/ctype-punct: New file.
57821         * modules/unictype/ctype-space: New file.
57822         * modules/unictype/ctype-upper: New file.
57823         * modules/unictype/ctype-xdigit: New file.
57824         * modules/unictype/ctype-blank: New file.
57825         * lib/unictype/bidi_byname.c: New file.
57826         * lib/unictype/bidi_name.c: New file.
57827         * lib/unictype/bidi_of.c: New file.
57828         * lib/unictype/bidi_test.c: New file.
57829         * lib/unictype/bitmap.h: New file.
57830         * lib/unictype/block_test.c: New file.
57831         * lib/unictype/blocks.c: New file.
57832         * lib/unictype/categ_C.c: New file.
57833         * lib/unictype/categ_Cc.c: New file.
57834         * lib/unictype/categ_Cf.c: New file.
57835         * lib/unictype/categ_Cn.c: New file.
57836         * lib/unictype/categ_Co.c: New file.
57837         * lib/unictype/categ_Cs.c: New file.
57838         * lib/unictype/categ_L.c: New file.
57839         * lib/unictype/categ_Ll.c: New file.
57840         * lib/unictype/categ_Lm.c: New file.
57841         * lib/unictype/categ_Lo.c: New file.
57842         * lib/unictype/categ_Lt.c: New file.
57843         * lib/unictype/categ_Lu.c: New file.
57844         * lib/unictype/categ_M.c: New file.
57845         * lib/unictype/categ_Mc.c: New file.
57846         * lib/unictype/categ_Me.c: New file.
57847         * lib/unictype/categ_Mn.c: New file.
57848         * lib/unictype/categ_N.c: New file.
57849         * lib/unictype/categ_Nd.c: New file.
57850         * lib/unictype/categ_Nl.c: New file.
57851         * lib/unictype/categ_No.c: New file.
57852         * lib/unictype/categ_P.c: New file.
57853         * lib/unictype/categ_Pc.c: New file.
57854         * lib/unictype/categ_Pd.c: New file.
57855         * lib/unictype/categ_Pe.c: New file.
57856         * lib/unictype/categ_Pf.c: New file.
57857         * lib/unictype/categ_Pi.c: New file.
57858         * lib/unictype/categ_Po.c: New file.
57859         * lib/unictype/categ_Ps.c: New file.
57860         * lib/unictype/categ_S.c: New file.
57861         * lib/unictype/categ_Sc.c: New file.
57862         * lib/unictype/categ_Sk.c: New file.
57863         * lib/unictype/categ_Sm.c: New file.
57864         * lib/unictype/categ_So.c: New file.
57865         * lib/unictype/categ_Z.c: New file.
57866         * lib/unictype/categ_Zl.c: New file.
57867         * lib/unictype/categ_Zp.c: New file.
57868         * lib/unictype/categ_Zs.c: New file.
57869         * lib/unictype/categ_and.c: New file.
57870         * lib/unictype/categ_and_not.c: New file.
57871         * lib/unictype/categ_byname.c: New file.
57872         * lib/unictype/categ_name.c: New file.
57873         * lib/unictype/categ_none.c: New file.
57874         * lib/unictype/categ_of.c: New file.
57875         * lib/unictype/categ_or.c: New file.
57876         * lib/unictype/categ_test.c: New file.
57877         * lib/unictype/combining.c: New file.
57878         * lib/unictype/ctype_alnum.c: New file.
57879         * lib/unictype/ctype_alpha.c: New file.
57880         * lib/unictype/ctype_blank.c: New file.
57881         * lib/unictype/ctype_cntrl.c: New file.
57882         * lib/unictype/ctype_digit.c: New file.
57883         * lib/unictype/ctype_graph.c: New file.
57884         * lib/unictype/ctype_lower.c: New file.
57885         * lib/unictype/ctype_print.c: New file.
57886         * lib/unictype/ctype_punct.c: New file.
57887         * lib/unictype/ctype_space.c: New file.
57888         * lib/unictype/ctype_upper.c: New file.
57889         * lib/unictype/ctype_xdigit.c: New file.
57890         * lib/unictype/decdigit.c: New file.
57891         * lib/unictype/digit.c: New file.
57892         * lib/unictype/identsyntaxmap.h: New file.
57893         * lib/unictype/mirror.c: New file.
57894         * lib/unictype/numeric.c: New file.
57895         * lib/unictype/pr_alphabetic.c: New file.
57896         * lib/unictype/pr_ascii_hex_digit.c: New file.
57897         * lib/unictype/pr_bidi_arabic_digit.c: New file.
57898         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
57899         * lib/unictype/pr_bidi_block_separator.c: New file.
57900         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
57901         * lib/unictype/pr_bidi_common_separator.c: New file.
57902         * lib/unictype/pr_bidi_control.c: New file.
57903         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
57904         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
57905         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
57906         * lib/unictype/pr_bidi_european_digit.c: New file.
57907         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
57908         * lib/unictype/pr_bidi_left_to_right.c: New file.
57909         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
57910         * lib/unictype/pr_bidi_other_neutral.c: New file.
57911         * lib/unictype/pr_bidi_pdf.c: New file.
57912         * lib/unictype/pr_bidi_segment_separator.c: New file.
57913         * lib/unictype/pr_bidi_whitespace.c: New file.
57914         * lib/unictype/pr_byname.c: New file.
57915         * lib/unictype/pr_byname.gperf: New file.
57916         * lib/unictype/pr_combining.c: New file.
57917         * lib/unictype/pr_composite.c: New file.
57918         * lib/unictype/pr_currency_symbol.c: New file.
57919         * lib/unictype/pr_dash.c: New file.
57920         * lib/unictype/pr_decimal_digit.c: New file.
57921         * lib/unictype/pr_default_ignorable_code_point.c: New file.
57922         * lib/unictype/pr_deprecated.c: New file.
57923         * lib/unictype/pr_diacritic.c: New file.
57924         * lib/unictype/pr_extender.c: New file.
57925         * lib/unictype/pr_format_control.c: New file.
57926         * lib/unictype/pr_grapheme_base.c: New file.
57927         * lib/unictype/pr_grapheme_extend.c: New file.
57928         * lib/unictype/pr_grapheme_link.c: New file.
57929         * lib/unictype/pr_hex_digit.c: New file.
57930         * lib/unictype/pr_hyphen.c: New file.
57931         * lib/unictype/pr_id_continue.c: New file.
57932         * lib/unictype/pr_id_start.c: New file.
57933         * lib/unictype/pr_ideographic.c: New file.
57934         * lib/unictype/pr_ids_binary_operator.c: New file.
57935         * lib/unictype/pr_ids_trinary_operator.c: New file.
57936         * lib/unictype/pr_ignorable_control.c: New file.
57937         * lib/unictype/pr_iso_control.c: New file.
57938         * lib/unictype/pr_join_control.c: New file.
57939         * lib/unictype/pr_left_of_pair.c: New file.
57940         * lib/unictype/pr_line_separator.c: New file.
57941         * lib/unictype/pr_logical_order_exception.c: New file.
57942         * lib/unictype/pr_lowercase.c: New file.
57943         * lib/unictype/pr_math.c: New file.
57944         * lib/unictype/pr_non_break.c: New file.
57945         * lib/unictype/pr_not_a_character.c: New file.
57946         * lib/unictype/pr_numeric.c: New file.
57947         * lib/unictype/pr_other_alphabetic.c: New file.
57948         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
57949         * lib/unictype/pr_other_grapheme_extend.c: New file.
57950         * lib/unictype/pr_other_id_continue.c: New file.
57951         * lib/unictype/pr_other_id_start.c: New file.
57952         * lib/unictype/pr_other_lowercase.c: New file.
57953         * lib/unictype/pr_other_math.c: New file.
57954         * lib/unictype/pr_other_uppercase.c: New file.
57955         * lib/unictype/pr_paired_punctuation.c: New file.
57956         * lib/unictype/pr_paragraph_separator.c: New file.
57957         * lib/unictype/pr_pattern_syntax.c: New file.
57958         * lib/unictype/pr_pattern_white_space.c: New file.
57959         * lib/unictype/pr_private_use.c: New file.
57960         * lib/unictype/pr_punctuation.c: New file.
57961         * lib/unictype/pr_quotation_mark.c: New file.
57962         * lib/unictype/pr_radical.c: New file.
57963         * lib/unictype/pr_sentence_terminal.c: New file.
57964         * lib/unictype/pr_soft_dotted.c: New file.
57965         * lib/unictype/pr_space.c: New file.
57966         * lib/unictype/pr_terminal_punctuation.c: New file.
57967         * lib/unictype/pr_test.c: New file.
57968         * lib/unictype/pr_titlecase.c: New file.
57969         * lib/unictype/pr_unassigned_code_value.c: New file.
57970         * lib/unictype/pr_unified_ideograph.c: New file.
57971         * lib/unictype/pr_uppercase.c: New file.
57972         * lib/unictype/pr_variation_selector.c: New file.
57973         * lib/unictype/pr_white_space.c: New file.
57974         * lib/unictype/pr_xid_continue.c: New file.
57975         * lib/unictype/pr_xid_start.c: New file.
57976         * lib/unictype/pr_zero_width.c: New file.
57977         * lib/unictype/scripts.c: New file.
57978         * lib/unictype/sy_c_ident.c: New file.
57979         * lib/unictype/sy_c_whitespace.c: New file.
57980         * lib/unictype/sy_java_ident.c: New file.
57981         * lib/unictype/sy_java_whitespace.c: New file.
57982
57983         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
57984         Unicode 5.0.0.
57985         * lib/unictype/blocks.h: Likewise.
57986         * lib/unictype/categ_C.h: Likewise.
57987         * lib/unictype/categ_Cc.h: Likewise.
57988         * lib/unictype/categ_Cf.h: Likewise.
57989         * lib/unictype/categ_Cn.h: Likewise.
57990         * lib/unictype/categ_Co.h: Likewise.
57991         * lib/unictype/categ_Cs.h: Likewise.
57992         * lib/unictype/categ_L.h: Likewise.
57993         * lib/unictype/categ_Ll.h: Likewise.
57994         * lib/unictype/categ_Lm.h: Likewise.
57995         * lib/unictype/categ_Lo.h: Likewise.
57996         * lib/unictype/categ_Lt.h: Likewise.
57997         * lib/unictype/categ_Lu.h: Likewise.
57998         * lib/unictype/categ_M.h: Likewise.
57999         * lib/unictype/categ_Mc.h: Likewise.
58000         * lib/unictype/categ_Me.h: Likewise.
58001         * lib/unictype/categ_Mn.h: Likewise.
58002         * lib/unictype/categ_N.h: Likewise.
58003         * lib/unictype/categ_Nd.h: Likewise.
58004         * lib/unictype/categ_Nl.h: Likewise.
58005         * lib/unictype/categ_No.h: Likewise.
58006         * lib/unictype/categ_P.h: Likewise.
58007         * lib/unictype/categ_Pc.h: Likewise.
58008         * lib/unictype/categ_Pd.h: Likewise.
58009         * lib/unictype/categ_Pe.h: Likewise.
58010         * lib/unictype/categ_Pf.h: Likewise.
58011         * lib/unictype/categ_Pi.h: Likewise.
58012         * lib/unictype/categ_Po.h: Likewise.
58013         * lib/unictype/categ_Ps.h: Likewise.
58014         * lib/unictype/categ_S.h: Likewise.
58015         * lib/unictype/categ_Sc.h: Likewise.
58016         * lib/unictype/categ_Sk.h: Likewise.
58017         * lib/unictype/categ_Sm.h: Likewise.
58018         * lib/unictype/categ_So.h: Likewise.
58019         * lib/unictype/categ_Z.h: Likewise.
58020         * lib/unictype/categ_Zl.h: Likewise.
58021         * lib/unictype/categ_Zp.h: Likewise.
58022         * lib/unictype/categ_Zs.h: Likewise.
58023         * lib/unictype/categ_of.h: Likewise.
58024         * lib/unictype/combining.h: Likewise.
58025         * lib/unictype/ctype_alnum.h: Likewise.
58026         * lib/unictype/ctype_alpha.h: Likewise.
58027         * lib/unictype/ctype_blank.h: Likewise.
58028         * lib/unictype/ctype_cntrl.h: Likewise.
58029         * lib/unictype/ctype_digit.h: Likewise.
58030         * lib/unictype/ctype_graph.h: Likewise.
58031         * lib/unictype/ctype_lower.h: Likewise.
58032         * lib/unictype/ctype_print.h: Likewise.
58033         * lib/unictype/ctype_punct.h: Likewise.
58034         * lib/unictype/ctype_space.h: Likewise.
58035         * lib/unictype/ctype_upper.h: Likewise.
58036         * lib/unictype/ctype_xdigit.h: Likewise.
58037         * lib/unictype/decdigit.h: Likewise.
58038         * lib/unictype/digit.h: Likewise.
58039         * lib/unictype/mirror.h: Likewise.
58040         * lib/unictype/numeric.h: Likewise.
58041         * lib/unictype/pr_alphabetic.h: Likewise.
58042         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
58043         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
58044         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
58045         * lib/unictype/pr_bidi_block_separator.h: Likewise.
58046         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
58047         * lib/unictype/pr_bidi_common_separator.h: Likewise.
58048         * lib/unictype/pr_bidi_control.h: Likewise.
58049         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
58050         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
58051         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
58052         * lib/unictype/pr_bidi_european_digit.h: Likewise.
58053         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
58054         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
58055         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
58056         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
58057         * lib/unictype/pr_bidi_pdf.h: Likewise.
58058         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
58059         * lib/unictype/pr_bidi_whitespace.h: Likewise.
58060         * lib/unictype/pr_combining.h: Likewise.
58061         * lib/unictype/pr_composite.h: Likewise.
58062         * lib/unictype/pr_currency_symbol.h: Likewise.
58063         * lib/unictype/pr_dash.h: Likewise.
58064         * lib/unictype/pr_decimal_digit.h: Likewise.
58065         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
58066         * lib/unictype/pr_deprecated.h: Likewise.
58067         * lib/unictype/pr_diacritic.h: Likewise.
58068         * lib/unictype/pr_extender.h: Likewise.
58069         * lib/unictype/pr_format_control.h: Likewise.
58070         * lib/unictype/pr_grapheme_base.h: Likewise.
58071         * lib/unictype/pr_grapheme_extend.h: Likewise.
58072         * lib/unictype/pr_grapheme_link.h: Likewise.
58073         * lib/unictype/pr_hex_digit.h: Likewise.
58074         * lib/unictype/pr_hyphen.h: Likewise.
58075         * lib/unictype/pr_id_continue.h: Likewise.
58076         * lib/unictype/pr_id_start.h: Likewise.
58077         * lib/unictype/pr_ideographic.h: Likewise.
58078         * lib/unictype/pr_ids_binary_operator.h: Likewise.
58079         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
58080         * lib/unictype/pr_ignorable_control.h: Likewise.
58081         * lib/unictype/pr_iso_control.h: Likewise.
58082         * lib/unictype/pr_join_control.h: Likewise.
58083         * lib/unictype/pr_left_of_pair.h: Likewise.
58084         * lib/unictype/pr_line_separator.h: Likewise.
58085         * lib/unictype/pr_logical_order_exception.h: Likewise.
58086         * lib/unictype/pr_lowercase.h: Likewise.
58087         * lib/unictype/pr_math.h: Likewise.
58088         * lib/unictype/pr_non_break.h: Likewise.
58089         * lib/unictype/pr_not_a_character.h: Likewise.
58090         * lib/unictype/pr_numeric.h: Likewise.
58091         * lib/unictype/pr_other_alphabetic.h: Likewise.
58092         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
58093         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
58094         * lib/unictype/pr_other_id_continue.h: Likewise.
58095         * lib/unictype/pr_other_id_start.h: Likewise.
58096         * lib/unictype/pr_other_lowercase.h: Likewise.
58097         * lib/unictype/pr_other_math.h: Likewise.
58098         * lib/unictype/pr_other_uppercase.h: Likewise.
58099         * lib/unictype/pr_paired_punctuation.h: Likewise.
58100         * lib/unictype/pr_paragraph_separator.h: Likewise.
58101         * lib/unictype/pr_pattern_syntax.h: Likewise.
58102         * lib/unictype/pr_pattern_white_space.h: Likewise.
58103         * lib/unictype/pr_private_use.h: Likewise.
58104         * lib/unictype/pr_punctuation.h: Likewise.
58105         * lib/unictype/pr_quotation_mark.h: Likewise.
58106         * lib/unictype/pr_radical.h: Likewise.
58107         * lib/unictype/pr_sentence_terminal.h: Likewise.
58108         * lib/unictype/pr_soft_dotted.h: Likewise.
58109         * lib/unictype/pr_space.h: Likewise.
58110         * lib/unictype/pr_terminal_punctuation.h: Likewise.
58111         * lib/unictype/pr_titlecase.h: Likewise.
58112         * lib/unictype/pr_unassigned_code_value.h: Likewise.
58113         * lib/unictype/pr_unified_ideograph.h: Likewise.
58114         * lib/unictype/pr_uppercase.h: Likewise.
58115         * lib/unictype/pr_variation_selector.h: Likewise.
58116         * lib/unictype/pr_white_space.h: Likewise.
58117         * lib/unictype/pr_xid_continue.h: Likewise.
58118         * lib/unictype/pr_xid_start.h: Likewise.
58119         * lib/unictype/pr_zero_width.h: Likewise.
58120         * lib/unictype/scripts.h: Likewise.
58121         * lib/unictype/scripts_byname.gperf: Likewise.
58122         * lib/unictype/sy_c_ident.h: Likewise.
58123         * lib/unictype/sy_c_whitespace.h: Likewise.
58124         * lib/unictype/sy_java_ident.h: Likewise.
58125         * lib/unictype/sy_java_whitespace.h: Likewise.
58126
58127         * lib/unictype/Makefile: New file.
58128         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
58129         glibc.
58130         * lib/unictype/3level.h: New file, copied from glibc.
58131         * lib/unictype/3levelbit.h: New file.
58132
58133 2007-11-11  Bruno Haible  <bruno@clisp.org>
58134
58135         * modules/gperf: New file.
58136         * modules/iconv_open (Depends-on): Add it.
58137         (Makefile.am): Remove the GPERF definition.
58138
58139 2007-11-11  Bruno Haible  <bruno@clisp.org>
58140
58141         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
58142         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
58143
58144 2007-11-11  Bruno Haible  <bruno@clisp.org>
58145
58146         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
58147         (usage): Remove function.
58148
58149 2007-11-11  Bruno Haible  <bruno@clisp.org>
58150
58151         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
58152         gl_FUNC_CEILF_LIBS.
58153         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
58154         gl_FUNC_CEIL_LIBS.
58155         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
58156         gl_FUNC_CEILL_LIBS.
58157         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
58158         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
58159         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
58160
58161 2007-11-11  Bruno Haible  <bruno@clisp.org>
58162
58163         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
58164         roundf were declared but do not exist on functions.
58165         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
58166         roundl were declared but do not exist on functions.
58167         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
58168         HAVE_FLOORL_AND_CEILL, respectively.
58169         Needed for Sun C on Solaris 10.
58170
58171 2007-11-11  Bruno Haible  <bruno@clisp.org>
58172
58173         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
58174         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
58175         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
58176         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
58177         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
58178         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
58179         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
58180         HAVE_DECL_ROUNDF.
58181         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
58182         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
58183         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
58184         of HAVE_DECL_ROUND*.
58185         * modules/math (Makefile.am): Update.
58186
58187 2007-11-10  Bruno Haible  <bruno@clisp.org>
58188
58189         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
58190         ptrdiff_t as m4/intl.m4.
58191
58192 2007-11-10  Jim Meyering  <meyering@redhat.com>
58193
58194         Avoid link failure for the argmatch test.
58195         * tests/test-argmatch.c (usage): Define function to avoid a link
58196         failure: argmatch_die requires a usage function.
58197
58198 2007-11-09  Bruno Haible  <bruno@clisp.org>
58199
58200         * doc/functions/snprintf.texi: Mention BeOS deficiency.
58201         * doc/functions/vsnprintf.texi: Likewise.
58202         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
58203         with a size argument < 2.
58204
58205 2007-11-09  Bruno Haible  <bruno@clisp.org>
58206
58207         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
58208         buffer. Fixes an inefficiency introduced on 2007-11-03.
58209
58210 2007-11-09  Bruno Haible  <bruno@clisp.org>
58211
58212         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
58213         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
58214
58215 2007-11-08  Jim Meyering  <meyering@redhat.com>
58216
58217         Change cache variable name prefix "jm_" to "gl_" everywhere.
58218         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
58219         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
58220         * m4/uptime.m4: s/gl_/jm_/
58221
58222 2007-11-07  Bruno Haible  <bruno@clisp.org>
58223
58224         Update to GNU gettext 0.17.
58225         * m4/intl.m4: Update to GNU gettext 0.17.
58226         * m4/po.m4: Likewise.
58227         * modules/gettext (Files): Remove m4/ulonglong.m4.
58228         (configure.ac): Require gettext infrastructure from version 0.17.
58229
58230 2007-11-06  Bruno Haible  <bruno@clisp.org>
58231
58232         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
58233         symbolic values are not defined in a public header.
58234         * lib/freadable.c (freadable) [QNX]: Likewise.
58235         * lib/freadahead.c (freadahead) [QNX]: Likewise.
58236         * lib/freading.c (freading) [QNX]: Likewise.
58237         * lib/fseterr.c (fseterr) [QNX]: Likewise.
58238         * lib/fwritable.c (fwritable) [QNX]: Likewise.
58239         * lib/fwriting.c (fwriting) [QNX]: Likewise.
58240         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
58241         Reported by Alain Magloire.
58242
58243         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
58244
58245 2007-11-05  Bruno Haible  <bruno@clisp.org>
58246
58247         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
58248         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
58249         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
58250         Reported by Eric Blake.
58251
58252 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58253             Bruno Haible  <bruno@clisp.org>
58254
58255         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
58256         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
58257         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
58258         (malloc): Undefine also before including <stdlib.h>.
58259         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
58260         Needed on OSF/1 4.0.
58261
58262 2007-11-05  Jim Meyering  <meyering@redhat.com>
58263
58264         git-version-gen: sync from coreutils.
58265         * build-aux/git-version-gen: Add comments.
58266         Change the first '-' to '.' in the snapshot version string,
58267         e.g., 6.9-377-08144 -> 6.9.377-08144
58268         Remove first parameter.
58269         Don't declare a version "-dirty" merely because a time
58270         stamp has changed.
58271
58272 2007-11-04  Bruno Haible  <bruno@clisp.org>
58273
58274         * lib/lock.h: Protect all macro definitions containing an 'if'
58275         statement through a "do { ... } while (0)".
58276         * lib/tls.h: Likewise.
58277
58278 2007-11-04  Bruno Haible  <bruno@clisp.org>
58279
58280         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
58281
58282 2007-11-04  Bruno Haible  <bruno@clisp.org>
58283
58284         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
58285         * modules/fprintf-posix (Depends-on): Add nocrash.
58286         * modules/snprintf-posix (Depends-on): Likewise.
58287         * modules/sprintf-posix (Depends-on): Likewise.
58288         * modules/vasnprintf-posix (Depends-on): Likewise.
58289         * modules/vasprintf-posix (Depends-on): Likewise.
58290         * modules/vfprintf-posix (Depends-on): Likewise.
58291         * modules/vsnprintf-posix (Depends-on): Likewise.
58292         * modules/vsprintf-posix (Depends-on): Likewise.
58293         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
58294         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
58295         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
58296         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
58297         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
58298         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
58299         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
58300
58301 2007-11-04  Bruno Haible  <bruno@clisp.org>
58302
58303         * modules/nocrash: New file.
58304         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
58305         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
58306
58307 2007-11-04  Bruno Haible  <bruno@clisp.org>
58308
58309         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
58310         precision handling.
58311         * tests/test-vasprintf-posix.c (test_function): Likewise.
58312         * tests/test-snprintf-posix.h (test_function): Likewise.
58313         * tests/test-sprintf-posix.h (test_function): Likewise.
58314
58315         Fix *printf behaviour for large precisions on mingw and BeOS.
58316         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
58317         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
58318         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
58319         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
58320         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
58321         gl_PRINTF_PRECISION and test its result. Invoke
58322         gl_PREREQ_VASNPRINTF_PRECISION.
58323         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
58324         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
58325         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
58326         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
58327         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
58328         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
58329         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
58330         * doc/functions/fprintf.texi: Update.
58331         * doc/functions/printf.texi: Update.
58332         * doc/functions/snprintf.texi: Update.
58333         * doc/functions/sprintf.texi: Update.
58334         * doc/functions/vfprintf.texi: Update.
58335         * doc/functions/vprintf.texi: Update.
58336         * doc/functions/vsnprintf.texi: Update.
58337         * doc/functions/vsprintf.texi: Update.
58338
58339 2007-11-04  Bruno Haible  <bruno@clisp.org>
58340
58341         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
58342
58343 2007-11-04  Bruno Haible  <bruno@clisp.org>
58344
58345         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
58346         Reported by Sylvain Beucler <beuc@gnu.org>.
58347
58348 2007-11-03  Bruno Haible  <bruno@clisp.org>
58349
58350         * tests/test-fprintf-posix2.sh: New file.
58351         * tests/test-fprintf-posix2.c: New file.
58352         * modules/fprintf-posix-tests (Files): Add them.
58353         (TESTS): Add test-fprintf-posix2.sh.
58354         (configure.ac): Check for getrlimit and setrlimit.
58355         (check_PROGRAMS): Add test-fprintf-posix2.
58356
58357         * tests/test-printf-posix2.sh: New file.
58358         * tests/test-printf-posix2.c: New file.
58359         * modules/printf-posix-tests (Files): Add them.
58360         (TESTS): Add test-printf-posix2.sh.
58361         (configure.ac): Check for getrlimit and setrlimit.
58362         (check_PROGRAMS): Add test-printf-posix2.
58363
58364         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
58365         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
58366         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
58367         (decode_double): New function, copied from decode_long_double.
58368         (scale10_round_decimal_decoded): New function, extracted from
58369         scale10_round_decimal_long_double.
58370         (scale10_round_decimal_long_double): Use it.
58371         (scale10_round_decimal_double): New function.
58372         (floorlog10): New function.
58373         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
58374         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
58375         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
58376         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
58377         gl_PRINTF_ENOMEM and test its result. Invoke
58378         gl_PREREQ_VASNPRINTF_ENOMEM.
58379         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
58380         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
58381         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
58382         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
58383         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
58384         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
58385         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
58386         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
58387         * modules/snprintf-posix (Depends-on): Likewise.
58388         * modules/sprintf-posix (Depends-on): Likewise.
58389         * modules/vasnprintf-posix (Depends-on): Likewise.
58390         * modules/vasprintf-posix (Depends-on): Likewise.
58391         * modules/vfprintf-posix (Depends-on): Likewise.
58392         * modules/vsnprintf-posix (Depends-on): Likewise.
58393         * modules/vsprintf-posix (Depends-on): Likewise.
58394         * doc/functions/fprintf.texi: Update.
58395         * doc/functions/printf.texi: Update.
58396         * doc/functions/snprintf.texi: Update.
58397         * doc/functions/sprintf.texi: Update.
58398         * doc/functions/vfprintf.texi: Update.
58399         * doc/functions/vprintf.texi: Update.
58400         * doc/functions/vsnprintf.texi: Update.
58401         * doc/functions/vsprintf.texi: Update.
58402
58403 2007-11-03  Bruno Haible  <bruno@clisp.org>
58404
58405         * modules/frexp-nolibm-tests: New file.
58406
58407         * modules/frexp-nolibm: New file.
58408         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
58409
58410 2007-11-03  Bruno Haible  <bruno@clisp.org>
58411
58412         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
58413         value is C99 compliant.
58414         Needed for OSF/1 5.1.
58415
58416 2007-11-03  Bruno Haible  <bruno@clisp.org>
58417
58418         Fix out-of-memory handling of vasnprintf.
58419         * lib/printf-parse.c: Include <errno.h>.
58420         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
58421         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
58422         is already set.
58423
58424 2007-11-02  Eric Blake  <ebb9@byu.net>
58425
58426         Fix tests on cygwin.
58427         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
58428
58429 2007-11-01  Bruno Haible  <bruno@clisp.org>
58430
58431         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
58432         warning.
58433         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
58434         needed for POSIX compatibility.
58435
58436 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
58437
58438         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
58439         for compatibility with GNU.
58440
58441 2007-11-01  Bruno Haible  <bruno@clisp.org>
58442
58443         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
58444         (putenv): Renamed from rpl_putenv. Change argument type from
58445         'const char *' to 'char *'.
58446         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
58447         of defining putenv in config.h, just set REPLACE_PUTENV.
58448         * modules/putenv (Depends-on): Add stdlib.
58449         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
58450         (Include): Use <stdlib.h>.
58451         * lib/stdlib.in.h (putenv): New declaration.
58452         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
58453         REPLACE_PUTENV.
58454         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
58455         REPLACE_PUTENV.
58456         Needed for MacOS X 10.5.0.
58457         Reported by Peter O'Gorman <peter@pogma.com>.
58458
58459 2007-11-01  Jim Meyering  <meyering@redhat.com>
58460
58461         Treat an empty date string exactly like "0".
58462         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
58463         if the remaining date string (to be parsed) is empty, use "0".
58464         Reported by Mischa Molhoek and discussed in this thread:
58465         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
58466
58467 2007-10-31  Bruno Haible  <bruno@clisp.org>
58468
58469         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
58470         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
58471         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
58472         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
58473         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
58474         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
58475
58476 2007-10-31  Bruno Haible  <bruno@clisp.org>
58477
58478         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
58479         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
58480         (AC_TYPE_LONG_LONG_INT): Use it.
58481         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
58482         it as well.
58483         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
58484         to m4/longlong.m4.
58485         * modules/stdint (Files): Remove m4/ulonglong.m4.
58486         * modules/strtoull (Files): Use m4/longlong.m4 instead of
58487         m4/ulonglong.m4.
58488         * modules/strtoumax (Files): Likewise.
58489
58490 2007-10-30  Bruno Haible  <bruno@clisp.org>
58491
58492         * modules/xvasprintf-posix: New file.
58493         Suggested by Eric Blake.
58494
58495 2007-10-30  Bruno Haible  <bruno@clisp.org>
58496
58497         * modules/xprintf-posix-tests: New file.
58498         * tests/test-xprintf-posix.sh: New file.
58499         * tests/test-xprintf-posix.c: New file.
58500         * tests/test-xfprintf-posix.c: New file.
58501
58502         * modules/xprintf-posix: New file.
58503
58504 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58505
58506         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
58507         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
58508         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
58509
58510 2007-10-29  Bruno Haible  <bruno@clisp.org>
58511
58512         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
58513         contain the special marker '_cv_'.
58514         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
58515         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
58516         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
58517         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
58518         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
58519         Reported by Ralf Wildenhues.
58520
58521 2007-10-29  Bruno Haible  <bruno@clisp.org>
58522
58523         * gnulib-tool (func_import): When --lgpl is not specified, set
58524         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
58525         GPLv3.
58526         Reported by Simon Josefsson.
58527
58528 2007-10-28  Bruno Haible  <bruno@clisp.org>
58529
58530         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
58531         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
58532         HAVE_DECL_ISFINITE.
58533         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
58534         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
58535         HAVE_DECL_ISFINITE.
58536
58537 2007-10-28  Bruno Haible  <bruno@clisp.org>
58538
58539         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
58540         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
58541
58542 2007-10-28  Bruno Haible  <bruno@clisp.org>
58543
58544         Fix link errors with Sun C 5.0 on Solaris 10.
58545         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
58546         function is declared but not present in the compiler's libm.
58547         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
58548         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
58549         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
58550         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
58551         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
58552         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
58553         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
58554         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
58555         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
58556         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
58557         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
58558         HAVE_DECL_FLOORL.
58559
58560 2007-10-28  Bruno Haible  <bruno@clisp.org>
58561
58562         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
58563         gl_FUNC_FLOORL. Cache the result.
58564         (gl_FUNC_FLOORL): Use it.
58565         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
58566         gl_FUNC_CEILL. Cache the result.
58567         (gl_FUNC_CEILL): Use it.
58568
58569         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
58570         gl_FUNC_FLOOR. Cache the result.
58571         (gl_FUNC_FLOOR): Use it.
58572         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
58573         gl_FUNC_CEIL. Cache the result.
58574         (gl_FUNC_CEIL): Use it.
58575
58576         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
58577         gl_FUNC_FLOORF. Cache the result.
58578         (gl_FUNC_FLOORF): Use it.
58579         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
58580         gl_FUNC_CEILF. Cache the result.
58581         (gl_FUNC_CEILF): Use it.
58582
58583 2007-10-28  Bruno Haible  <bruno@clisp.org>
58584
58585         * gnulib-tool: Allow specifying the LGPL version number through
58586         --lgpl=2 or --lgpl=3.
58587         (func_usage): Document --lgpl with argument.
58588         Handle --lgpl=... arguments.
58589         (func_import): Recognize also gl_LGPL calls with an argument. When
58590         --lgpl=2 is used and the module's license is just LGPL, report an
58591         error. Set sed_transform_lib_file according to the lgpl variable. In
58592         the generated files, use --lgpl or gl_LGPL invocations with argument,
58593         if necessary.
58594         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
58595         an LGPv2+ license.
58596         * doc/gnulib-tool.texi (Modified imports): Update explanation of
58597         gl_LGPL macro.
58598
58599 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58600             Bruno Haible  <bruno@clisp.org>
58601
58602         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
58603         (u16_uctomb_aux): Likewise.
58604         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
58605         !HAVE_INLINE.
58606         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
58607
58608 2007-10-28  Bruno Haible  <bruno@clisp.org>
58609
58610         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
58611         Invoke AM_GETTEXT_OPTION if it exists.
58612         * modules/vasprintf: Likewise.
58613         * modules/verror: Likewise.
58614         * modules/xprintf: Likewise.
58615         * modules/xvasprintf: Likewise.
58616
58617 2007-10-27  Ben Pfaff  <blp@gnu.org>
58618
58619         * lib/math.in.h: Define isfinite macro and prototypes for
58620         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
58621         implementations.
58622         * m4/math_h.m4: New substitutions for isfinite module.
58623         * lib/isfinite.c: New file.
58624         * m4/isfinite.m4: New file.
58625         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
58626         * modules/isfinite: New file.
58627         * modules/isfinite-tests: New file.
58628         * tests/tests-isfinite.c: New file.
58629         * doc/functions/isfinite.texi: Mention isfinite module.
58630         * MODULES.html.sh: Mention new module.
58631
58632 2007-10-27  Ben Pfaff  <blp@gnu.org>
58633
58634         Ralf Wildenhues reported that Tru64 4.0D declares the round
58635         functions but does not have definitions.
58636         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
58637         cannot be found in any library, set the output variable to
58638         "missing" instead of "".
58639         * m4/round.m4: Also use our substitute if we cannot find round in
58640         any library, even if it is declared.
58641         * m4/roundf.m4: Likewise for roundf.
58642         * m4/roundl.m4: Likewise for roundl.
58643         * lib/math.in.h: Undefine roundf, round, roundl before defining
58644         their replacements, to allow for hypothetical systems where these
58645         may be defined as macros but not available in libraries.
58646
58647 2007-10-27  Bruno Haible  <bruno@clisp.org>
58648
58649         * doc/gnulib.texi: Invoke @firstparagraphindent.
58650         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
58651         changes in gnulib.
58652         (Source changes): New section.
58653
58654 2007-10-26  Bruno Haible  <bruno@clisp.org>
58655
58656         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
58657         borrowed from autoconf.
58658
58659 2007-10-26  Bruno Haible  <bruno@clisp.org>
58660
58661         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
58662         strerror returned the empty string. Needed on HP-UX 11.00.
58663
58664 2007-10-24  Micah Cowan  <micah@cowan.name>
58665
58666         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
58667         * build-aux/bootstrap: Remove support for now-unnecessary option,
58668         --cvs-user, and envvars CVS_USER, CVS_RSH.
58669
58670 2007-10-24  Jim Meyering  <meyering@redhat.com>
58671
58672         Avoid diagnostics from sha1sum when there is no cached checksum.
58673         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
58674         if the po.s1 file hasn't been created yet.
58675
58676         * build-aux/bootstrap: Sync from coreutils:
58677         2007-10-24  Jim Meyering  <meyering@redhat.com>
58678         Get gnulib from the git repository, not from an obsolete cvs one.
58679         * build-aux/bootstrap: Suggestion from Micah Cowan.
58680         2007-10-04  Jim Meyering  <jim@meyering.net>
58681         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
58682         (update_po_files): Work also when there are no .po files in po/.
58683
58684 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
58685
58686         * README: Append ".git" to git and cg examples.
58687         Problem reported by Benoit Sigoure.
58688
58689 2007-10-23  Micah Cowan  <micah@cowan.name>
58690
58691         * users.txt: Add wget.
58692
58693 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58694
58695         Fix linking of some unistdio tests on FreeBSD.
58696         * modules/unistdio/u16-vsnprintf-tests
58697         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
58698         * modules/unistdio/u16-vsprintf-tests
58699         (test_u16_vsnprintf1_LDADD): Likewise.
58700         * modules/unistdio/u32-vsnprintf-tests
58701         (test_u32_vsnprintf1_LDADD): Likewise.
58702         * modules/unistdio/u32-vsprintf-tests
58703         (test_u32_vsprintf1_LDADD): Likewise.
58704         * modules/unistdio/u8-vsnprintf-tests
58705         (test_u8_vsnprintf1_LDADD): Likewise.
58706         * modules/unistdio/u8-vsprintf-tests
58707         (test_u8_vsprintf1_LDADD): Likewise.
58708         * modules/unistdio/ulc-vsnprintf-tests
58709         (test_ulc_vsnprintf1_LDADD): Likewise.
58710         * modules/unistdio/ulc-vsprintf-tests
58711         (test_ulc_vsprintf1_LDADD): Likewise.
58712
58713         Fix linking of some uniconv tests on FreeBSD.
58714         * modules/uniconv/u16-conv-from-enc-tests
58715         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
58716         * modules/uniconv/u16-conv-to-enc-tests
58717         (test_u16_conv_to_enc_LDADD): Likewise.
58718         * modules/uniconv/u16-strconv-from-enc-tests
58719         (test_u16_strconv_from_enc_LDADD): Likewise.
58720         * modules/uniconv/u16-strconv-to-enc-tests
58721         (test_u16_strconv_to_enc_LDADD): Likewise.
58722         * modules/uniconv/u32-conv-from-enc-tests
58723         (test_u32_conv_from_enc_LDADD): Likewise.
58724         * modules/uniconv/u32-conv-to-enc-tests
58725         (test_u32_conv_to_enc_LDADD): Likewise.
58726         * modules/uniconv/u32-strconv-from-enc-tests
58727         (test_u32_strconv_from_enc_LDADD): Likewise.
58728         * modules/uniconv/u32-strconv-to-enc-tests
58729         (test_u32_strconv_to_enc_LDADD): Likewise.
58730         * modules/uniconv/u8-conv-from-enc-tests
58731         (test_u8_conv_from_enc_LDADD): Likewise.
58732         * modules/uniconv/u8-conv-to-enc-tests
58733         (test_u8_conv_to_enc_LDADD): Likewise.
58734         * modules/uniconv/u8-strconv-from-enc-tests
58735         (test_u8_strconv_from_enc_LDADD): Likewise.
58736         * modules/uniconv/u8-strconv-to-enc-tests
58737         (test_u8_strconv_to_enc_LDADD): Likewise.
58738
58739 2007-10-22  Bruno Haible  <bruno@clisp.org>
58740
58741         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
58742         size.
58743
58744 2007-10-22  Eric Blake  <ebb9@byu.net>
58745
58746         Tweak x*printf documentation.
58747         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
58748         variable name and comments.
58749         Suggested by Bruno Haible.
58750
58751 2007-10-22  Bruno Haible  <bruno@clisp.org>
58752
58753         * lib/acl.c (copy_acl): Fix file name in comment.
58754
58755 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
58756
58757         Fix Tru64 problem with stdbool.h.
58758         * lib/stdbool.in.h (false, true):
58759         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
58760         Don't declare as an enum in this situation; it runs afoul of Tru64.
58761         Problem reported by Steven M. Schweda in
58762         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
58763
58764 2007-10-22  Eric Blake  <ebb9@byu.net>
58765
58766         Also wrap vf?printf.
58767         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
58768         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
58769         (xvprintf, xvfprintf): New functions.
58770
58771 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58772
58773         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
58774         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
58775
58776         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
58777         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
58778
58779 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
58780
58781         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
58782         by Bruno Haible.
58783
58784 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58785
58786         * lib/getloadavg.c
58787         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
58788         Undef `sys' after including sys/table.h, for Tru64 4.0D.
58789
58790         * tests/test-i-ring.c: Work for C89.
58791
58792 2007-10-22  Bruno Haible  <bruno@clisp.org>
58793
58794         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
58795         -1u, in preprocessor expression, so that we don't test for the bug
58796         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
58797         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
58798
58799 2007-10-22  Eric Blake  <ebb9@byu.net>
58800
58801         * tests/test-yesno.sh: Silence stderr during test.
58802
58803 2007-10-22  Simon Josefsson  <simon@josefsson.org>
58804
58805         * modules/crypto/gc-camellia: New file.
58806
58807         * m4/gc-camellia.m4: New file.
58808
58809         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
58810
58811         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
58812
58813 2007-10-22  Simon Josefsson  <simon@josefsson.org>
58814
58815         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
58816         --help to stdout.  Reported by sms@antinode.org (Steven
58817         M. Schweda).
58818
58819 2007-10-22  Simon Josefsson  <simon@josefsson.org>
58820
58821         * users.txt: Fix link to libksba.
58822
58823 2007-10-21  Ben Pfaff  <blp@gnu.org>
58824
58825         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
58826         round.c roundf implementation that depends on floorf and ceilf to
58827         be tested unconditionally.
58828
58829 2007-10-21  Ben Pfaff  <blp@gnu.org>
58830
58831         * m4/check-libm-func.m4: Removed.
58832         * m4/check-math-lib.m4: New file.
58833         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
58834         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
58835         definition and lack of AC_LIBOBJ([roundf]).
58836         * m4/roundl.m4: Ditto, and similarly for roundl.
58837         * modules/round: Reference new m4 file.
58838         * modules/roundf: Ditto.
58839         * modules/roundl: Ditto.
58840         * tests/test-round2.c (main): Use ROUND instead of round.
58841         Bug report from Bruno Haible.
58842
58843 2007-10-21  Bruno Haible  <bruno@clisp.org>
58844
58845         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
58846         context.
58847
58848 2007-10-21  Bruno Haible  <bruno@clisp.org>
58849
58850         * tests/test-wcwidth.c (main): Allow negative result for some control
58851         characters.
58852
58853         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
58854         Needed on OSF/1 5.1.
58855
58856 2007-10-21  Bruno Haible  <bruno@clisp.org>
58857
58858         * tests/test-floorf1.c: Include isnanf.h.
58859         (main): Use isnanf() instead of isnan().
58860         * tests/test-ceilf1.c: Include isnanf.h.
58861         (main): Use isnanf() instead of isnan().
58862         * tests/test-truncf1.c: Include isnanf.h.
58863         (main): Use isnanf() instead of isnan().
58864         * tests/test-roundf1.c: Include isnanf.h.
58865         (main): Use isnanf() instead of isnan().
58866
58867 2007-10-21  Eric Blake  <ebb9@byu.net>
58868
58869         * users.txt: Update URL for m4.
58870
58871 2007-10-21  Bruno Haible  <bruno@clisp.org>
58872
58873         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
58874
58875 2007-10-21  Bruno Haible  <bruno@clisp.org>
58876
58877         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
58878         Git's management files if the CVS files are not present.
58879
58880 2007-10-20  Bruno Haible  <bruno@clisp.org>
58881
58882         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
58883         gcc-3.4.x.
58884
58885 2007-10-20  Ben Pfaff  <blp@gnu.org>
58886
58887         * lib/math.in.h: Declare round, roundf, roundl if we are providing
58888         implementations.
58889         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
58890         * lib/round.c: New file.
58891         * lib/roundf.c: New file.
58892         * lib/roundl.c: New file.
58893         * m4/round.m4: New file.
58894         * m4/roundf.m4: New file.
58895         * m4/roundl.m4: New file.
58896         * m4/check-libm-func-m4: New file.
58897         * modules/math: Replace round, roundf, roundl related @VARS@ in
58898         math.in.h.
58899         * modules/round: New file.
58900         * modules/round-tests: New file.
58901         * modules/roundf: New file.
58902         * modules/roundf-tests: New file.
58903         * modules/roundl: New file.
58904         * modules/roundl-tests: New file.
58905         * tests/test-round1.c: New file.
58906         * tests/test-round2.c: New file.
58907         * tests/test-roundf1.c: New file.
58908         * tests/test-roundf2.c: New file.
58909         * tests/test-roundl.c: New file.
58910         * doc/functions/round.texi: Mention round module.
58911         * doc/functions/roundf.texi: Mention roundf module.
58912         * doc/functions/roundl.texi: Mention roundl module.
58913         * MODULES.html.sh: Mention new modules.
58914         Thanks to Bruno Haible for suggestions.
58915
58916 2007-10-20  Jim Meyering  <meyering@redhat.com>
58917
58918         * lib/xprintf.c: Include <config.h> unconditionally.
58919
58920         Change xprintf's license to GPL.
58921         * modules/xprintf (License): s/LGPL/GPL/, since this module
58922         depends on modules (exit and exitfail) which are GPL.
58923         Suggestion from Bruno Haible.
58924
58925         xprintf fixes.
58926         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
58927         Use a clearer diagnostic.
58928         Patch from Bruno Haible.
58929
58930 2007-10-20  Bruno Haible  <bruno@clisp.org>
58931
58932         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
58933         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
58934         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
58935
58936 2007-10-20  Bruno Haible  <bruno@clisp.org>
58937
58938         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
58939         precision in the comparison result > x - 1 or similar.
58940         * tests/test-ceilf2.c (correct_result_p): Likewise.
58941         * tests/test-truncf2.c (correct_result_p): Likewise.
58942         * tests/test-trunc2.c (correct_result_p): Likewise.
58943         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
58944
58945 2007-10-20  Bruno Haible  <bruno@clisp.org>
58946
58947         * modules/ceil: New file.
58948         * m4/ceil.m4: New file.
58949         * doc/functions/ceil.texi: Mention the 'ceil' module.
58950
58951 2007-10-20  Bruno Haible  <bruno@clisp.org>
58952
58953         * modules/floor: New file.
58954         * m4/floor.m4: New file.
58955         * doc/functions/floor.texi: Mention the 'floor' module.
58956
58957 2007-10-20  Bruno Haible  <bruno@clisp.org>
58958
58959         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
58960         of %a.
58961         * modules/floorf-tests (Depends-on): Likewise.
58962         * modules/truncf-tests (Depends-on): Likewise.
58963         * modules/trunc-tests (Depends-on): Likewise.
58964         Reported by Ben Pfaff.
58965
58966 2007-10-19  Jim Meyering  <meyering@redhat.com>
58967
58968         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
58969         Don't bother testing specific errno values.  Just test ferror.
58970
58971         New module: xprintf
58972         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
58973
58974 2007-10-19  Bruno Haible  <bruno@clisp.org>
58975
58976         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
58977         syntax.
58978         * modules/javaexec (Makefile.am): Likewise.
58979         * modules/relocatable-prog (Makefile.am): Likewise.
58980         Suggested by Jim Meyering.
58981
58982 2007-10-18  Bruno Haible  <bruno@clisp.org>
58983
58984         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
58985         Reported by Jim Meyering.
58986
58987 2007-10-18  Eric Blake  <ebb9@byu.net>
58988
58989         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
58990
58991 2007-10-18  Bruno Haible  <bruno@clisp.org>
58992
58993         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
58994         the format string into writable memory. Needed in Fortify conditions.
58995
58996 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
58997             Bruno Haible  <bruno@clisp.org>
58998
58999         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
59000         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
59001         * modules/trim (Depends-on): Add mbchar.
59002         (configure.ac): Add gl_FUNC_MBRTOWC.
59003         (Makefile.am): Augment lib_SOURCES.
59004
59005 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
59006
59007         Modify glob.c to use fstatat and dirfd, to simplify it.
59008         Suggested by Eric Blake.
59009         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
59010         Don't include <stdbool.h>; not used.
59011         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
59012         (link_exists_p): Simplify implementation, since we can now assume
59013         dirfd and fstatat.
59014         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
59015
59016 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59017
59018         * gnulib-tool (func_get_dependencies): Fix sed script to
59019         match only tests.
59020
59021 2007-10-17  Bruno Haible  <bruno@clisp.org>
59022
59023         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
59024         allow locale names without encoding suffix.
59025         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
59026         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
59027
59028 2007-10-16  Bruno Haible  <bruno@clisp.org>
59029
59030         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
59031         * lib/getgroups.c (getgroups): Likewise.
59032         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
59033
59034 2007-10-16  Bruno Haible  <bruno@clisp.org>
59035
59036         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
59037         * modules/malloc-posix (License): Likewise.
59038         * modules/realloc-posix (License): Likewise.
59039         * modules/calloc-posix (License): Likewise.
59040         * modules/intprops (License): Change from GPL to LGPL, with
59041         Paul Eggert's approval.
59042
59043 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
59044
59045         Merge glibc changes into lib/glob.c.
59046
59047         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
59048         2007-10-15 04:59:03 UTC.  Here are the changes:
59049
59050         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
59051
59052         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
59053
59054         * lib/glob.c: Add some branch prediction throughout.
59055
59056         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
59057
59058         [BZ #5103]
59059         * lib/glob.c (glob): Recognize patterns starting \/.
59060
59061         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
59062
59063         [BZ #3996]
59064         * lib/glob.c (attribute_hidden): Define if not defined.
59065         (glob): Unescape dirname, filename or username when needed and not
59066         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
59067         is NULL.  Handle unescaped [ in pattern without closing ].
59068         Don't pass GLOB_CHECK down to recursive glob for directories.
59069         (__glob_pattern_type): New function.
59070         (__glob_pattern_p): Implement using __glob_pattern_type.
59071         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
59072         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
59073         Remove unreachable code.
59074
59075         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
59076
59077         * lib/glob.c (glob_in_dir): Add some comments and asserts to
59078         explain why there are no leaks.
59079
59080         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
59081
59082         [BZ #3253]
59083         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
59084         time, rather allocate increasingly bigger arrays of pointers, if
59085         possible with alloca, if too large with malloc.
59086
59087 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
59088
59089         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
59090         Problem reported by H.Merijn Brand in
59091         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
59092         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
59093         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
59094
59095 2007-10-15  Bruno Haible  <bruno@clisp.org>
59096
59097         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
59098         with explicit rpl_ prefix.
59099         * lib/fopen.c (fopen): Likewise.
59100         * lib/freopen.c (freopen): Likewise.
59101         * lib/iconv.c (iconv): Likewise.
59102         * lib/iconv_close.c (iconv_close): Likewise.
59103
59104 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59105
59106         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
59107
59108 2007-10-15  Bruno Haible  <bruno@clisp.org>
59109
59110         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
59111         <stddef.h> instead of <stdlib.h> since we only need NULL.
59112         Reported by Ben Pfaff <blp@cs.stanford.edu>.
59113
59114 2007-10-15  Bruno Haible  <bruno@clisp.org>
59115
59116         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
59117         Replace paragraph talking about LIBOBJS.
59118         Reported by Colin Watson <cjwatson@debian.org>.
59119
59120 2007-10-15  Bruno Haible  <bruno@clisp.org>
59121
59122         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
59123         <stdlib.h> before using NULL.
59124
59125 2007-10-15  Simon Josefsson  <simon@josefsson.org>
59126
59127         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
59128         Reported by Albert Chin <china@thewrittenword.com>.
59129
59130 2007-10-14  Bruno Haible  <bruno@clisp.org>
59131
59132         * modules/iconv_open-utf-tests: New file.
59133         * tests/test-iconv-utf.c: New file.
59134
59135         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
59136         * modules/iconv_open-utf: New file.
59137         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
59138         (iconv, iconv_close): New declarations.
59139         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
59140         be defined.
59141         (iconv_open): Add special handling of conversion between UTF-8 and
59142         UTF-{16,32}{BE,LE}.
59143         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
59144         * lib/iconv_close.c: New file.
59145         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
59146         gl_FUNC_ICONV_OPEN.
59147         (gl_FUNC_ICONV_OPEN): Use it.
59148         (gl_FUNC_ICONV_OPEN_UTF): New macro.
59149         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
59150         and REPLACE_ICONV_UTF.
59151         * modules/iconv_open (Depends-on): Add c-strcase.
59152         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
59153         ICONV_CONST.
59154         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
59155
59156 2007-10-13  Albert Chin  <china@thewrittenword.com>
59157             Bruno Haible  <bruno@clisp.org>
59158
59159         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
59160         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
59161
59162 2007-10-13  Bruno Haible  <bruno@clisp.org>
59163
59164         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
59165         defined, use the ISO C99 inline semantics.
59166         * lib/argp.h (ARGP_EI): Likewise.
59167
59168 2007-10-13  Bruno Haible  <bruno@clisp.org>
59169
59170         Handle 'inline' change in gcc 4.3.0.
59171         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
59172         argp_fmtstream_write, argp_fmtstream_set_lmargin,
59173         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
59174         argp_fmtstream_point): Disable 'extern' declaration if the function
59175         definition is going to be provided inline.
59176         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
59177         semantics, not the ISO C99 inline semantics.
59178         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
59179         'extern' declaration if the function definition is going to be provided
59180         inline.
59181         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
59182         the GNU C inline semantics, not the ISO C99 inline semantics. With
59183         GCC 4.2, avoid a warning.
59184
59185 2007-10-13  Bruno Haible  <bruno@clisp.org>
59186
59187         * lib/freading.h (freading): Enable the use of __freading for
59188         glibc >= 2.7.
59189         * lib/freading.c (freading): Likewise.
59190
59191 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
59192
59193         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
59194         "warning: C99 inline functions are not supported; using GNU89".
59195
59196 2007-10-12  Bruno Haible  <bruno@clisp.org>
59197
59198         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
59199         of 2.
59200         * tests/test-ceilf2.c: New file.
59201         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
59202
59203         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
59204         * modules/ceilf-tests: Update.
59205
59206 2007-10-12  Bruno Haible  <bruno@clisp.org>
59207
59208         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
59209         of 2.
59210         * tests/test-floorf2.c: New file.
59211         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
59212
59213         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
59214         * modules/floorf-tests: Update.
59215
59216 2007-10-12  Bruno Haible  <bruno@clisp.org>
59217
59218         * tests/test-trunc2.c: New file.
59219         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
59220
59221         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
59222         * modules/trunc-tests: Update.
59223
59224 2007-10-12  Bruno Haible  <bruno@clisp.org>
59225
59226         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
59227         of 2.
59228         * tests/test-truncf2.c: New file.
59229         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
59230
59231         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
59232         * modules/truncf-tests: Update.
59233
59234 2007-10-11  Eric Blake  <ebb9@byu.net>
59235
59236         Don't claim strerror is broken on Interix.
59237         * doc/functions/strerror.texi (strerror): Known broken systems are
59238         now Solaris 8, and not Interix.
59239         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
59240         Interix on cross-compile.
59241         Reported by Martin Koeppe in
59242         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
59243
59244 2007-10-11  Bruno Haible  <bruno@clisp.org>
59245
59246         * modules/i-ring-tests: New file.
59247         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
59248         instead of assert.
59249
59250 2007-10-11  Bruno Haible  <bruno@clisp.org>
59251
59252         * modules/filenamecat-tests: New file.
59253         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
59254         * lib/filenamecat.c: Remove test code.
59255
59256 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
59257
59258         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
59259
59260         * lib/strerror.c: Include <string.h> always, to test interface,
59261         and to remove the need for the dummy.
59262         Include intprops.h to compute width instead of doing it ourselves
59263         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
59264         (strerror): Define it to return NULL if there's no system strerror.
59265         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
59266         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
59267         ancient pre-strerror Unix systems well any more.  Saying "unknown
59268         system error" is enough.
59269         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
59270         simpler strerror.c implementation.
59271         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
59272         Simplify the tests to reflect the simpler strerror implementation.
59273         * modules/strerror (Depends-on): Add intprops.
59274
59275 2007-10-09  Eric Blake  <ebb9@byu.net>
59276
59277         Silence test-fpending.
59278         * modules/fpending-tests (Files): Add wrapper script.
59279         * tests/test-fpending.sh: New file.
59280
59281 2007-10-09  Bruno Haible  <bruno@clisp.org>
59282
59283         * MODULES.html.sh (func_module): Don't create a hyperlink for
59284         function names like 'printf_frexp'.
59285         (Misc): Add crc, memxor.
59286         (Characteristics of floating types): New section.
59287         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
59288         isnanf-nolibm, signbit, trunc, truncf, truncl.
59289         (Enhancements for ISO C 99 functions): New subsection Input/output.
59290         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
59291         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
59292         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
59293         (Compatibility checks for POSIX:2001 functions): Add clock-time.
59294         (Enhancements for POSIX:2001 functions): Add chdir-long.
59295         (File system functions): Add areadlink, chdir-safer, read-file.
59296         Remove cycle-check.
59297         (File system as inode set): New section.
59298         (Date and time): Add gethrxtime.
59299         (Multithreading): Add openmp.
59300         (Internationalization functions): Add localename.
59301         (Unicode string functions): Add unistr/u*-mbsnlen.
59302         (Support for maintaining and releasing projects): Add git-version-gen.
59303         (Lone files): Remove directories.
59304
59305 2007-10-08  Ben Pfaff  <blp@gnu.org>
59306
59307         * lib/xmalloca.h: Fix typo in comment.
59308
59309 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
59310
59311         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
59312         when avoiding problems with integer overflow.  Use a portable test
59313         instead.
59314
59315 2007-10-08  Simon Josefsson  <simon@josefsson.org>
59316
59317         * modules/dummy (License): Change to LGPLv2+.
59318         * modules/float (License): Likewise
59319         * modules/realloc (License): Likewise
59320         * modules/stdlib (License): Likewise
59321
59322 2007-10-07  Bruno Haible  <bruno@clisp.org>
59323
59324         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
59325         * floor.c (TWO_MANT_DIG): Likewise.
59326         * ceil.c (TWO_MANT_DIG): Likewise.
59327         Reported by Ben Pfaff.
59328
59329 2007-10-07  Bruno Haible  <bruno@clisp.org>
59330
59331         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
59332         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
59333         * lib/frexp.c (FUNC): Likewise.
59334         * lib/printf-frexp.h (printf_frexp): Likewise.
59335         * lib/printf-frexpl.h (printf_frexpl): Likewise.
59336         * lib/printf-frexp.c (FUNC): Likewise.
59337         Suggested by Jim Meyering.
59338
59339 2007-10-07  Jim Meyering  <meyering@redhat.com>
59340
59341         Make xnanosleep's integer overflow test more robust.
59342         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
59343         so that gcc-4.3.0 doesn't optimize away this test for overflow.
59344
59345 2007-10-07  Bruno Haible  <bruno@clisp.org>
59346
59347         * NEWS: Mention the license change.
59348
59349         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
59350         abbreviations in the modules files.
59351
59352         Change copyright notice from GPLv2+ to GPLv3+.
59353         * README: Change copyright notice.
59354         * MODULES.html.sh: Likewise.
59355         * build-aux/bootstrap.conf: Likewise.
59356         * build-aux/config.libpath: Likewise.
59357         * build-aux/csharpcomp.sh.in: Likewise.
59358         * build-aux/csharpexec.sh.in: Likewise.
59359         * build-aux/install-reloc: Likewise.
59360         * build-aux/javacomp.sh.in: Likewise.
59361         * build-aux/javaexec.sh.in: Likewise.
59362         * build-aux/ldd.sh.in: Likewise.
59363         * build-aux/reloc-ldflags: Likewise.
59364         * build-aux/relocatable.sh.in: Likewise.
59365         * build-aux/x-to-1.in: Likewise.
59366         * check-module: Likewise.
59367         * config/srclistvars.sh: Likewise.
59368         * gnulib-tool: Likewise.
59369         * lib/acl-internal.h: Likewise.
59370         * lib/acl.c: Likewise.
59371         * lib/acl.h: Likewise.
59372         * lib/acl_entries.c: Likewise.
59373         * lib/areadlink-with-size.c: Likewise.
59374         * lib/areadlink.c: Likewise.
59375         * lib/areadlink.h: Likewise.
59376         * lib/argmatch.c: Likewise.
59377         * lib/argmatch.h: Likewise.
59378         * lib/argp-ba.c: Likewise.
59379         * lib/argp-eexst.c: Likewise.
59380         * lib/argp-fmtstream.c: Likewise.
59381         * lib/argp-fmtstream.h: Likewise.
59382         * lib/argp-fs-xinl.c: Likewise.
59383         * lib/argp-help.c: Likewise.
59384         * lib/argp-namefrob.h: Likewise.
59385         * lib/argp-parse.c: Likewise.
59386         * lib/argp-pin.c: Likewise.
59387         * lib/argp-pv.c: Likewise.
59388         * lib/argp-pvh.c: Likewise.
59389         * lib/argp-xinl.c: Likewise.
59390         * lib/argp.h: Likewise.
59391         * lib/at-func.c: Likewise.
59392         * lib/atanl.c: Likewise.
59393         * lib/backupfile.c: Likewise.
59394         * lib/backupfile.h: Likewise.
59395         * lib/basename.c: Likewise.
59396         * lib/binary-io.h: Likewise.
59397         * lib/byteswap.in.h: Likewise.
59398         * lib/c-stack.c: Likewise.
59399         * lib/c-stack.h: Likewise.
59400         * lib/c-strcasestr.c: Likewise.
59401         * lib/c-strcasestr.h: Likewise.
59402         * lib/c-strstr.c: Likewise.
59403         * lib/c-strstr.h: Likewise.
59404         * lib/c-strtod.c: Likewise.
59405         * lib/calloc.c: Likewise.
59406         * lib/canon-host.c: Likewise.
59407         * lib/canon-host.h: Likewise.
59408         * lib/canonicalize-lgpl.c: Likewise.
59409         * lib/canonicalize.c: Likewise.
59410         * lib/canonicalize.h: Likewise.
59411         * lib/ceil.c: Likewise.
59412         * lib/ceilf.c: Likewise.
59413         * lib/ceill.c: Likewise.
59414         * lib/chdir-long.c: Likewise.
59415         * lib/chdir-long.h: Likewise.
59416         * lib/chdir-safer.c: Likewise.
59417         * lib/chdir-safer.h: Likewise.
59418         * lib/chown.c: Likewise.
59419         * lib/classpath.c: Likewise.
59420         * lib/classpath.h: Likewise.
59421         * lib/clean-temp.c: Likewise.
59422         * lib/clean-temp.h: Likewise.
59423         * lib/cloexec.c: Likewise.
59424         * lib/close-stream.c: Likewise.
59425         * lib/closein.c: Likewise.
59426         * lib/closein.h: Likewise.
59427         * lib/closeout.c: Likewise.
59428         * lib/closeout.h: Likewise.
59429         * lib/concat-filename.c: Likewise.
59430         * lib/copy-file.c: Likewise.
59431         * lib/copy-file.h: Likewise.
59432         * lib/count-one-bits.h: Likewise.
59433         * lib/crc.c: Likewise.
59434         * lib/crc.h: Likewise.
59435         * lib/creat-safer.c: Likewise.
59436         * lib/csharpcomp.c: Likewise.
59437         * lib/csharpcomp.h: Likewise.
59438         * lib/csharpexec.c: Likewise.
59439         * lib/csharpexec.h: Likewise.
59440         * lib/cycle-check.c: Likewise.
59441         * lib/cycle-check.h: Likewise.
59442         * lib/diacrit.c: Likewise.
59443         * lib/diacrit.h: Likewise.
59444         * lib/diffseq.h: Likewise.
59445         * lib/dirchownmod.c: Likewise.
59446         * lib/dirent.in.h: Likewise.
59447         * lib/dirfd.c: Likewise.
59448         * lib/dirfd.h: Likewise.
59449         * lib/dirname.c: Likewise.
59450         * lib/dirname.h: Likewise.
59451         * lib/dummy.c: Likewise.
59452         * lib/dup-safer.c: Likewise.
59453         * lib/dup2.c: Likewise.
59454         * lib/eealloc.h: Likewise.
59455         * lib/error.c: Likewise.
59456         * lib/error.h: Likewise.
59457         * lib/euidaccess.c: Likewise.
59458         * lib/exclude.c: Likewise.
59459         * lib/exclude.h: Likewise.
59460         * lib/execute.c: Likewise.
59461         * lib/execute.h: Likewise.
59462         * lib/exitfail.c: Likewise.
59463         * lib/exitfail.h: Likewise.
59464         * lib/expl.c: Likewise.
59465         * lib/fatal-signal.c: Likewise.
59466         * lib/fatal-signal.h: Likewise.
59467         * lib/fbufmode.c: Likewise.
59468         * lib/fbufmode.h: Likewise.
59469         * lib/fchdir.c: Likewise.
59470         * lib/fchmodat.c: Likewise.
59471         * lib/fchownat.c: Likewise.
59472         * lib/fcntl--.h: Likewise.
59473         * lib/fcntl-safer.h: Likewise.
59474         * lib/fcntl.in.h: Likewise.
59475         * lib/fd-safer.c: Likewise.
59476         * lib/fflush.c: Likewise.
59477         * lib/file-has-acl.c: Likewise.
59478         * lib/file-set.c: Likewise.
59479         * lib/file-type.c: Likewise.
59480         * lib/file-type.h: Likewise.
59481         * lib/fileblocks.c: Likewise.
59482         * lib/filemode.c: Likewise.
59483         * lib/filemode.h: Likewise.
59484         * lib/filename.h: Likewise.
59485         * lib/filenamecat.c: Likewise.
59486         * lib/filenamecat.h: Likewise.
59487         * lib/findprog.c: Likewise.
59488         * lib/findprog.h: Likewise.
59489         * lib/float.in.h: Likewise.
59490         * lib/floor.c: Likewise.
59491         * lib/floorf.c: Likewise.
59492         * lib/floorl.c: Likewise.
59493         * lib/fopen-safer.c: Likewise.
59494         * lib/fopen.c: Likewise.
59495         * lib/fpending.c: Likewise.
59496         * lib/fpending.h: Likewise.
59497         * lib/fprintf.c: Likewise.
59498         * lib/fprintftime.h: Likewise.
59499         * lib/fpucw.h: Likewise.
59500         * lib/fpurge.c: Likewise.
59501         * lib/fpurge.h: Likewise.
59502         * lib/freadable.c: Likewise.
59503         * lib/freadable.h: Likewise.
59504         * lib/freadahead.c: Likewise.
59505         * lib/freadahead.h: Likewise.
59506         * lib/freading.c: Likewise.
59507         * lib/freading.h: Likewise.
59508         * lib/free.c: Likewise.
59509         * lib/freopen.c: Likewise.
59510         * lib/frexp.c: Likewise.
59511         * lib/frexpl.c: Likewise.
59512         * lib/fseek.c: Likewise.
59513         * lib/fseterr.c: Likewise.
59514         * lib/fseterr.h: Likewise.
59515         * lib/fstatat.c: Likewise.
59516         * lib/fstrcmp.c: Likewise.
59517         * lib/fstrcmp.h: Likewise.
59518         * lib/fsusage.c: Likewise.
59519         * lib/fsusage.h: Likewise.
59520         * lib/ftell.c: Likewise.
59521         * lib/ftello.c: Likewise.
59522         * lib/fts-cycle.c: Likewise.
59523         * lib/fts.c: Likewise.
59524         * lib/fts_.h: Likewise.
59525         * lib/full-read.c: Likewise.
59526         * lib/full-read.h: Likewise.
59527         * lib/full-write.c: Likewise.
59528         * lib/full-write.h: Likewise.
59529         * lib/fwritable.c: Likewise.
59530         * lib/fwritable.h: Likewise.
59531         * lib/fwriteerror.c: Likewise.
59532         * lib/fwriteerror.h: Likewise.
59533         * lib/fwriting.c: Likewise.
59534         * lib/fwriting.h: Likewise.
59535         * lib/gcd.c: Likewise.
59536         * lib/gcd.h: Likewise.
59537         * lib/getcwd.c: Likewise.
59538         * lib/getdate.h: Likewise.
59539         * lib/getdate.y: Likewise.
59540         * lib/getdomainname.c: Likewise.
59541         * lib/getdomainname.h: Likewise.
59542         * lib/getgroups.c: Likewise.
59543         * lib/gethostname.c: Likewise.
59544         * lib/gethrxtime.c: Likewise.
59545         * lib/gethrxtime.h: Likewise.
59546         * lib/getloadavg.c: Likewise.
59547         * lib/getndelim2.c: Likewise.
59548         * lib/getndelim2.h: Likewise.
59549         * lib/getnline.c: Likewise.
59550         * lib/getnline.h: Likewise.
59551         * lib/getopt.c: Likewise.
59552         * lib/getopt.in.h: Likewise.
59553         * lib/getopt1.c: Likewise.
59554         * lib/getopt_int.h: Likewise.
59555         * lib/getpagesize.h: Likewise.
59556         * lib/getsubopt.c: Likewise.
59557         * lib/gettime.c: Likewise.
59558         * lib/getugroups.c: Likewise.
59559         * lib/getugroups.h: Likewise.
59560         * lib/getusershell.c: Likewise.
59561         * lib/gl_anyavltree_list1.h: Likewise.
59562         * lib/gl_anyavltree_list2.h: Likewise.
59563         * lib/gl_anyhash_list1.h: Likewise.
59564         * lib/gl_anyhash_list2.h: Likewise.
59565         * lib/gl_anylinked_list1.h: Likewise.
59566         * lib/gl_anylinked_list2.h: Likewise.
59567         * lib/gl_anyrbtree_list1.h: Likewise.
59568         * lib/gl_anyrbtree_list2.h: Likewise.
59569         * lib/gl_anytree_list1.h: Likewise.
59570         * lib/gl_anytree_list2.h: Likewise.
59571         * lib/gl_anytree_oset.h: Likewise.
59572         * lib/gl_anytreehash_list1.h: Likewise.
59573         * lib/gl_anytreehash_list2.h: Likewise.
59574         * lib/gl_array_list.c: Likewise.
59575         * lib/gl_array_list.h: Likewise.
59576         * lib/gl_array_oset.c: Likewise.
59577         * lib/gl_array_oset.h: Likewise.
59578         * lib/gl_avltree_list.c: Likewise.
59579         * lib/gl_avltree_list.h: Likewise.
59580         * lib/gl_avltree_oset.c: Likewise.
59581         * lib/gl_avltree_oset.h: Likewise.
59582         * lib/gl_avltreehash_list.c: Likewise.
59583         * lib/gl_avltreehash_list.h: Likewise.
59584         * lib/gl_carray_list.c: Likewise.
59585         * lib/gl_carray_list.h: Likewise.
59586         * lib/gl_linked_list.c: Likewise.
59587         * lib/gl_linked_list.h: Likewise.
59588         * lib/gl_linkedhash_list.c: Likewise.
59589         * lib/gl_linkedhash_list.h: Likewise.
59590         * lib/gl_list.c: Likewise.
59591         * lib/gl_list.h: Likewise.
59592         * lib/gl_oset.c: Likewise.
59593         * lib/gl_oset.h: Likewise.
59594         * lib/gl_rbtree_list.c: Likewise.
59595         * lib/gl_rbtree_list.h: Likewise.
59596         * lib/gl_rbtree_oset.c: Likewise.
59597         * lib/gl_rbtree_oset.h: Likewise.
59598         * lib/gl_rbtreehash_list.c: Likewise.
59599         * lib/gl_rbtreehash_list.h: Likewise.
59600         * lib/gl_sublist.c: Likewise.
59601         * lib/gl_sublist.h: Likewise.
59602         * lib/group-member.c: Likewise.
59603         * lib/group-member.h: Likewise.
59604         * lib/hard-locale.c: Likewise.
59605         * lib/hard-locale.h: Likewise.
59606         * lib/hash-pjw.c: Likewise.
59607         * lib/hash-pjw.h: Likewise.
59608         * lib/hash-triple.c: Likewise.
59609         * lib/hash.c: Likewise.
59610         * lib/hash.h: Likewise.
59611         * lib/human.c: Likewise.
59612         * lib/human.h: Likewise.
59613         * lib/i-ring.c: Likewise.
59614         * lib/i-ring.h: Likewise.
59615         * lib/idcache.c: Likewise.
59616         * lib/imaxabs.c: Likewise.
59617         * lib/imaxdiv.c: Likewise.
59618         * lib/inet_pton.c: Likewise.
59619         * lib/inet_pton.h: Likewise.
59620         * lib/intprops.h: Likewise.
59621         * lib/inttostr.c: Likewise.
59622         * lib/inttostr.h: Likewise.
59623         * lib/inttypes.in.h: Likewise.
59624         * lib/isapipe.c: Likewise.
59625         * lib/isdir.c: Likewise.
59626         * lib/isnan.c: Likewise.
59627         * lib/isnan.h: Likewise.
59628         * lib/isnanf.c: Likewise.
59629         * lib/isnanf.h: Likewise.
59630         * lib/isnanl-nolibm.h: Likewise.
59631         * lib/isnanl.c: Likewise.
59632         * lib/isnanl.h: Likewise.
59633         * lib/javacomp.c: Likewise.
59634         * lib/javacomp.h: Likewise.
59635         * lib/javaexec.c: Likewise.
59636         * lib/javaexec.h: Likewise.
59637         * lib/javaversion.c: Likewise.
59638         * lib/javaversion.h: Likewise.
59639         * lib/javaversion.java: Likewise.
59640         * lib/lbrkprop.h: Likewise.
59641         * lib/lchmod.h: Likewise.
59642         * lib/lchown.c: Likewise.
59643         * lib/ldexpl.c: Likewise.
59644         * lib/linebreak.c: Likewise.
59645         * lib/linebreak.h: Likewise.
59646         * lib/linebuffer.c: Likewise.
59647         * lib/linebuffer.h: Likewise.
59648         * lib/locale.in.h: Likewise.
59649         * lib/logl.c: Likewise.
59650         * lib/long-options.c: Likewise.
59651         * lib/long-options.h: Likewise.
59652         * lib/lstat.c: Likewise.
59653         * lib/lstat.h: Likewise.
59654         * lib/math.in.h: Likewise.
59655         * lib/mbchar.c: Likewise.
59656         * lib/mbchar.h: Likewise.
59657         * lib/mbfile.h: Likewise.
59658         * lib/mbiter.h: Likewise.
59659         * lib/mbscasecmp.c: Likewise.
59660         * lib/mbscasestr.c: Likewise.
59661         * lib/mbschr.c: Likewise.
59662         * lib/mbscspn.c: Likewise.
59663         * lib/mbslen.c: Likewise.
59664         * lib/mbsncasecmp.c: Likewise.
59665         * lib/mbsnlen.c: Likewise.
59666         * lib/mbspbrk.c: Likewise.
59667         * lib/mbspcasecmp.c: Likewise.
59668         * lib/mbsrchr.c: Likewise.
59669         * lib/mbssep.c: Likewise.
59670         * lib/mbsspn.c: Likewise.
59671         * lib/mbsstr.c: Likewise.
59672         * lib/mbstok_r.c: Likewise.
59673         * lib/mbswidth.c: Likewise.
59674         * lib/mbswidth.h: Likewise.
59675         * lib/mbuiter.h: Likewise.
59676         * lib/memcasecmp.c: Likewise.
59677         * lib/memcasecmp.h: Likewise.
59678         * lib/memchr.c: Likewise.
59679         * lib/memcmp.c: Likewise.
59680         * lib/memcoll.c: Likewise.
59681         * lib/memcoll.h: Likewise.
59682         * lib/memcpy.c: Likewise.
59683         * lib/memrchr.c: Likewise.
59684         * lib/mkancesdirs.c: Likewise.
59685         * lib/mkdir-p.c: Likewise.
59686         * lib/mkdir-p.h: Likewise.
59687         * lib/mkdir.c: Likewise.
59688         * lib/mkdirat.c: Likewise.
59689         * lib/mkdtemp.c: Likewise.
59690         * lib/mkstemp-safer.c: Likewise.
59691         * lib/mkstemp.c: Likewise.
59692         * lib/modechange.c: Likewise.
59693         * lib/modechange.h: Likewise.
59694         * lib/mountlist.c: Likewise.
59695         * lib/mountlist.h: Likewise.
59696         * lib/mpsort.c: Likewise.
59697         * lib/nanosleep.c: Likewise.
59698         * lib/obstack.c: Likewise.
59699         * lib/obstack.h: Likewise.
59700         * lib/open-safer.c: Likewise.
59701         * lib/open.c: Likewise.
59702         * lib/openat-die.c: Likewise.
59703         * lib/openat-priv.h: Likewise.
59704         * lib/openat-proc.c: Likewise.
59705         * lib/openat.c: Likewise.
59706         * lib/openat.h: Likewise.
59707         * lib/pagealign_alloc.c: Likewise.
59708         * lib/pagealign_alloc.h: Likewise.
59709         * lib/physmem.c: Likewise.
59710         * lib/physmem.h: Likewise.
59711         * lib/pipe-safer.c: Likewise.
59712         * lib/pipe.c: Likewise.
59713         * lib/pipe.h: Likewise.
59714         * lib/posixtm.c: Likewise.
59715         * lib/posixtm.h: Likewise.
59716         * lib/posixver.c: Likewise.
59717         * lib/printf-frexp.c: Likewise.
59718         * lib/printf-frexp.h: Likewise.
59719         * lib/printf-frexpl.c: Likewise.
59720         * lib/printf-frexpl.h: Likewise.
59721         * lib/printf.c: Likewise.
59722         * lib/progname.c: Likewise.
59723         * lib/progname.h: Likewise.
59724         * lib/progreloc.c: Likewise.
59725         * lib/putenv.c: Likewise.
59726         * lib/quote.c: Likewise.
59727         * lib/quote.h: Likewise.
59728         * lib/quotearg.c: Likewise.
59729         * lib/quotearg.h: Likewise.
59730         * lib/raise.c: Likewise.
59731         * lib/readline.c: Likewise.
59732         * lib/readline.h: Likewise.
59733         * lib/readlink.c: Likewise.
59734         * lib/readtokens.c: Likewise.
59735         * lib/readtokens.h: Likewise.
59736         * lib/readtokens0.c: Likewise.
59737         * lib/readtokens0.h: Likewise.
59738         * lib/readutmp.c: Likewise.
59739         * lib/readutmp.h: Likewise.
59740         * lib/realloc.c: Likewise.
59741         * lib/relocwrapper.c: Likewise.
59742         * lib/rename-dest-slash.c: Likewise.
59743         * lib/rename.c: Likewise.
59744         * lib/rmdir.c: Likewise.
59745         * lib/rpmatch.c: Likewise.
59746         * lib/safe-read.c: Likewise.
59747         * lib/safe-read.h: Likewise.
59748         * lib/safe-write.c: Likewise.
59749         * lib/safe-write.h: Likewise.
59750         * lib/same-inode.h: Likewise.
59751         * lib/same.c: Likewise.
59752         * lib/same.h: Likewise.
59753         * lib/save-cwd.c: Likewise.
59754         * lib/save-cwd.h: Likewise.
59755         * lib/savedir.c: Likewise.
59756         * lib/savedir.h: Likewise.
59757         * lib/savewd.c: Likewise.
59758         * lib/savewd.h: Likewise.
59759         * lib/search.in.h: Likewise.
59760         * lib/setenv.c: Likewise.
59761         * lib/setenv.h: Likewise.
59762         * lib/settime.c: Likewise.
59763         * lib/sh-quote.c: Likewise.
59764         * lib/sh-quote.h: Likewise.
59765         * lib/sig2str.c: Likewise.
59766         * lib/sig2str.h: Likewise.
59767         * lib/signal.in.h: Likewise.
59768         * lib/signbitd.c: Likewise.
59769         * lib/signbitf.c: Likewise.
59770         * lib/signbitl.c: Likewise.
59771         * lib/sigprocmask.c: Likewise.
59772         * lib/sincosl.c: Likewise.
59773         * lib/sleep.c: Likewise.
59774         * lib/sprintf.c: Likewise.
59775         * lib/sqrtl.c: Likewise.
59776         * lib/stat-time.h: Likewise.
59777         * lib/stdio--.h: Likewise.
59778         * lib/stdio-safer.h: Likewise.
59779         * lib/stdlib--.h: Likewise.
59780         * lib/stdlib-safer.h: Likewise.
59781         * lib/stdlib.in.h: Likewise.
59782         * lib/stpcpy.c: Likewise.
59783         * lib/stpncpy.c: Likewise.
59784         * lib/strchrnul.c: Likewise.
59785         * lib/strcspn.c: Likewise.
59786         * lib/strerror.c: Likewise.
59787         * lib/strftime.c: Likewise.
59788         * lib/strftime.h: Likewise.
59789         * lib/striconveh.c: Likewise.
59790         * lib/striconveh.h: Likewise.
59791         * lib/striconveha.c: Likewise.
59792         * lib/striconveha.h: Likewise.
59793         * lib/stripslash.c: Likewise.
59794         * lib/strnlen1.c: Likewise.
59795         * lib/strnlen1.h: Likewise.
59796         * lib/strtod.c: Likewise.
59797         * lib/strtoimax.c: Likewise.
59798         * lib/strtok_r.c: Likewise.
59799         * lib/strtol.c: Likewise.
59800         * lib/strtoll.c: Likewise.
59801         * lib/strtoul.c: Likewise.
59802         * lib/strtoull.c: Likewise.
59803         * lib/sysexits.in.h: Likewise.
59804         * lib/tempname.c: Likewise.
59805         * lib/tempname.h: Likewise.
59806         * lib/timespec.h: Likewise.
59807         * lib/tls.c: Likewise.
59808         * lib/tls.h: Likewise.
59809         * lib/tmpdir.c: Likewise.
59810         * lib/tmpdir.h: Likewise.
59811         * lib/tmpfile-safer.c: Likewise.
59812         * lib/tmpfile.c: Likewise.
59813         * lib/trigl.c: Likewise.
59814         * lib/trigl.h: Likewise.
59815         * lib/trim.c: Likewise.
59816         * lib/trim.h: Likewise.
59817         * lib/trunc.c: Likewise.
59818         * lib/truncf.c: Likewise.
59819         * lib/truncl.c: Likewise.
59820         * lib/tsearch.c: Likewise.
59821         * lib/unicodeio.c: Likewise.
59822         * lib/unicodeio.h: Likewise.
59823         * lib/unistd--.h: Likewise.
59824         * lib/unistd-safer.h: Likewise.
59825         * lib/unistdio/ulc-fprintf.c: Likewise.
59826         * lib/unistdio/ulc-vfprintf.c: Likewise.
59827         * lib/unlinkdir.c: Likewise.
59828         * lib/unlinkdir.h: Likewise.
59829         * lib/unlocked-io.h: Likewise.
59830         * lib/unsetenv.c: Likewise.
59831         * lib/userspec.c: Likewise.
59832         * lib/utime.c: Likewise.
59833         * lib/utimecmp.c: Likewise.
59834         * lib/utimecmp.h: Likewise.
59835         * lib/utimens.c: Likewise.
59836         * lib/verify.h: Likewise.
59837         * lib/verror.c: Likewise.
59838         * lib/verror.h: Likewise.
59839         * lib/version-etc-fsf.c: Likewise.
59840         * lib/version-etc.c: Likewise.
59841         * lib/version-etc.h: Likewise.
59842         * lib/vfprintf.c: Likewise.
59843         * lib/vprintf.c: Likewise.
59844         * lib/vsprintf.c: Likewise.
59845         * lib/w32spawn.h: Likewise.
59846         * lib/wait-process.c: Likewise.
59847         * lib/wait-process.h: Likewise.
59848         * lib/wcwidth.c: Likewise.
59849         * lib/write-any-file.c: Likewise.
59850         * lib/xalloc-die.c: Likewise.
59851         * lib/xalloc.h: Likewise.
59852         * lib/xasprintf.c: Likewise.
59853         * lib/xgetcwd.c: Likewise.
59854         * lib/xgetcwd.h: Likewise.
59855         * lib/xgetdomainname.c: Likewise.
59856         * lib/xgetdomainname.h: Likewise.
59857         * lib/xgethostname.c: Likewise.
59858         * lib/xmalloc.c: Likewise.
59859         * lib/xmalloca.c: Likewise.
59860         * lib/xmalloca.h: Likewise.
59861         * lib/xmemcoll.c: Likewise.
59862         * lib/xnanosleep.c: Likewise.
59863         * lib/xreadlink.c: Likewise.
59864         * lib/xreadlink.h: Likewise.
59865         * lib/xsetenv.c: Likewise.
59866         * lib/xsetenv.h: Likewise.
59867         * lib/xstriconv.c: Likewise.
59868         * lib/xstriconv.h: Likewise.
59869         * lib/xstrndup.c: Likewise.
59870         * lib/xstrndup.h: Likewise.
59871         * lib/xstrtod.c: Likewise.
59872         * lib/xstrtod.h: Likewise.
59873         * lib/xstrtol-error.c: Likewise.
59874         * lib/xstrtol.c: Likewise.
59875         * lib/xstrtol.h: Likewise.
59876         * lib/xtime.h: Likewise.
59877         * lib/xvasprintf.c: Likewise.
59878         * lib/xvasprintf.h: Likewise.
59879         * lib/yesno.c: Likewise.
59880         * lib/yesno.h: Likewise.
59881         * posix-modules: Likewise.
59882         * tests/test-alloca-opt.c: Likewise.
59883         * tests/test-arcfour.c: Likewise.
59884         * tests/test-arctwo.c: Likewise.
59885         * tests/test-argmatch.c: Likewise.
59886         * tests/test-argp-2.sh: Likewise.
59887         * tests/test-argp.c: Likewise.
59888         * tests/test-arpa_inet.c: Likewise.
59889         * tests/test-array_list.c: Likewise.
59890         * tests/test-array_oset.c: Likewise.
59891         * tests/test-atexit.c: Likewise.
59892         * tests/test-avltree_list.c: Likewise.
59893         * tests/test-avltree_oset.c: Likewise.
59894         * tests/test-avltreehash_list.c: Likewise.
59895         * tests/test-base64.c: Likewise.
59896         * tests/test-binary-io.c: Likewise.
59897         * tests/test-byteswap.c: Likewise.
59898         * tests/test-c-ctype.c: Likewise.
59899         * tests/test-c-strcasecmp.c: Likewise.
59900         * tests/test-c-strcasestr.c: Likewise.
59901         * tests/test-c-strncasecmp.c: Likewise.
59902         * tests/test-c-strstr.c: Likewise.
59903         * tests/test-canonicalize-lgpl.c: Likewise.
59904         * tests/test-canonicalize.c: Likewise.
59905         * tests/test-carray_list.c: Likewise.
59906         * tests/test-ceilf.c: Likewise.
59907         * tests/test-ceill.c: Likewise.
59908         * tests/test-count-one-bits.c: Likewise.
59909         * tests/test-crc.c: Likewise.
59910         * tests/test-dirname.c: Likewise.
59911         * tests/test-fbufmode.c: Likewise.
59912         * tests/test-fcntl.c: Likewise.
59913         * tests/test-fflush.c: Likewise.
59914         * tests/test-floorf.c: Likewise.
59915         * tests/test-floorl.c: Likewise.
59916         * tests/test-fopen.c: Likewise.
59917         * tests/test-fprintf-posix.c: Likewise.
59918         * tests/test-fprintf-posix.h: Likewise.
59919         * tests/test-fpurge.c: Likewise.
59920         * tests/test-freadable.c: Likewise.
59921         * tests/test-freadahead.c: Likewise.
59922         * tests/test-freading.c: Likewise.
59923         * tests/test-freopen.c: Likewise.
59924         * tests/test-frexp.c: Likewise.
59925         * tests/test-frexpl.c: Likewise.
59926         * tests/test-fseek.c: Likewise.
59927         * tests/test-fseeko.c: Likewise.
59928         * tests/test-fseterr.c: Likewise.
59929         * tests/test-fstrcmp.c: Likewise.
59930         * tests/test-ftell.c: Likewise.
59931         * tests/test-ftello.c: Likewise.
59932         * tests/test-fwritable.c: Likewise.
59933         * tests/test-fwriting.c: Likewise.
59934         * tests/test-getaddrinfo.c: Likewise.
59935         * tests/test-getpass.c: Likewise.
59936         * tests/test-gettimeofday.c: Likewise.
59937         * tests/test-hmac-md5.c: Likewise.
59938         * tests/test-hmac-sha1.c: Likewise.
59939         * tests/test-iconv.c: Likewise.
59940         * tests/test-iconvme.c: Likewise.
59941         * tests/test-inttypes.c: Likewise.
59942         * tests/test-isnan.c: Likewise.
59943         * tests/test-isnanf.c: Likewise.
59944         * tests/test-isnanl-nolibm.c: Likewise.
59945         * tests/test-isnanl.c: Likewise.
59946         * tests/test-isnanl.h: Likewise.
59947         * tests/test-ldexpl.c: Likewise.
59948         * tests/test-linked_list.c: Likewise.
59949         * tests/test-linkedhash_list.c: Likewise.
59950         * tests/test-locale.c: Likewise.
59951         * tests/test-localename.c: Likewise.
59952         * tests/test-lock.c: Likewise.
59953         * tests/test-lseek.c: Likewise.
59954         * tests/test-malloca.c: Likewise.
59955         * tests/test-math.c: Likewise.
59956         * tests/test-mbscasecmp.c: Likewise.
59957         * tests/test-mbscasestr1.c: Likewise.
59958         * tests/test-mbscasestr2.c: Likewise.
59959         * tests/test-mbscasestr3.c: Likewise.
59960         * tests/test-mbscasestr4.c: Likewise.
59961         * tests/test-mbschr.c: Likewise.
59962         * tests/test-mbscspn.c: Likewise.
59963         * tests/test-mbsncasecmp.c: Likewise.
59964         * tests/test-mbspbrk.c: Likewise.
59965         * tests/test-mbspcasecmp.c: Likewise.
59966         * tests/test-mbsrchr.c: Likewise.
59967         * tests/test-mbsspn.c: Likewise.
59968         * tests/test-mbsstr1.c: Likewise.
59969         * tests/test-mbsstr2.c: Likewise.
59970         * tests/test-mbsstr3.c: Likewise.
59971         * tests/test-md5.c: Likewise.
59972         * tests/test-memmem.c: Likewise.
59973         * tests/test-netinet_in.c: Likewise.
59974         * tests/test-open.c: Likewise.
59975         * tests/test-printf-frexp.c: Likewise.
59976         * tests/test-printf-frexpl.c: Likewise.
59977         * tests/test-printf-posix.c: Likewise.
59978         * tests/test-printf-posix.h: Likewise.
59979         * tests/test-rbtree_list.c: Likewise.
59980         * tests/test-rbtree_oset.c: Likewise.
59981         * tests/test-rbtreehash_list.c: Likewise.
59982         * tests/test-read-file.c: Likewise.
59983         * tests/test-rijndael.c: Likewise.
59984         * tests/test-search.c: Likewise.
59985         * tests/test-signbit.c: Likewise.
59986         * tests/test-sleep.c: Likewise.
59987         * tests/test-snprintf-posix.c: Likewise.
59988         * tests/test-snprintf-posix.h: Likewise.
59989         * tests/test-snprintf.c: Likewise.
59990         * tests/test-sprintf-posix.c: Likewise.
59991         * tests/test-sprintf-posix.h: Likewise.
59992         * tests/test-stat-time.c: Likewise.
59993         * tests/test-stdbool.c: Likewise.
59994         * tests/test-stdint.c: Likewise.
59995         * tests/test-stdio.c: Likewise.
59996         * tests/test-stdlib.c: Likewise.
59997         * tests/test-stpncpy.c: Likewise.
59998         * tests/test-strcasestr.c: Likewise.
59999         * tests/test-striconv.c: Likewise.
60000         * tests/test-striconveh.c: Likewise.
60001         * tests/test-striconveha.c: Likewise.
60002         * tests/test-string.c: Likewise.
60003         * tests/test-sys_select.c: Likewise.
60004         * tests/test-sys_socket.c: Likewise.
60005         * tests/test-sys_stat.c: Likewise.
60006         * tests/test-sys_time.c: Likewise.
60007         * tests/test-sysexits.c: Likewise.
60008         * tests/test-time.c: Likewise.
60009         * tests/test-tls.c: Likewise.
60010         * tests/test-trunc.c: Likewise.
60011         * tests/test-truncf.c: Likewise.
60012         * tests/test-truncl.c: Likewise.
60013         * tests/test-unistd.c: Likewise.
60014         * tests/test-vasnprintf-posix.c: Likewise.
60015         * tests/test-vasnprintf-posix2.c: Likewise.
60016         * tests/test-vasnprintf.c: Likewise.
60017         * tests/test-vasprintf-posix.c: Likewise.
60018         * tests/test-vasprintf.c: Likewise.
60019         * tests/test-verify.c: Likewise.
60020         * tests/test-vfprintf-posix.c: Likewise.
60021         * tests/test-vprintf-posix.c: Likewise.
60022         * tests/test-vsnprintf-posix.c: Likewise.
60023         * tests/test-vsnprintf.c: Likewise.
60024         * tests/test-vsprintf-posix.c: Likewise.
60025         * tests/test-wchar.c: Likewise.
60026         * tests/test-wctype.c: Likewise.
60027         * tests/test-wcwidth.c: Likewise.
60028         * tests/test-xstrtol.c: Likewise.
60029         * tests/test-xvasprintf.c: Likewise.
60030         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
60031         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
60032         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
60033         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
60034         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
60035         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
60036         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
60037         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
60038         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
60039         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
60040         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
60041         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
60042         * tests/uniname/test-uninames.c: Likewise.
60043         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
60044         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
60045         * tests/unistdio/test-u16-printf1.h: Likewise.
60046         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
60047         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
60048         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
60049         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
60050         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
60051         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
60052         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
60053         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
60054         * tests/unistdio/test-u32-printf1.h: Likewise.
60055         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
60056         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
60057         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
60058         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
60059         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
60060         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
60061         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
60062         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
60063         * tests/unistdio/test-u8-printf1.h: Likewise.
60064         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
60065         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
60066         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
60067         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
60068         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
60069         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
60070         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
60071         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
60072         * tests/unistdio/test-ulc-printf1.h: Likewise.
60073         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
60074         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
60075         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
60076         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
60077         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
60078         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
60079         * tests/uniwidth/test-u16-strwidth.c: Likewise.
60080         * tests/uniwidth/test-u16-width.c: Likewise.
60081         * tests/uniwidth/test-u32-strwidth.c: Likewise.
60082         * tests/uniwidth/test-u32-width.c: Likewise.
60083         * tests/uniwidth/test-u8-strwidth.c: Likewise.
60084         * tests/uniwidth/test-u8-width.c: Likewise.
60085         * tests/uniwidth/test-uc_width.c: Likewise.
60086         * config/srclist-update: Likewise.
60087         (fixlicense): Update to GPLv3+.
60088
60089         Change copyright notice from LGPLv2.1+ to LGPLv3+.
60090         * tests/test-tsearch.c: Change copyright notice.
60091
60092         Change copyright notice from LGPLv2.0+ to LGPLv3+.
60093         * lib/c-strcaseeq.h: Change copyright notice.
60094         * lib/streq.h: Likewise.
60095         * lib/uniconv.h: Likewise.
60096         * lib/uniconv/u-conv-from-enc.h: Likewise.
60097         * lib/uniconv/u-conv-to-enc.h: Likewise.
60098         * lib/uniconv/u-strconv-from-enc.h: Likewise.
60099         * lib/uniconv/u-strconv-to-enc.h: Likewise.
60100         * lib/uniconv/u16-conv-from-enc.c: Likewise.
60101         * lib/uniconv/u16-conv-to-enc.c: Likewise.
60102         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
60103         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
60104         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
60105         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
60106         * lib/uniconv/u32-conv-from-enc.c: Likewise.
60107         * lib/uniconv/u32-conv-to-enc.c: Likewise.
60108         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
60109         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
60110         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
60111         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
60112         * lib/uniconv/u8-conv-from-enc.c: Likewise.
60113         * lib/uniconv/u8-conv-to-enc.c: Likewise.
60114         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
60115         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
60116         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
60117         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
60118         * lib/uniname.h: Likewise.
60119         * lib/uniname/uniname.c: Likewise.
60120         * lib/unistdio.h: Likewise.
60121         * lib/unistdio/u-asnprintf.h: Likewise.
60122         * lib/unistdio/u-asprintf.h: Likewise.
60123         * lib/unistdio/u-printf-args.c: Likewise.
60124         * lib/unistdio/u-printf-args.h: Likewise.
60125         * lib/unistdio/u-printf-parse.h: Likewise.
60126         * lib/unistdio/u-snprintf.h: Likewise.
60127         * lib/unistdio/u-sprintf.h: Likewise.
60128         * lib/unistdio/u-vasprintf.h: Likewise.
60129         * lib/unistdio/u-vsnprintf.h: Likewise.
60130         * lib/unistdio/u-vsprintf.h: Likewise.
60131         * lib/unistdio/u16-asnprintf.c: Likewise.
60132         * lib/unistdio/u16-asprintf.c: Likewise.
60133         * lib/unistdio/u16-printf-parse.c: Likewise.
60134         * lib/unistdio/u16-snprintf.c: Likewise.
60135         * lib/unistdio/u16-sprintf.c: Likewise.
60136         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
60137         * lib/unistdio/u16-u16-asprintf.c: Likewise.
60138         * lib/unistdio/u16-u16-snprintf.c: Likewise.
60139         * lib/unistdio/u16-u16-sprintf.c: Likewise.
60140         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
60141         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
60142         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
60143         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
60144         * lib/unistdio/u16-vasnprintf.c: Likewise.
60145         * lib/unistdio/u16-vasprintf.c: Likewise.
60146         * lib/unistdio/u16-vsnprintf.c: Likewise.
60147         * lib/unistdio/u16-vsprintf.c: Likewise.
60148         * lib/unistdio/u32-asnprintf.c: Likewise.
60149         * lib/unistdio/u32-asprintf.c: Likewise.
60150         * lib/unistdio/u32-printf-parse.c: Likewise.
60151         * lib/unistdio/u32-snprintf.c: Likewise.
60152         * lib/unistdio/u32-sprintf.c: Likewise.
60153         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
60154         * lib/unistdio/u32-u32-asprintf.c: Likewise.
60155         * lib/unistdio/u32-u32-snprintf.c: Likewise.
60156         * lib/unistdio/u32-u32-sprintf.c: Likewise.
60157         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
60158         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
60159         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
60160         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
60161         * lib/unistdio/u32-vasnprintf.c: Likewise.
60162         * lib/unistdio/u32-vasprintf.c: Likewise.
60163         * lib/unistdio/u32-vsnprintf.c: Likewise.
60164         * lib/unistdio/u32-vsprintf.c: Likewise.
60165         * lib/unistdio/u8-asnprintf.c: Likewise.
60166         * lib/unistdio/u8-asprintf.c: Likewise.
60167         * lib/unistdio/u8-printf-parse.c: Likewise.
60168         * lib/unistdio/u8-snprintf.c: Likewise.
60169         * lib/unistdio/u8-sprintf.c: Likewise.
60170         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
60171         * lib/unistdio/u8-u8-asprintf.c: Likewise.
60172         * lib/unistdio/u8-u8-snprintf.c: Likewise.
60173         * lib/unistdio/u8-u8-sprintf.c: Likewise.
60174         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
60175         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
60176         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
60177         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
60178         * lib/unistdio/u8-vasnprintf.c: Likewise.
60179         * lib/unistdio/u8-vasprintf.c: Likewise.
60180         * lib/unistdio/u8-vsnprintf.c: Likewise.
60181         * lib/unistdio/u8-vsprintf.c: Likewise.
60182         * lib/unistdio/ulc-asnprintf.c: Likewise.
60183         * lib/unistdio/ulc-asprintf.c: Likewise.
60184         * lib/unistdio/ulc-printf-parse.c: Likewise.
60185         * lib/unistdio/ulc-snprintf.c: Likewise.
60186         * lib/unistdio/ulc-sprintf.c: Likewise.
60187         * lib/unistdio/ulc-vasnprintf.c: Likewise.
60188         * lib/unistdio/ulc-vasprintf.c: Likewise.
60189         * lib/unistdio/ulc-vsnprintf.c: Likewise.
60190         * lib/unistdio/ulc-vsprintf.c: Likewise.
60191         * lib/unistr.h: Likewise.
60192         * lib/unistr/u-cpy-alloc.h: Likewise.
60193         * lib/unistr/u-cpy.h: Likewise.
60194         * lib/unistr/u-endswith.h: Likewise.
60195         * lib/unistr/u-move.h: Likewise.
60196         * lib/unistr/u-set.h: Likewise.
60197         * lib/unistr/u-startswith.h: Likewise.
60198         * lib/unistr/u-stpcpy.h: Likewise.
60199         * lib/unistr/u-stpncpy.h: Likewise.
60200         * lib/unistr/u-strcat.h: Likewise.
60201         * lib/unistr/u-strcpy.h: Likewise.
60202         * lib/unistr/u-strcspn.h: Likewise.
60203         * lib/unistr/u-strdup.h: Likewise.
60204         * lib/unistr/u-strlen.h: Likewise.
60205         * lib/unistr/u-strncat.h: Likewise.
60206         * lib/unistr/u-strncpy.h: Likewise.
60207         * lib/unistr/u-strnlen.h: Likewise.
60208         * lib/unistr/u-strpbrk.h: Likewise.
60209         * lib/unistr/u-strspn.h: Likewise.
60210         * lib/unistr/u-strstr.h: Likewise.
60211         * lib/unistr/u-strtok.h: Likewise.
60212         * lib/unistr/u16-check.c: Likewise.
60213         * lib/unistr/u16-chr.c: Likewise.
60214         * lib/unistr/u16-cmp.c: Likewise.
60215         * lib/unistr/u16-cpy-alloc.c: Likewise.
60216         * lib/unistr/u16-cpy.c: Likewise.
60217         * lib/unistr/u16-endswith.c: Likewise.
60218         * lib/unistr/u16-mblen.c: Likewise.
60219         * lib/unistr/u16-mbsnlen.c: Likewise.
60220         * lib/unistr/u16-mbtouc-aux.c: Likewise.
60221         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
60222         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
60223         * lib/unistr/u16-mbtouc.c: Likewise.
60224         * lib/unistr/u16-mbtoucr.c: Likewise.
60225         * lib/unistr/u16-move.c: Likewise.
60226         * lib/unistr/u16-next.c: Likewise.
60227         * lib/unistr/u16-prev.c: Likewise.
60228         * lib/unistr/u16-set.c: Likewise.
60229         * lib/unistr/u16-startswith.c: Likewise.
60230         * lib/unistr/u16-stpcpy.c: Likewise.
60231         * lib/unistr/u16-stpncpy.c: Likewise.
60232         * lib/unistr/u16-strcat.c: Likewise.
60233         * lib/unistr/u16-strchr.c: Likewise.
60234         * lib/unistr/u16-strcmp.c: Likewise.
60235         * lib/unistr/u16-strcpy.c: Likewise.
60236         * lib/unistr/u16-strcspn.c: Likewise.
60237         * lib/unistr/u16-strdup.c: Likewise.
60238         * lib/unistr/u16-strlen.c: Likewise.
60239         * lib/unistr/u16-strmblen.c: Likewise.
60240         * lib/unistr/u16-strmbtouc.c: Likewise.
60241         * lib/unistr/u16-strncat.c: Likewise.
60242         * lib/unistr/u16-strncmp.c: Likewise.
60243         * lib/unistr/u16-strncpy.c: Likewise.
60244         * lib/unistr/u16-strnlen.c: Likewise.
60245         * lib/unistr/u16-strpbrk.c: Likewise.
60246         * lib/unistr/u16-strrchr.c: Likewise.
60247         * lib/unistr/u16-strspn.c: Likewise.
60248         * lib/unistr/u16-strstr.c: Likewise.
60249         * lib/unistr/u16-strtok.c: Likewise.
60250         * lib/unistr/u16-to-u32.c: Likewise.
60251         * lib/unistr/u16-to-u8.c: Likewise.
60252         * lib/unistr/u16-uctomb-aux.c: Likewise.
60253         * lib/unistr/u16-uctomb.c: Likewise.
60254         * lib/unistr/u32-check.c: Likewise.
60255         * lib/unistr/u32-chr.c: Likewise.
60256         * lib/unistr/u32-cmp.c: Likewise.
60257         * lib/unistr/u32-cpy-alloc.c: Likewise.
60258         * lib/unistr/u32-cpy.c: Likewise.
60259         * lib/unistr/u32-endswith.c: Likewise.
60260         * lib/unistr/u32-mblen.c: Likewise.
60261         * lib/unistr/u32-mbsnlen.c: Likewise.
60262         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
60263         * lib/unistr/u32-mbtouc.c: Likewise.
60264         * lib/unistr/u32-mbtoucr.c: Likewise.
60265         * lib/unistr/u32-move.c: Likewise.
60266         * lib/unistr/u32-next.c: Likewise.
60267         * lib/unistr/u32-prev.c: Likewise.
60268         * lib/unistr/u32-set.c: Likewise.
60269         * lib/unistr/u32-startswith.c: Likewise.
60270         * lib/unistr/u32-stpcpy.c: Likewise.
60271         * lib/unistr/u32-stpncpy.c: Likewise.
60272         * lib/unistr/u32-strcat.c: Likewise.
60273         * lib/unistr/u32-strchr.c: Likewise.
60274         * lib/unistr/u32-strcmp.c: Likewise.
60275         * lib/unistr/u32-strcpy.c: Likewise.
60276         * lib/unistr/u32-strcspn.c: Likewise.
60277         * lib/unistr/u32-strdup.c: Likewise.
60278         * lib/unistr/u32-strlen.c: Likewise.
60279         * lib/unistr/u32-strmblen.c: Likewise.
60280         * lib/unistr/u32-strmbtouc.c: Likewise.
60281         * lib/unistr/u32-strncat.c: Likewise.
60282         * lib/unistr/u32-strncmp.c: Likewise.
60283         * lib/unistr/u32-strncpy.c: Likewise.
60284         * lib/unistr/u32-strnlen.c: Likewise.
60285         * lib/unistr/u32-strpbrk.c: Likewise.
60286         * lib/unistr/u32-strrchr.c: Likewise.
60287         * lib/unistr/u32-strspn.c: Likewise.
60288         * lib/unistr/u32-strstr.c: Likewise.
60289         * lib/unistr/u32-strtok.c: Likewise.
60290         * lib/unistr/u32-to-u16.c: Likewise.
60291         * lib/unistr/u32-to-u8.c: Likewise.
60292         * lib/unistr/u32-uctomb.c: Likewise.
60293         * lib/unistr/u8-check.c: Likewise.
60294         * lib/unistr/u8-chr.c: Likewise.
60295         * lib/unistr/u8-cmp.c: Likewise.
60296         * lib/unistr/u8-cpy-alloc.c: Likewise.
60297         * lib/unistr/u8-cpy.c: Likewise.
60298         * lib/unistr/u8-endswith.c: Likewise.
60299         * lib/unistr/u8-mblen.c: Likewise.
60300         * lib/unistr/u8-mbsnlen.c: Likewise.
60301         * lib/unistr/u8-mbtouc-aux.c: Likewise.
60302         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
60303         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
60304         * lib/unistr/u8-mbtouc.c: Likewise.
60305         * lib/unistr/u8-mbtoucr.c: Likewise.
60306         * lib/unistr/u8-move.c: Likewise.
60307         * lib/unistr/u8-next.c: Likewise.
60308         * lib/unistr/u8-prev.c: Likewise.
60309         * lib/unistr/u8-set.c: Likewise.
60310         * lib/unistr/u8-startswith.c: Likewise.
60311         * lib/unistr/u8-stpcpy.c: Likewise.
60312         * lib/unistr/u8-stpncpy.c: Likewise.
60313         * lib/unistr/u8-strcat.c: Likewise.
60314         * lib/unistr/u8-strchr.c: Likewise.
60315         * lib/unistr/u8-strcmp.c: Likewise.
60316         * lib/unistr/u8-strcpy.c: Likewise.
60317         * lib/unistr/u8-strcspn.c: Likewise.
60318         * lib/unistr/u8-strdup.c: Likewise.
60319         * lib/unistr/u8-strlen.c: Likewise.
60320         * lib/unistr/u8-strmblen.c: Likewise.
60321         * lib/unistr/u8-strmbtouc.c: Likewise.
60322         * lib/unistr/u8-strncat.c: Likewise.
60323         * lib/unistr/u8-strncmp.c: Likewise.
60324         * lib/unistr/u8-strncpy.c: Likewise.
60325         * lib/unistr/u8-strnlen.c: Likewise.
60326         * lib/unistr/u8-strpbrk.c: Likewise.
60327         * lib/unistr/u8-strrchr.c: Likewise.
60328         * lib/unistr/u8-strspn.c: Likewise.
60329         * lib/unistr/u8-strstr.c: Likewise.
60330         * lib/unistr/u8-strtok.c: Likewise.
60331         * lib/unistr/u8-to-u16.c: Likewise.
60332         * lib/unistr/u8-to-u32.c: Likewise.
60333         * lib/unistr/u8-uctomb-aux.c: Likewise.
60334         * lib/unistr/u8-uctomb.c: Likewise.
60335         * lib/unitypes.h: Likewise.
60336         * lib/uniwidth.h: Likewise.
60337         * lib/uniwidth/cjk.h: Likewise.
60338         * lib/uniwidth/u16-strwidth.c: Likewise.
60339         * lib/uniwidth/u16-width.c: Likewise.
60340         * lib/uniwidth/u32-strwidth.c: Likewise.
60341         * lib/uniwidth/u32-width.c: Likewise.
60342         * lib/uniwidth/u8-strwidth.c: Likewise.
60343         * lib/uniwidth/u8-width.c: Likewise.
60344         * lib/uniwidth/width.c: Likewise.
60345
60346 2007-10-07  Bruno Haible  <bruno@clisp.org>
60347
60348         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
60349         The file is still under LGPL (see modules/inttypes).
60350
60351 2007-10-06  Bruno Haible  <bruno@clisp.org>
60352
60353         * modules/trunc (Dependencies): Add 'extensions'.
60354         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
60355         Reported by Ben Pfaff <blp@gnu.org>.
60356
60357 2007-10-06  Bruno Haible  <bruno@clisp.org>
60358
60359         * modules/freopen-tests: New file.
60360         * tests/test-freopen.c: New file.
60361
60362         * modules/fopen-tests: New file.
60363         * tests/test-fopen.c: New file.
60364
60365         * modules/fopen: New file.
60366         * lib/fopen.c: New file.
60367         * m4/fopen.m4: New file.
60368         * modules/freopen: New file.
60369         * lib/freopen.c: New file.
60370         * m4/freopen.m4: New file.
60371         * lib/stdio.in.h (fopen, freopen): New declarations.
60372         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
60373         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
60374         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
60375         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
60376         * doc/functions/fopen.texi: Mention the 'fopen' module.
60377         * doc/functions/freopen.texi: Mention the 'freopen' module.
60378
60379 2007-10-06  Bruno Haible  <bruno@clisp.org>
60380
60381         * modules/open-tests: New file.
60382         * tests/test-open.c: New file.
60383
60384         * modules/open: New file.
60385         * lib/open.c: New file.
60386         * m4/open.m4: New file.
60387         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
60388         lib/open.c does.
60389         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
60390         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
60391         macros.
60392         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
60393         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
60394         REPLACE_OPEN.
60395         * doc/functions/open.texi: Mention the 'open' module.
60396
60397 2007-10-04  Bruno Haible  <bruno@clisp.org>
60398
60399         * modules/ceill-tests: New file.
60400         * tests/test-ceill.c: New file.
60401
60402         * modules/ceill: New file.
60403         * lib/ceill.c: Replace entire file.
60404         * m4/ceill.m4: New file.
60405         * lib/math.in.h (ceill): Replace declaration.
60406         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
60407         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
60408         * doc/functions/ceill.texi: Mention the 'ceill' module.
60409         * modules/mathl (Files): Remove lib/ceill.c.
60410         (Depends-on): Add ceill.
60411
60412 2007-10-04  Bruno Haible  <bruno@clisp.org>
60413
60414         * modules/ceilf-tests: New file.
60415         * tests/test-ceilf.c: New file.
60416
60417         * modules/ceilf: New file.
60418         * lib/ceil.c: New file.
60419         * lib/ceilf.c: New file.
60420         * m4/ceilf.m4: New file.
60421         * lib/math.in.h (ceilf): New declaration.
60422         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
60423         HAVE_DECL_CEILF.
60424         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
60425         HAVE_DECL_CEILF.
60426         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
60427
60428 2007-10-04  Bruno Haible  <bruno@clisp.org>
60429
60430         * modules/floorl-tests: New file.
60431         * tests/test-floorl.c: New file.
60432
60433         * modules/floorl: New file.
60434         * lib/floorl.c: Replace entire file.
60435         * m4/floorl.m4: New file.
60436         * lib/math.in.h (floorl): Replace declaration.
60437         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
60438         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
60439         * doc/functions/floorl.texi: Mention the 'floorl' module.
60440         * modules/mathl (Files): Remove lib/floorl.c.
60441         (Depends-on): Add floorl.
60442
60443 2007-10-04  Bruno Haible  <bruno@clisp.org>
60444
60445         * modules/floorf-tests: New file.
60446         * tests/test-floorf.c: New file.
60447
60448         * modules/floorf: New file.
60449         * lib/floor.c: New file.
60450         * lib/floorf.c: New file.
60451         * m4/floorf.m4: New file.
60452         * lib/math.in.h (floorf): New declaration.
60453         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
60454         HAVE_DECL_FLOORF.
60455         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
60456         HAVE_DECL_FLOORF.
60457         * doc/functions/floorf.texi: Mention the 'floorf' module.
60458
60459 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
60460             Bruno Haible  <bruno@clisp.org>
60461
60462         Advertise for the Git server instead of the CVS server.
60463         * doc/gnulib-intro.texi (Steady Development): Mention the Git
60464         repository instead of the CVS one.
60465         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
60466         about all VCS systems generically.
60467         * doc/gnulib.texi (Introduction): Capitalize `Git'.
60468
60469 2007-10-04  Bruno Haible  <bruno@clisp.org>
60470
60471         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
60472         means.
60473         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
60474
60475 2007-10-04  Bruno Haible  <bruno@clisp.org>
60476
60477         * modules/truncl-tests: New file.
60478         * tests/test-truncl.c: New file.
60479
60480         * modules/truncl: New file.
60481         * lib/truncl.c: New file.
60482         * m4/truncl.m4: New file.
60483         * lib/math.in.h (truncl): New declaration.
60484         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
60485         HAVE_DECL_TRUNCL.
60486         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
60487         HAVE_DECL_TRUNCL.
60488         * doc/functions/truncl.texi: Mention the 'truncl' module.
60489
60490 2007-10-04  Bruno Haible  <bruno@clisp.org>
60491
60492         * modules/truncf-tests: New file.
60493         * tests/test-truncf.c: New file.
60494
60495         * modules/truncf: New file.
60496         * lib/trunc.c: Make paramerizable through USE_* macros.
60497         * lib/truncf.c: New file.
60498         * m4/truncf.m4: New file.
60499         * lib/math.in.h (truncf): New declaration.
60500         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
60501         HAVE_DECL_TRUNCF.
60502         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
60503         HAVE_DECL_TRUNCF.
60504         * doc/functions/truncf.texi: Mention the 'truncf' module.
60505
60506 2007-10-03  Bruno Haible  <bruno@clisp.org>
60507
60508         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
60509         augmentation also for tests modules.
60510         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
60511         * modules/atexit-tests (Makefile.am): Likewise.
60512         * modules/binary-io-tests (Makefile.am): Likewise.
60513         * modules/c-strcase-tests (Makefile.am): Likewise.
60514         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
60515         * modules/canonicalize-tests (Makefile.am): Likewise.
60516         * modules/closein-tests (Makefile.am): Likewise.
60517         * modules/fprintf-posix-tests (Makefile.am): Likewise.
60518         * modules/freadahead-tests (Makefile.am): Likewise.
60519         * modules/fseek-tests (Makefile.am): Likewise.
60520         * modules/fseeko-tests (Makefile.am): Likewise.
60521         * modules/ftell-tests (Makefile.am): Likewise.
60522         * modules/ftello-tests (Makefile.am): Likewise.
60523         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
60524         * modules/isnanl-tests (Makefile.am): Likewise.
60525         * modules/lseek-tests (Makefile.am): Likewise.
60526         * modules/mbscasecmp-tests (Makefile.am): Likewise.
60527         * modules/mbscasestr-tests (Makefile.am): Likewise.
60528         * modules/mbschr-tests (Makefile.am): Likewise.
60529         * modules/mbscspn-tests (Makefile.am): Likewise.
60530         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
60531         * modules/mbspbrk-tests (Makefile.am): Likewise.
60532         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
60533         * modules/mbsrchr-tests (Makefile.am): Likewise.
60534         * modules/mbsspn-tests (Makefile.am): Likewise.
60535         * modules/mbsstr-tests (Makefile.am): Likewise.
60536         * modules/printf-posix-tests (Makefile.am): Likewise.
60537         * modules/snprintf-posix-tests (Makefile.am): Likewise.
60538         * modules/sprintf-posix-tests (Makefile.am): Likewise.
60539         * modules/tsearch-tests (Makefile.am): Likewise.
60540         * modules/uniname/uniname-tests (Makefile.am): Likewise.
60541         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
60542         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
60543         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
60544         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
60545         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
60546         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
60547         * modules/vprintf-posix-tests (Makefile.am): Likewise.
60548         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
60549         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
60550         * modules/xstrtoimax-tests (Makefile.am): Likewise.
60551         * modules/xstrtol-tests (Makefile.am): Likewise.
60552         * modules/xstrtoumax-tests (Makefile.am): Likewise.
60553         * modules/yesno-tests (Makefile.am): Likewise.
60554
60555 2007-10-03  Bruno Haible  <bruno@clisp.org>
60556
60557         * modules/trunc-tests: New file.
60558         * tests/test-trunc.c: New file.
60559
60560         * modules/trunc: New file.
60561         * lib/trunc.c: New file.
60562         * m4/trunc.m4: New file.
60563         * lib/math.in.h (trunc): New declaration.
60564         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
60565         HAVE_DECL_TRUNC.
60566         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
60567         HAVE_DECL_TRUNC.
60568         * doc/functions/trunc.texi: Mention the 'trunc' module.
60569
60570 2007-10-03  Bruno Haible  <bruno@clisp.org>
60571
60572         * tests/test-fpending.c: New file, mostly copied
60573         from coreutils/lib/t-fpending.c.
60574         * modules/fpending-tests: New file.
60575
60576 2007-10-03  Bruno Haible  <bruno@clisp.org>
60577
60578         Port the stdio extensions to QNX (untested).
60579         * lib/fseterr.c (fseterr): Add support for QNX.
60580         * lib/fbufmode.c (fbufmode): Likewise.
60581         * lib/freadable.c (freadable): Likewise.
60582         * lib/fwritable.c (fwritable): Likewise.
60583         * lib/freading.c (freading): Likewise.
60584         * lib/fwriting.c (fwriting): Likewise.
60585         * lib/freadahead.c (freadahed): Likewise.
60586         * lib/fpurge.c (fpurge): Likewise.
60587         * lib/fseeko.c (rpl_fseeko): Likewise.
60588
60589 2007-10-03  Bruno Haible  <bruno@clisp.org>
60590             Jim Meyering  <jim@meyering.net>
60591             Eric Blake  <ebb9@byu.net>
60592
60593         * doc/relocatable.texi: Use @command instead of @program.
60594
60595 2007-10-02  Jim Meyering  <jim@meyering.net>
60596
60597         Perform one more "_.h" -> ".in.h" substitution.
60598         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
60599         instead of unistd_.h here, too.
60600
60601 2007-10-01  Bruno Haible  <bruno@clisp.org>
60602
60603         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
60604         Needed for the alloca-opt module.
60605
60606 2007-09-30  Bruno Haible  <bruno@clisp.org>
60607
60608         * lib/alloca.in.h: Renamed from lib/alloca_.h.
60609         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
60610         alloca_.h.
60611         * lib/argz.in.h: Renamed from lib/argz_.h.
60612         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
60613         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
60614         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
60615         byteswap_.h.
60616         * lib/dirent.in.h: Renamed from lib/dirent_.h.
60617         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
60618         dirent_.h.
60619         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
60620         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
60621         fcntl_.h.
60622         * lib/float.in.h: Renamed from lib/float_.h.
60623         * modules/float (Files, Makefile.am): Use float.in.h instead of
60624         float_.h.
60625         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
60626         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
60627         fnmatch_.h.
60628         * lib/getopt.in.h: Renamed from lib/getopt_.h.
60629         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
60630         getopt_.h.
60631         * lib/glob.in.h: Renamed from lib/glob_.h.
60632         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
60633         * lib/iconv.in.h: Renamed from lib/iconv_.h.
60634         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
60635         iconv_.h.
60636         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
60637         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
60638         inttypes_.h.
60639         * lib/locale.in.h: Renamed from lib/locale_.h.
60640         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
60641         locale_.h.
60642         * lib/math.in.h: Renamed from lib/math_.h.
60643         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
60644         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
60645         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
60646         of netinet_in_.h. Add dependency.
60647         * lib/poll.in.h: Renamed from lib/poll_.h.
60648         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
60649         * lib/search.in.h: Renamed from lib/search_.h.
60650         * modules/search (Files, Makefile.am): Use search.in.h instead of
60651         search_.h.
60652         * lib/signal.in.h: Renamed from lib/signal_.h.
60653         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
60654         _signal.h.
60655         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
60656         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
60657         stdbool_.h.
60658         * lib/stdint.in.h: Renamed from lib/stdint_.h.
60659         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
60660         stdint_.h.
60661         * lib/stdio.in.h: Renamed from lib/stdio_.h.
60662         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
60663         stdio_.h.
60664         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
60665         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
60666         stdlib_.h.
60667         * lib/string.in.h: Renamed from lib/string_.h.
60668         * modules/string (Files, Makefile.am): Use string.in.h instead of
60669         string_.h.
60670         * doc/gnulib-tool.texi (Initial import): Update.
60671         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
60672         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
60673         of sys_select_.h. Add dependency.
60674         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
60675         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
60676         of sys_socket_.h.
60677         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
60678         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
60679         sys_stat_.h.
60680         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
60681         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
60682         sys_time_.h.
60683         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
60684         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
60685         sysexits_.h.
60686         * lib/time.in.h: Renamed from lib/time_.h.
60687         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
60688         * lib/unistd.in.h: Renamed from lib/unistd_.h.
60689         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
60690         unistd_.h.
60691         * lib/wchar.in.h: Renamed from lib/wchar_.h.
60692         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
60693         wchar_.h.
60694         * lib/wctype.in.h: Renamed from lib/wctype_.h.
60695         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
60696         wctype_.h.
60697         * build-aux/bootstrap (slurp): Update.
60698         * lib/.cppi-disable: Update.
60699
60700 2007-09-30  Bruno Haible  <bruno@clisp.org>
60701
60702         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
60703         Needed on BeOS.
60704
60705 2007-09-30  Bruno Haible  <bruno@clisp.org>
60706
60707         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
60708
60709 2007-09-29  Bruno Haible  <bruno@clisp.org>
60710
60711         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
60712
60713 2007-09-29  Bruno Haible  <bruno@clisp.org>
60714
60715         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
60716         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
60717         * build-aux/install-reloc: Compile also areadlink.c.
60718         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
60719
60720 2007-09-29  Bruno Haible  <bruno@clisp.org>
60721
60722         * gnulib-tool (func_emit_initmacro_done): Indentation.
60723
60724 2007-09-29  Bruno Haible  <bruno@clisp.org>
60725
60726         * README: Add CVS checkout update instructions.
60727         Info from Bob Proulx <bob@proulx.com>.
60728
60729 2007-09-28  Eric Blake  <ebb9@byu.net>
60730
60731         Provide move-if-change.
60732         * build-aux/move-if-change: New file, based on best practice
60733         rather than any canonical upstream location.
60734
60735 2007-09-28  Jim Meyering  <jim@meyering.net>
60736
60737         Fix canonicalize loop-detection corner case.
60738         Do not attempt to stat the symlink values stored via seen_triple.
60739         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
60740         on linux-2.6.18, (but not 2.6.22).
60741         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
60742         triple_compare.  The former compares dev,ino,filename, while the latter
60743         would actually stat dirname(filename) when dev and ino were equal.
60744         * lib/hash-triple.c: Install <string.h>.
60745         (STREQ): Define.
60746         (triple_compare_ino_str): New function.
60747         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
60748
60749 2007-09-28  Eric Blake  <ebb9@byu.net>
60750
60751         Enforce that AC_REPLACE_FUNCS files exist.
60752         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
60753         override check for typos.
60754
60755         Fix test-closein on Solaris 10.
60756         * tests/test-closein.c (main): Don't assume stdin can be inherited
60757         closed on all systems.
60758         * tests/test-closein.sh: Likewise.
60759         Reported by Piotr Tarnowski.
60760
60761 2007-09-28  Jim Meyering  <jim@meyering.net>
60762
60763         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
60764
60765 2007-09-27  Jim Meyering  <jim@meyering.net>
60766
60767         canonicalize: Avoid a false-positive cycle failure.
60768         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
60769         Sort.  Remove cycle-check.
60770         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
60771         not cycle-check.h.
60772         (seen_triple): New function.
60773         (canonicalize_filename_mode): Use it instead of cycle-check.
60774         * tests/test-canonicalize.c: Add a test for this bug.
60775         * tests/test-canonicalize.sh: Set up and run the test.
60776
60777         New module, file-set, from coreutils.
60778         * modules/file-set: Define it.
60779         * lib/file-set.c, lib/file-set.h: Implement.
60780
60781         New module, hash-triple, from coreutils.
60782         * modules/hash-triple: Define it.
60783         * lib/hash-triple.c, lib/hash-triple.h: Implement.
60784
60785 2007-09-25  Eric Blake  <ebb9@byu.net>
60786
60787         Fix strerror on Interix.
60788         * lib/string_.h (strerror): Declare replacement.
60789         * doc/functions/strerror.texi (strerror): Document the Interix
60790         shortcoming.
60791         * modules/string (Makefile.am): Support new hooks.
60792         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
60793         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
60794         gl_FUNC_STRERROR_SEPARATE.
60795         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
60796         * lib/strerror.c (rpl_strerror): Provide replacement.
60797         * modules/strerror (Depends-on): Add string.
60798         (configure.ac): Detect use of module.
60799         * tests/test-strerror.c: New file.
60800         * modules/strerror-tests: New test module.
60801         * modules/argp (Depends-on): Add strerror.
60802         * modules/error (Depends-on): Likewise.
60803         Reported by Martin Koeppe.
60804
60805 2007-09-24  Bruno Haible  <bruno@clisp.org>
60806
60807         * README: Update git instructions.
60808
60809 2007-09-24  Eric Blake  <ebb9@byu.net>
60810
60811         Revert fpending breakage from 2007-09-08.
60812         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
60813         __fpending.c.
60814
60815 2007-09-24  Jim Meyering  <jim@meyering.net>
60816
60817         filenamecat.c: Add a test.
60818         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
60819         showing how the function works when DIR is the empty string.
60820
60821 2007-09-21  Simon Josefsson  <simon@josefsson.org>
60822
60823         * tests/test-canonicalize.sh: Turn on executable bit.
60824
60825 2007-09-19  Eric Blake  <ebb9@byu.net>
60826
60827         * README: Update CVS instructions.
60828
60829 2007-09-18  Bruno Haible  <bruno@clisp.org>
60830
60831         * modules/areadlink: New file.
60832         * lib/areadlink.h (areadlink): New declaration.
60833         * lib/areadlink.c: New file, based on lib/xreadlink.c.
60834
60835 2007-09-17  Jim Meyering  <jim@meyering.net>
60836
60837         * lib/savewd.c (ESTALE) [!defined]: Define.
60838         Reported to be required on Interix by Martin Koeppe.
60839
60840 2007-09-17  Bruno Haible  <bruno@clisp.org>
60841
60842         * gnulib-tool (func_version): Use $version.
60843
60844 2007-09-16  Bruno Haible  <bruno@clisp.org>
60845
60846         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
60847         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
60848         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
60849         Reported by Greg Schafer <gschafer@zip.com.au>.
60850
60851 2007-09-15  Bruno Haible  <bruno@clisp.org>
60852
60853         * gnulib-tool (sed): Try a little harder to make bash understand the
60854         alias.
60855         Reported by Bruce Korb <bruce.korb@gmail.com>.
60856
60857 2007-09-13  Eric Blake  <ebb9@byu.net>
60858
60859         * ChangeLog: Remove conflict markers.
60860
60861 2007-09-13  Simon Josefsson  <simon@josefsson.org>
60862
60863         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
60864         Reported by Bruno Haible <bruno@clisp.org>.
60865
60866 2007-09-12  Bruno Haible  <bruno@clisp.org>
60867
60868         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
60869         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
60870         is not defined.
60871
60872 2007-09-12  Eric Blake  <ebb9@byu.net>
60873
60874         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
60875         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
60876         Autoconf definition.
60877         * modules/euidaccess (Depends-on): Add extensions, for
60878         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
60879         * modules/fnmatch (Depends-on): Likewise.
60880         * modules/getaddrinfo (Depends-on): Likewise.
60881         * modules/getdelim (Depends-on): Likewise.
60882         * modules/getline (Depends-on): Likewise.
60883         * modules/getsubopt (Depends-on): Likewise.
60884         * modules/gettext (Depends-on): Likewise.
60885         * modules/group-member (Depends-on): Likewise.
60886         * modules/mbchar (Depends-on): Likewise.
60887         * modules/memmem (Depends-on): Likewise.
60888         * modules/mempcpy (Depends-on): Likewise.
60889         * modules/memrchr (Depends-on): Likewise.
60890         * modules/pagealign_alloc (Depends-on): Likewise.
60891         * modules/readutmp (Depends-on): Likewise.
60892         * modules/stpcpy (Depends-on): Likewise.
60893         * modules/stpncpy (Depends-on): Likewise.
60894         * modules/strchrnul (Depends-on): Likewise.
60895         * modules/strndup (Depends-on): Likewise.
60896         * modules/strsep (Depends-on): Likewise.
60897         * modules/strverscmp (Depends-on): Likewise.
60898         * modules/vasprintf (Depends-on): Likewise.
60899         * modules/wcwidth (Depends-on): Likewise.
60900         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
60901         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
60902         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
60903         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
60904         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
60905         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
60906         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
60907         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
60908         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
60909         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
60910         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
60911         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
60912         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
60913         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
60914         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
60915         * m4/readutmp.m4 (gl_READUTMP): Likewise.
60916         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
60917         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
60918         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
60919         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
60920         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
60921         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
60922         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
60923         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
60924         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
60925         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
60926         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
60927         so that lock.m4 can be used in gettext without extensions module.
60928
60929 2007-09-11  Bruno Haible  <bruno@clisp.org>
60930
60931         * m4/isc-posix.m4: Remove file.
60932         Suggested by Eric Blake.
60933
60934 2007-09-11  Eric Blake  <ebb9@byu.net>
60935
60936         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
60937
60938 2007-09-10  Bruno Haible  <bruno@clisp.org>
60939
60940         * posix-modules: Fix typo in error message.
60941         Reported by Matt <mkraai@beckman.com>.
60942
60943 2007-09-09  Bruno Haible  <bruno@clisp.org>
60944
60945         * doc/functions/getdelim.texi: Update list of platforms lacking the
60946         function.
60947         * doc/functions/getline.texi: Likewise.
60948
60949 2007-09-09  Jim Meyering  <jim@meyering.net>
60950
60951         * lib/hash.c (hash_initialize): Detect calloc failure.
60952         Reported by Bruno Haible.
60953
60954 2007-09-09  Bruno Haible  <bruno@clisp.org>
60955
60956         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
60957         malloc or realloc fails.
60958
60959 2007-09-09  Bruno Haible  <bruno@clisp.org>
60960
60961         * modules/getcwd (Depends-on): Add malloc-posix.
60962         * modules/glob (Depends-on): Likewise.
60963         * modules/putenv (Depends-on): Likewise.
60964         * modules/strdup (Depends-on): Likewise.
60965         * modules/getdelim (Depends-on): Add realloc-posix.
60966         * modules/read-file (Depends-on): Likewise.
60967
60968 2007-09-09  Bruno Haible  <bruno@clisp.org>
60969
60970         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
60971         (gl_FUNC_MALLOC_POSIX): Require it.
60972         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
60973         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
60974         * modules/realloc (Files): Add m4/malloc.m4.
60975         * modules/calloc (Files): Likewise.
60976
60977 2007-09-09  Bruno Haible  <bruno@clisp.org>
60978
60979         * modules/malloc-posix: New file.
60980         * modules/malloc (Depends-on): Add malloc-posix.
60981         * lib/malloc.c: Include errno.h.
60982         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
60983         and a POSIX-compatible malloc into a single function. Set ENOMEM
60984         when returning NULL.
60985         * m4/malloc.m4: New file.
60986         * doc/functions/malloc.texi: Mention the malloc-posix module.
60987         * lib/stdlib_.h (malloc): New declaration.
60988         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
60989         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
60990         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
60991         and HAVE_MALLOC_POSIX.
60992
60993 2007-09-09  Bruno Haible  <bruno@clisp.org>
60994
60995         * modules/realloc-posix: New file.
60996         * modules/realloc (Depends-on): Add realloc-posix.
60997         * lib/realloc.c: Include errno.h.
60998         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
60999         and a POSIX-compatible realloc into a single function. Set ENOMEM
61000         when returning NULL.
61001         * m4/realloc.m4: New file.
61002         * doc/functions/realloc.texi: Mention the realloc-posix module.
61003         * lib/stdlib_.h (realloc): New declaration.
61004         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
61005         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
61006         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
61007         and HAVE_REALLOC_POSIX.
61008
61009 2007-09-09  Bruno Haible  <bruno@clisp.org>
61010
61011         * modules/calloc-posix: New file.
61012         * modules/calloc (Depends-on): Add calloc-posix.
61013         * lib/calloc.c: Include errno.h.
61014         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
61015         and a POSIX-compatible calloc into a single function. Set ENOMEM
61016         when returning NULL.
61017         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
61018         * doc/functions/calloc.texi: Mention the calloc-posix module.
61019         * lib/stdlib_.h (calloc): New declaration.
61020         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
61021         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
61022         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
61023         and HAVE_CALLOC_POSIX.
61024
61025 2007-09-09  Bruno Haible  <bruno@clisp.org>
61026
61027         Allow for modules to show an arbitrary notice.
61028         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
61029         * gnulib-tool: New option --extract-notice.
61030         (func_usage): Document it.
61031         (sed_extract_prog): Update.
61032         (func_get_notice): New function.
61033         (func_modules_notice): New function.
61034         (func_import, func_create_testdir): Invoke it.
61035         Suggested by Jim Meyering.
61036
61037 2007-09-09  Bruno Haible  <bruno@clisp.org>
61038
61039         * gnulib-tool: New options --verbose, --quiet.
61040         (func_usage): Document them.
61041         (verbose): New variable.
61042         (func_execute_command): New function.
61043         (func_import): Don't show the module list and the file list if
61044         $verbose < 0.
61045         (func_create_testdir): Likewise. Use func_execute_command.
61046         (func_create_megatestdir): Use func_execute_command.
61047
61048 2007-09-08  Bruno Haible  <bruno@clisp.org>
61049
61050         * gnulib-tool (func_import): Prefer rsync over wget when available,
61051         for fetching the PO files.
61052
61053 2007-09-08  Bruno Haible  <bruno@clisp.org>
61054
61055         * posix-modules: New file. Portions copied from gnulib-tool.
61056         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
61057
61058 2007-09-08  Jim Meyering  <jim@meyering.net>
61059
61060         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
61061         * lib/fpending.h: Rename from __fpending.h.
61062         * lib/fpending.c: Rename from __fpending.c.
61063         Include "fpending.h", not "__fpending.h".
61064         * lib/__fpending.h, lib/__fpending.c: Remove files.
61065         * modules/fpending (Files): Reflect new file names.
61066         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
61067
61068 2007-09-08  Bruno Haible  <bruno@clisp.org>
61069
61070         * m4/inttypes-h.m4: Remove stub file.
61071
61072 2007-09-07  Simon Josefsson  <simon@josefsson.org>
61073
61074         * doc/headers/stdint.texi: Discuss #include_next issue.
61075
61076 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
61077
61078         * build-aux/bootstrap: Remove obsolete comment about wget --help.
61079
61080 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
61081
61082         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
61083         in variable name.
61084
61085 2007-09-03  Jim Meyering  <jim@meyering.net>
61086
61087         New module: git-version-gen.
61088         * modules/git-version-gen: New file.
61089
61090         Import changes from coreutils for bootstrap script.
61091
61092         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
61093
61094         bootstrap: uses rsync to download the .po files
61095         * build-aux/bootstrap (po_download_command_format): New global.
61096         (download_po_files): Use rsync.
61097         (update_po_files): Don't remove .po files after download,
61098         so future rsync runs can take advantage of the copies.
61099
61100         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
61101
61102         Solve the unnecessary-.po-file-regeneration problem once and for all.
61103         * build-aux/bootstrap (download_po_files): New function, renamed from
61104         get_translations.  Now, downloads, but doesn't update LINGUAS.
61105         (update_po_files): New function.
61106
61107         bootstrap: Ignore more.
61108         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
61109         uniwidth to e.g., lib/.gitignore.
61110         (slurp): Handle the sys_stat_.h -> sys mapping, too.
61111
61112         * build-aux/bootstrap: New setting: vc_ignore.
61113         (insert_sorted_if_absent): Create $file if absent.
61114         Adapt to new, possibly empty, list: $vc_ignore.
61115
61116         bootstrap: generate more ignorable names
61117         * build-aux/bootstrap (slurp): When generating ignorable names,
61118         also map .sin to .sed, .gperf to .c, and .y to .c.
61119
61120 2007-09-03  Jim Meyering  <jim@meyering.net>
61121
61122         * build-aux/git-version-gen: New file, from coreutils.  For details, see
61123         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
61124
61125 2007-09-02  Bruno Haible  <bruno@clisp.org>
61126
61127         Fix mis-recognition of 'mcs' on QNX 6.
61128         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
61129         output contains the string "Mono".
61130         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
61131         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
61132
61133 2007-09-01  Bruno Haible  <bruno@clisp.org>
61134
61135         Fix collision between uniwidth/* and linebreak modules.
61136         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
61137         u32_width): Remove declarations.
61138         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
61139         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
61140         streq3, streq2, streq1, streq0): Remove functions.
61141         (STREQ): Remove macro.
61142         (is_cjk_encoding): Remove function.
61143         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
61144         (uc_width, u8_width, u16_width, u32_width): Remove functions.
61145         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
61146         * NEWS: Document the change.
61147
61148 2007-09-01  Bruno Haible  <bruno@clisp.org>
61149
61150         * lib/streq.h: Add double-inclusion guard.
61151
61152 2007-09-01  Karl Berry  <karl@gnu.org>
61153
61154         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
61155
61156 2007-08-28  Jim Meyering  <jim@meyering.net>
61157
61158         Rename mreadlink_with_size to areadlink_with_size.
61159         * NEWS: Document the change.
61160         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
61161         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
61162         * lib/mreadlink.h: Rename this to...
61163         * lib/areadlink.h: ...this.
61164         * modules/mreadlink-with-size: Rename this to...
61165         * modules/areadlink-with-size: ...this.
61166         * lib/canonicalize.c: Reflect the renaming.
61167         * modules/canonicalize: Likewise.
61168
61169 2007-08-26  Bruno Haible  <bruno@clisp.org>
61170
61171         * gnulib-tool (func_import): When deciding which files to remove,
61172         consider also dangling symbolic links.
61173         Reported by Eric Blake.
61174
61175 2007-08-26  Bruno Haible  <bruno@clisp.org>
61176
61177         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
61178
61179 2007-08-23  Simon Josefsson  <simon@josefsson.org>
61180
61181         * lib/readline.c: Don't include getline.h, the prototype is now
61182         found in stdio.h.
61183
61184 2007-08-23  Jim Meyering  <jim@meyering.net>
61185
61186         Getdelim touchup.
61187         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
61188         around the funlockfile call, since funlockfile never sets errno.
61189         Don't set errno upon failed realloc.
61190
61191 2007-08-22  Eric Blake  <ebb9@byu.net>
61192
61193         Getline touchups.
61194         * lib/getdelim.c (getdelim): Revert regression that required *n to
61195         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
61196         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
61197         getdelim, rather than whether implementation is missing.
61198         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
61199         * lib/stdio_.h (getline): Also declare if replacement is
61200         required.
61201         * doc/functions/getdelim.texi: New file.
61202         * doc/functions/getline.texi: Likewise.
61203         * doc/gnulib.texi (Function Substitutes): Add new files.
61204         Reported by Bruno Haible.
61205
61206 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
61207
61208         * users.txt: Add Guile.
61209
61210 2007-08-22  Eric Blake  <ebb9@byu.net>
61211
61212         * tests/test-getdelim.c (main): Use remove, not unlink.
61213         * tests/test-getline.c (main): Likewise.
61214
61215         Move getline and getdelim into stdio.h, per POSIX 200x.
61216         * modules/getline (Files): Remove getline.h.
61217         (Depends-on): Add stdio.
61218         (configure.ac): Add module indicator.
61219         * modules/getdelim (Files): Remove getdelim.h.
61220         (Depends-on): Add stdio.
61221         (configure.ac): Add module indicator.
61222         * modules/stdio (Makefile.am): Work with new indicators.
61223         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
61224         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
61225         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
61226         * lib/getdelim.h: Delete.
61227         * lib/getline.h: Delete.
61228         * lib/stdio_.h (getdelim, getline): Declare.
61229         * modules/getdelim-tests: New module.
61230         * modules/getline-tests: Likewise.
61231         * tests/test-getdelim.c: New file.
61232         * tests/test-getline.c: Likewise.
61233         * NEWS: Document the change.
61234         * lib/getline.c: Update choice of header.
61235         * lib/csharpcomp.c: Likewise.
61236         * lib/getpass.c: Likewise.
61237         * lib/javacomp.c: Likewise.
61238         * lib/javaversion.c: Likewise.
61239         * lib/yesno.c: Likewise.
61240         * lib/getdelim.c: Likewise.
61241         (getdelim): Set errno on failure, and avoid memory leak.
61242
61243 2007-08-19  Bruno Haible  <bruno@clisp.org>
61244
61245         * modules/closein (Depends-on): Add freadahead.
61246         * lib/closein.c: Include freadahead.h.
61247         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
61248         is zero.
61249
61250 2007-08-19  Bruno Haible  <bruno@clisp.org>
61251
61252         * modules/freadahead-tests: New file.
61253         * tests/test-freadahead.sh: New file.
61254         * tests/test-freadahead.c: New file.
61255
61256         * modules/freadahead: New file.
61257         * lib/freadahead.h: New file.
61258         * lib/freadahead.c: New file.
61259         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
61260         fbufmode, fpurge, freadable, fwritable.
61261
61262 2007-08-19  Eric Blake  <ebb9@byu.net>
61263
61264         Test yesno in combination with closein.
61265         * lib/yesno.c (yesno): Document use of stdin.
61266         * modules/yesno-tests (Files): New module.
61267         * tests/test-yesno.c (main): New file.
61268         * tests/test-yesno.sh: Likewise.
61269
61270 2007-08-19  Bruno Haible  <bruno@clisp.org>
61271
61272         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
61273         * lib/fseeko.c (rpl_fseeko): Likewise.
61274         * lib/fseterr.c (fseterr): Likewise.
61275
61276 2007-08-19  Bruno Haible  <bruno@clisp.org>
61277
61278         * tests/test-lseek.c (main): Disable a test for BeOS.
61279         * doc/functions/lseek.texi: Document the BeOS bug.
61280
61281 2007-08-19  Bruno Haible  <bruno@clisp.org>
61282             Eric Blake  <ebb9@byu.net>
61283
61284         * lib/lseek.c: Include <sys/stat.h>.
61285         (rpl_lseek): Add workaround code also for Unix platforms.
61286         Needed for BeOS.
61287         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
61288         * doc/functions/lseek.texi: Document BeOS definiency.
61289
61290 2007-08-18  Bruno Haible  <bruno@clisp.org>
61291
61292         * modules/fstrcmp-tests: New file.
61293         * tests/test-fstrcmp.c: New file.
61294
61295 2007-08-18  Bruno Haible  <bruno@clisp.org>
61296
61297         * modules/fstrcmp: New file, from GNU gettext with modifications.
61298         * lib/fstrcmp.h: New file, from GNU gettext.
61299         * lib/fstrcmp.c: New file, from GNU gettext.
61300         * MODULES.html.sh (String handling): Add fstrcmp.
61301
61302 2007-08-18  Bruno Haible  <bruno@clisp.org>
61303
61304         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
61305         'bool'.
61306         (diag, compareseq): Remove const from the ctxt argument.
61307         (USE_HEURISTIC): Undefine at the end.
61308
61309 2007-08-18  Jim Meyering  <jim@meyering.net>
61310
61311         New file: lib/idcache.h
61312         * NEWS: Mention the addition.
61313         * modules/idcache (Files): Add lib/idcache.h
61314         * lib/idcache.c: Include "idcache.h".
61315         Don't include <sys/types.h>.
61316         Add a FIXME comment.
61317         Move file-scoped "static" declarations to the top.
61318         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
61319
61320 2007-08-17  Bruno Haible  <bruno@clisp.org>
61321         and Paul Eggert  <eggert@cs.ucla.edu>
61322
61323         * MODULES.html.sh: Add diffseq.
61324         * modules/diffseq: New file.
61325         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
61326         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
61327
61328 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
61329
61330         Import changes from coreutils for bootstrap script.
61331
61332         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
61333
61334         * build-aux/bootstrap (slurp): Work even in environments where
61335         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
61336         current code does not slurp files whose names start with ".", and
61337         this looks like it might be a troublesome area.
61338
61339         2007-07-11  Jim Meyering  <jim@meyering.net>
61340
61341         If there's a GPL vN copyright comment, require that N == 3.
61342
61343         2007-07-08  Jim Meyering  <jim@meyering.net>
61344
61345         Run the coreutils-specific code only if tests/Makefile.am.in exists.
61346         * build-aux/bootstrap (mam_template): Move definition out of loop.
61347
61348         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
61349
61350         * build-aux/bootstrap (symlink_to_dir): Rename function from
61351         symlink_to_gnulib.  Add a directory parameter.  Update all
61352         callers.
61353         (cp_mark_as_generated): Also check for -- and link to -- files in
61354         gl/.
61355
61356         2007-07-08  Jim Meyering  <jim@meyering.net>
61357
61358         Adapt to deeper hierarchy in gnulib.
61359         * build-aux/bootstrap (symlink_to_dir): If the destination
61360         directory doesn't exist, create it. This is required at least for
61361         "lib/uniwidth/cjk.h".
61362
61363         2007-05-15  Jim Meyering  <jim@meyering.net>
61364
61365         * build-aux/bootstrap: Now that generated Makefile.am files
61366         are no longer under version control, they must be created at
61367         bootstrap time.
61368
61369 2007-08-14  Ben Pfaff  <blp@gnu.org>
61370
61371         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
61372
61373 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
61374
61375         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
61376         given the changes below.
61377         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
61378         even on hosts that have padding bits beyond the supported 64.
61379
61380 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
61381
61382         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
61383         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
61384         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
61385         depends on it.
61386         (xstrtol_error): Remove.
61387         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
61388         but with a different signature.
61389         (ATTRIBUTE_NORETURN, __attribute__): New macros.
61390         * lib/xstrtol-error.c: Include exitfail.h.
61391         (xstrtol_fatal): New function, with a different signature from the
61392         old xstrtol_error, so that the caller need not worry about passing
61393         in an exit status, or about storage management of the option argument.
61394         (xstrtol_error): Now a static function.  Redo signature to
61395         implement xstrtol_fatal.  Output the correct number of hyphens in
61396         front of the option so that the caller need not worry about
61397         storage management.
61398         (N_): New macro.
61399         (_): Remove; not used now.
61400         * modules/xstrtol: Depend on getopt.
61401         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
61402         of old STRTOL_FATAL_ERROR macro.
61403         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
61404         of test program.
61405         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
61406         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
61407
61408 2007-08-08  Eric Blake  <ebb9@byu.net>
61409
61410         * lib/xstrtol-error.c: Add missing include.
61411
61412         Move xstrtol messages into gnulib domain, when --pobase is used.
61413         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
61414         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
61415         * modules/xstrtol (Files): Distribute new file.
61416         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
61417         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
61418         * tests/test-xstrtol.c: ...into new file.
61419         * tests/test-xstrtoul.c: Also test xstrtoul.
61420         * tests/test-xstrtoimax.c: Also test xstrtoimax.
61421         * tests/test-xstrtoumax.c: Also test xstrtoumax.
61422         * tests/test-xstrtol.sh: Drive the tests.
61423         * tests/test-xstrtoimax.sh: Likewise.
61424         * tests/test-xstrtoumax.sh: Likewise.
61425         * modules/xstrtol-tests: New module.
61426         * modules/xstrtoimax-tests: Likewise.
61427         * modules/xstrtoumax-tests: Likewise.
61428
61429 2007-08-08  Jim Meyering  <jim@meyering.net>
61430
61431         New function: mfile_name_concat.
61432         * lib/filenamecat.c (mfile_name_concat): New function, just like
61433         file_name_concat, but return NULL upon failure rather than exiting
61434         with a diagnostic.
61435         * lib/filenamecat.h: Declare it.
61436
61437 2007-08-07  Bruno Haible  <bruno@clisp.org>
61438
61439         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
61440         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
61441         warning from gcc.
61442         Reported by Eric Blake.
61443
61444 2007-08-07  Simon Josefsson  <simon@josefsson.org>
61445
61446         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
61447         * modules/crypto/arcfour (License): Likewise.
61448         * modules/crypto/des-tests (License): Likewise.
61449         * modules/crypto/gc-arctwo-tests (License): Likewise.
61450         * modules/crypto/gc-des-tests (License): Likewise.
61451         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
61452         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
61453         * modules/crypto/gc-md2-tests (License): Likewise.
61454         * modules/crypto/gc-md4-tests (License): Likewise.
61455         * modules/crypto/gc-md5-tests (License): Likewise.
61456         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
61457         * modules/crypto/gc-rijndael-tests (License): Likewise.
61458         * modules/crypto/gc-sha1-tests (License): Likewise.
61459         * modules/crypto/gc-tests (License): Likewise.
61460         * modules/crypto/hmac-md5 (License): Likewise.
61461         * modules/crypto/hmac-sha1 (License): Likewise.
61462         * modules/crypto/md2-tests (License): Likewise.
61463         * modules/crypto/md4-tests (License): Likewise.
61464         * modules/crypto/md5 (License): Likewise.
61465         * modules/crypto/rijndael (License): Likewise.
61466         * modules/crypto/sha1 (License): Likewise.
61467         * modules/memxor (License): Likewise.
61468
61469 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
61470         and Bruno Haible  <bruno@clisp.org>
61471
61472         * NEWS: Describe interface changes to human, xstrtol.
61473         * lib/human.h: Include <xstrtol.h>.
61474         (human_options): Return enum strtol_error, not int.  Remove
61475         bool arg; take int * instead.
61476         * lib/human.c: Don't include "gettext.h".
61477         (_): Remove; no longer used.
61478         Don't include <xstrtol.h>, since human.h does it.
61479         (human_options): Adjust to abovementioned interface changes.
61480         Do not report error to stderr; that's now the caller's
61481         responsibility.
61482         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
61483         interface change.
61484         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
61485         Str, Argument_type_string.  All uses changed.  Put " argument"
61486         in diagnostics to make them clearer.  Change wording of suffix
61487         message for clarity.
61488         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
61489         Argument_type_string.
61490         (STRTOL_FATAL_WARN): Remove; no longer used.
61491         * modules/human (Depends-on): Remove gettext-h.
61492
61493 2007-08-06  Simon Josefsson  <simon@josefsson.org>
61494
61495         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
61496
61497 2007-07-31  Bruno Haible  <bruno@clisp.org>
61498
61499         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
61500         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
61501         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
61502
61503 2007-07-31  Bruno Haible  <bruno@clisp.org>
61504
61505         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
61506         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
61507
61508 2007-07-30  Bruno Haible  <bruno@clisp.org>
61509
61510         * modules/base64 (License): Use the synonymous term "LGPLv2+".
61511         * modules/c-ctype (License): Likewise.
61512         * modules/c-strcase (License): Likewise.
61513         * modules/check-version (License): Likewise.
61514         * modules/iconv (License): Likewise.
61515         * modules/iconv_open (License): Likewise.
61516         * modules/read-file (License): Likewise.
61517         * modules/striconv (License): Likewise.
61518         * modules/strverscmp (License): Likewise.
61519         * modules/vasprintf (License): Likewise.
61520         * modules/crypto/des (License): Likewise.
61521         * modules/crypto/gc (License): Likewise.
61522         * modules/crypto/gc-arcfour (License): Likewise.
61523         * modules/crypto/gc-arctwo (License): Likewise.
61524         * modules/crypto/gc-des (License): Likewise.
61525         * modules/crypto/gc-hmac-md5 (License): Likewise.
61526         * modules/crypto/gc-hmac-sha1 (License): Likewise.
61527         * modules/crypto/gc-md2 (License): Likewise.
61528         * modules/crypto/gc-md4 (License): Likewise.
61529         * modules/crypto/gc-md5 (License): Likewise.
61530         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
61531         * modules/crypto/gc-random (License): Likewise.
61532         * modules/crypto/gc-rijndael (License): Likewise.
61533         * modules/crypto/gc-sha1 (License): Likewise.
61534         * modules/crypto/md2 (License): Likewise.
61535         * modules/crypto/md4 (License): Likewise.
61536
61537 2007-07-30  Jim Meyering  <jim@meyering.net>
61538
61539         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
61540         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
61541         it has valid stat data.  This bug would cause du not to count the
61542         sizes of inaccessible directories.
61543         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
61544         in <http://bugzilla.redhat.com/250077>.
61545
61546 2007-07-25  Peter O'Gorman  <peter@pogma.com>
61547             Bruno Haible  <bruno@clisp.org>
61548
61549         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
61550         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
61551         #include_next, gives a diagnostic about it, but reports no error in
61552         the exit code.
61553         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
61554
61555 2007-07-24  Ben Pfaff  <blp@gnu.org>
61556
61557         Improve name: "count-one-bits" is better than "popcount".
61558         * MODULES.html.sh: Update name.
61559         * lib/popcount.h: Renamed lib/count-one-bits.h.
61560         (popcount): Renamed count_one_bits.
61561         (popcountl): Renamed count_one_bits_l.
61562         (popcountll): Renamed count_one_bits_ll.
61563         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
61564         * modules/popcount: Renamed module/count-one-bits.
61565         * modules/popcount-tests: Renamed module/count-one-bits-tests.
61566         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
61567
61568 2007-07-23  Ben Pfaff  <blp@gnu.org>
61569
61570         * lib/popcount.h (popcount32): Reduce size of constants, to allow
61571         better code generation, and add U to large constants to avoid
61572         warnings, in non-GCC case.
61573         Suggested by Bruno Haible.
61574
61575 2007-07-23  Ben Pfaff  <blp@gnu.org>
61576
61577         * lib/popcount.h: Use verify_true instead of if...abort.
61578         * modules/popcount: Depend on verify module.
61579         Suggested by Jim Meyering.
61580
61581 2007-07-23  Bruno Haible  <bruno@clisp.org>
61582
61583         * gnulib-tool (func_import): Create a .cvsignore file also when the
61584         directory is not yet in CVS but the toplevel directory is. When
61585         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
61586         Reported by Karl Berry.
61587
61588 2007-07-22  Ben Pfaff  <blp@gnu.org>
61589
61590         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
61591         case.
61592         Suggested by Eric Blake.
61593
61594 2007-07-22  Ben Pfaff  <blp@gnu.org>
61595
61596         New module: popcount.
61597         * MODULES.html.sh: Add popcount.
61598         * modules/popcount: New file.
61599         * modules/popcount-tests: New file.
61600         * tests/test-popcount.c: New file.
61601         * lib/popcount.h: New file.
61602         * m4/popcount.m4: New file.
61603
61604 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
61605
61606         * build-aux/announce-gen: Update to GPLv3.
61607
61608         * build-aux/config.guess: Update from config.
61609
61610 2007-07-21  Bruno Haible  <bruno@clisp.org>
61611
61612         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
61613         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
61614
61615 2007-07-20  Jim Meyering  <jim@meyering.net>
61616
61617         * check-module: Diagnose a self-dependency.
61618
61619 2007-07-19  Bruno Haible  <bruno@clisp.org>
61620
61621         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
61622         empty.
61623         Reported by Eric Blake.
61624
61625 2007-07-18  Bruno Haible  <bruno@clisp.org>
61626
61627         * gnulib-tool: New options --po-base, --po-domain.
61628         (func_usage): Document them.
61629         (pobase, po_domain): New variables.
61630         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
61631         DEFAULT_TEXT_DOMAIN.
61632         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
61633         (func_import): Consider pobase and po_domain. Create a po/ directory.
61634         (func_create_testdir): Set pobase and po_domain to empty.
61635         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
61636         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
61637
61638 2007-07-18  Bruno Haible  <bruno@clisp.org>
61639
61640         * gnulib-tool (func_get_automake_snippet): Synthesize also an
61641         EXTRA_DIST augmentation for files in build-aux/.
61642
61643 2007-07-16  Bruno Haible  <bruno@clisp.org>
61644
61645         * modules/lseek (License): Use the synonymous term "LGPLv2+".
61646         * modules/getdelim (License): Likewise.
61647
61648 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
61649
61650         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
61651         * modules/d-type (License): Likewise.
61652         * modules/extensions (License): Likewise.
61653         * modules/fnmatch (License): Likewise.
61654         * modules/fseeko (License): Likewise.
61655         * modules/getaddrinfo (License): Likewise.
61656         * modules/getline (License): Likewise.
61657         * modules/getlogin_r (License): Likewise.
61658         * modules/getpass (License): Likewise.
61659         * modules/gettimeofday (License): Likewise.
61660         * modules/glob (License): Likewise.
61661         * modules/inet_ntop (License): Likewise.
61662         * modules/malloc (License): Likewise.
61663         * modules/malloca (License): Likewise.
61664         * modules/memmem (License): Likewise.
61665         * modules/mempcpy (License): Likewise.
61666         * modules/memset (License): Likewise.
61667         * modules/minmax (License): Likewise.
61668         * modules/mktime (License): Likewise.
61669         * modules/netinet_in (License): Likewise.
61670         * modules/pathmax (License): Likewise.
61671         * modules/poll (License): Likewise.
61672         * modules/regex (License): Likewise.
61673         * modules/snprintf (License): Likewise.
61674         * modules/stdbool (License): Likewise.
61675         * modules/stdint (License): Likewise.
61676         * modules/stdio (License): Likewise.
61677         * modules/strcase (License): Likewise.
61678         * modules/strcasestr (License): Likewise.
61679         * modules/strdup (License): Likewise.
61680         * modules/string (License): Likewise.
61681         * modules/strndup (License): Likewise.
61682         * modules/strnlen (License): Likewise.
61683         * modules/strpbrk (License): Likewise.
61684         * modules/strptime (License): Likewise.
61685         * modules/strsep (License): Likewise.
61686         * modules/sys_select (License): Likewise.
61687         * modules/sys_socket (License): Likewise.
61688         * modules/sys_stat (License): Likewise.
61689         * modules/sys_time (License): Likewise.
61690         * modules/time (License): Likewise.
61691         * modules/time_r (License): Likewise.
61692         * modules/timegm (License): Likewise.
61693         * modules/unistd (License): Likewise.
61694         * modules/vsnprintf (License): Likewise.
61695         * modules/wctype (License): Likewise.
61696
61697 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61698
61699         * modules/argz (License): LGPLv2+.
61700
61701 2007-07-15  Karl Berry  <karl@gnu.org>
61702
61703         * doc/gnulib.texi: revise node structure per new fdl.texi.
61704
61705 2007-07-14  Bruno Haible  <bruno@clisp.org>
61706
61707         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
61708         the output file.
61709         * lib/uniname/uninames.h: Regenerated.
61710
61711 2007-07-14  Karl Berry  <karl@gnu.org>
61712
61713         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
61714         omitting sectioning and index commands.
61715
61716 2007-07-13  Bruno Haible  <bruno@clisp.org>
61717
61718         New gnulib-tool option --more-symlinks.
61719         * gnulib-tool (func_usage): Document --more-symlinks.
61720         (do_copyrights): New variable.
61721         Recognize option --more-symlinks.
61722         (func_import): Don't add a copyright notice transform to
61723         sed_transform_lib_file if do_copyrights is empty.
61724
61725 2007-07-13  Bruno Haible  <bruno@clisp.org>
61726
61727         * lib/vasnprintf.c (decimal_point_char): Define also if
61728         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
61729         && !NEED_PRINTF_DIRECTIVE_A.
61730         Reported by Clemens Koller <clemens.koller@anagramm.de> via
61731         Gary V. Vaughan <gary@gnu.org>.
61732
61733 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
61734
61735         * lib/inttypes_.h: Undo previous change, since it was fixed
61736         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
61737
61738 2007-07-13  Bruno Haible  <bruno@clisp.org>
61739
61740         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
61741         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
61742
61743 2007-07-13  Jim Meyering  <jim@meyering.net>
61744
61745         df: Don't fail for Tru64's "file-on-file mount".
61746         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
61747         so we fall through and use statfs instead.  Details here:
61748         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
61749         Reported by Albert Chin.
61750
61751 2007-07-13  Bruno Haible  <bruno@clisp.org>
61752
61753         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
61754         * modules/configmake (License): Likewise.
61755         * modules/gettext (License): Likewise.
61756         * modules/gettext-h (License): Likewise.
61757         * modules/include_next (License): Likewise.
61758         * modules/link-warning (License): Likewise.
61759         * modules/localcharset (License): Likewise.
61760         * modules/localename (License): Likewise.
61761         * modules/lock (License): Likewise.
61762         * modules/relocatable-lib-lgpl (License): Likewise.
61763         * modules/size_max (License): Likewise.
61764         * modules/vasnprintf (License): Likewise.
61765         * modules/wchar (License): Likewise.
61766         * modules/xsize (License): Likewise.
61767
61768 2007-07-13  Bruno Haible  <bruno@clisp.org>
61769
61770         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
61771         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
61772
61773 2007-07-12  Bruno Haible  <bruno@clisp.org>
61774
61775         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
61776         in the modules files.
61777
61778 2007-07-11  Karl Berry  <karl@gnu.org>
61779
61780         * MODULES.html.sh (func_module): use
61781          sed -e '\|^'"${includefile}"'$|d'
61782          instead of /.../d, to avoid errors on $includefile's containing /.
61783
61784 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
61785
61786         * gnulib-tool (func_import): Avoid duplication of --avoid
61787         statements
61788         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
61789         names to `_' in variable names.
61790
61791 2007-07-10  Eric Blake  <ebb9@byu.net>
61792
61793         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
61794         * NEWS: Document this change.
61795
61796 2007-07-08  Bruno Haible  <bruno@clisp.org>
61797
61798         Update to Unicode 5.0.
61799         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
61800         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
61801         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
61802         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
61803         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
61804         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
61805         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
61806         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
61807         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
61808         U+10A3F, U+1D242..U+1D244.
61809         (nonspacing_table_ind): Update.
61810         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
61811         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
61812
61813 2007-07-08  Bruno Haible  <bruno@clisp.org>
61814
61815         Update to Unicode 5.0.
61816         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
61817         code transform. Extend the name index field of unicode_name_to_code and
61818         unicode_code_to_name from 16 to 24 bits.
61819         * lib/uniname/uniname.c (unicode_character_name,
61820         unicode_name_character): Add the range 0x12xxx to the code transform.
61821         * lib/uniname/uninames.h: Regenerated.
61822         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
61823
61824 2007-07-07  Bruno Haible  <bruno@clisp.org>
61825
61826         * modules/wcwidth-tests: New file.
61827         * tests/test-wcwidth.c: New file.
61828
61829         Work around MacOS X wcwidth() bug.
61830         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
61831         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
61832         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
61833         original wcwidth in non-UTF-8 locales.
61834         * modules/wcwidth (Depends-on): Add localcharset, streq,
61835         uniwidth/width.
61836         * doc/functions/wcwidth.texi: Update.
61837
61838 2007-07-07  Bruno Haible  <bruno@clisp.org>
61839
61840         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
61841         (wcwidth): New declaration.
61842         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
61843         macros.
61844         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
61845         here. Prepare for creating <wchar.h> unconditionally.
61846         * modules/wchar (Depends-on): Add link-warning.
61847         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
61848         REPLACE_WCWIDTH, and GL_LINK_WARNING.
61849         * lib/wcwidth.h: Remove file.
61850         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
61851         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
61852         * modules/wcwidth (Files): Remove lib/wcwidth.h.
61853         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
61854         (Include): Replace wcwidth.h with <wchar.h>.
61855         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
61856         * lib/mbchar.h: Don't include wcwidth.h.
61857         * lib/mbswidth.c: Likewise.
61858         * NEWS: Mention the change.
61859
61860 2007-07-07  Bruno Haible  <bruno@clisp.org>
61861
61862         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
61863         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
61864         definition with an external declaration.
61865         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
61866         defined as a function. Remove AC_C_INLINE requirement.
61867         * modules/wcwidth (Files): Add lib/wcwidth.c.
61868         (Makefile.am): Remove redundant statement.
61869
61870 2007-07-07  Bruno Haible  <bruno@clisp.org>
61871
61872         * MODULES.html.sh (Unicode string functions): Add the new modules.
61873
61874         * tests/uniwidth/test-u32-strwidth.c: New file.
61875         * modules/uniwidth/u32-strwidth-tests: New file.
61876
61877         * lib/uniwidth/u32-strwidth.c: New file.
61878         * modules/uniwidth/u32-strwidth: New file.
61879
61880         * tests/uniwidth/test-u16-strwidth.c: New file.
61881         * modules/uniwidth/u16-strwidth-tests: New file.
61882
61883         * lib/uniwidth/u16-strwidth.c: New file.
61884         * modules/uniwidth/u16-strwidth: New file.
61885
61886         * tests/uniwidth/test-u8-strwidth.c: New file.
61887         * modules/uniwidth/u8-strwidth-tests: New file.
61888
61889         * lib/uniwidth/u8-strwidth.c: New file.
61890         * modules/uniwidth/u8-strwidth: New file.
61891
61892         * tests/uniwidth/test-u32-width.c: New file.
61893         * modules/uniwidth/u32-width-tests: New file.
61894
61895         * lib/uniwidth/u32-width.c: New file.
61896         * modules/uniwidth/u32-width: New file.
61897
61898         * tests/uniwidth/test-u16-width.c: New file.
61899         * modules/uniwidth/u16-width-tests: New file.
61900
61901         * lib/uniwidth/u16-width.c: New file.
61902         * modules/uniwidth/u16-width: New file.
61903
61904         * tests/uniwidth/test-u8-width.c: New file.
61905         * modules/uniwidth/u8-width-tests: New file.
61906
61907         * lib/uniwidth/u8-width.c: New file.
61908         * modules/uniwidth/u8-width: New file.
61909
61910         * tests/uniwidth/test-uc_width.c: New file.
61911         * modules/uniwidth/width-tests: New file.
61912
61913         * lib/uniwidth/width.c: New file, from GNU libiconv.
61914         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
61915         * modules/uniwidth/width: New file.
61916
61917         * lib/uniwidth.h: New file, from GNU libiconv.
61918         * modules/uniwidth/base: New file.
61919
61920 2007-07-07  Bruno Haible  <bruno@clisp.org>
61921
61922         * lib/uniname.h: New file, from GNU gettext.
61923         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
61924         * lib/uniname/uninames.h: New file, from GNU gettext.
61925         * lib/uniname/uniname.c: New file, from GNU gettext.
61926         * tests/uniname/test-uninames.sh: New file.
61927         * tests/uniname/test-uninames.c: New file, from GNU gettext.
61928         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
61929         * modules/uniname/base: New file.
61930         * modules/uniname/uniname: New file.
61931         * modules/uniname/uniname-tests: New file.
61932         * MODULES.html.sh (Unicode string functions): Add the new modules.
61933
61934 2007-07-06  Bruno Haible  <bruno@clisp.org>
61935
61936         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
61937
61938 2007-07-06  Bruno Haible  <bruno@clisp.org>
61939
61940         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
61941         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
61942         includes <cygwin/sys_time.h> which includes <sys/select.h> which
61943         include <sys/time.h>.
61944         Reported by Eric Blake.
61945
61946 2007-07-06  Eric Blake  <ebb9@byu.net>
61947
61948         Fix testing canonicalize on cygwin.
61949         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
61950         Revert patch from 2007-06-19.
61951         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
61952         canonicalize module is also in use.
61953         * tests/test-canonicalize.c: New file.
61954         * tests/test-canonicalize.sh: Likewise.
61955         * modules/canonicalize-tests: Likewise.
61956
61957 2007-07-06  Jim Meyering  <jim@meyering.net>
61958
61959         * lib/getugroups.c (getugroups): Detect getgrent failure.
61960         Adjust comment to reflect reality: this function may return -1.
61961
61962 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
61963
61964         * build-aux/bootstrap (TP_URL,get_translations): Update to use
61965         the new TP address.
61966         (usage): Fix typo
61967         (gnulib_mk): New variable.
61968
61969 2007-07-05  Jim Meyering  <jim@meyering.net>
61970
61971         Don't let endgrent clobber errno, no matter how improbable.
61972         * lib/getugroups.c (getugroups): Save and restore errno around
61973         endgrent call.
61974
61975         Close the group DB even when failing with 2^31 or more members.
61976         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
61977
61978 2007-07-04  Jim Meyering  <jim@meyering.net>
61979
61980         * lib/getugroups.h: New file.
61981         * lib/getugroups.c: Include "getugroups.h".
61982         Remove uses of "register" keyword.
61983         Move local variable, "cp", down into scope where used.
61984         Give "username" parameter the "const" attribute.
61985         * modules/getugroups (Files): Add lib/getugroups.h
61986
61987 2007-07-04  Karl Berry  <karl@gnu.org>
61988
61989         * MODULES.html.sh (func_all_modules): Complete rename of
61990         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
61991
61992 2007-07-02  Bruno Haible  <bruno@clisp.org>
61993
61994         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
61995         mode, when inttypes.h comes from gnulib.
61996         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
61997
61998 2007-07-02  Simon Josefsson  <simon@josefsson.org>
61999
62000         * NEWS: Mention lgpl module name change.
62001
62002         * modules/lgpl-2.1: Renamed from lgpl.
62003
62004         * NEWS: Mention gpl module name change.
62005
62006         * modules/gpl-3.0: New file, based on gpl-2.0.
62007
62008         * modules/gpl-2.0: Renamed from gpl.
62009
62010         * modules/gpl: Fix filename, doc/gpl.texi is now found at
62011         doc/gpl-2.0.texi.
62012
62013 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
62014
62015         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
62016         #define __STDC_LIMIT_MACROS temporarily while including
62017         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
62018         Problem reported by Joel E. Denny in
62019         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
62020
62021 2007-07-01  Bruno Haible  <bruno@clisp.org>
62022
62023         * lib/unistdio.h: New file.
62024         * lib/unistdio/u-asnprintf.h: New file.
62025         * lib/unistdio/u-asprintf.h: New file.
62026         * lib/unistdio/u-printf-args.c: New file.
62027         * lib/unistdio/u-printf-args.h: New file.
62028         * lib/unistdio/u-printf-parse.h: New file.
62029         * lib/unistdio/u-snprintf.h: New file.
62030         * lib/unistdio/u-sprintf.h: New file.
62031         * lib/unistdio/u-vasprintf.h: New file.
62032         * lib/unistdio/u-vsnprintf.h: New file.
62033         * lib/unistdio/u-vsprintf.h: New file.
62034         * lib/unistdio/ulc-asnprintf.c: New file.
62035         * lib/unistdio/ulc-asprintf.c: New file.
62036         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
62037         * lib/unistdio/ulc-printf-parse.c: New file.
62038         * lib/unistdio/ulc-snprintf.c: New file.
62039         * lib/unistdio/ulc-sprintf.c: New file.
62040         * lib/unistdio/ulc-vasnprintf.c: New file.
62041         * lib/unistdio/ulc-vasprintf.c: New file.
62042         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
62043         * lib/unistdio/ulc-vsnprintf.c: New file.
62044         * lib/unistdio/ulc-vsprintf.c: New file.
62045         * lib/unistdio/u8-asnprintf.c: New file.
62046         * lib/unistdio/u8-asprintf.c: New file.
62047         * lib/unistdio/u8-printf-parse.c: New file.
62048         * lib/unistdio/u8-snprintf.c: New file.
62049         * lib/unistdio/u8-sprintf.c: New file.
62050         * lib/unistdio/u8-vasnprintf.c: New file.
62051         * lib/unistdio/u8-vasprintf.c: New file.
62052         * lib/unistdio/u8-vsnprintf.c: New file.
62053         * lib/unistdio/u8-vsprintf.c: New file.
62054         * lib/unistdio/u8-u8-asnprintf.c: New file.
62055         * lib/unistdio/u8-u8-asprintf.c: New file.
62056         * lib/unistdio/u8-u8-snprintf.c: New file.
62057         * lib/unistdio/u8-u8-sprintf.c: New file.
62058         * lib/unistdio/u8-u8-vasnprintf.c: New file.
62059         * lib/unistdio/u8-u8-vasprintf.c: New file.
62060         * lib/unistdio/u8-u8-vsnprintf.c: New file.
62061         * lib/unistdio/u8-u8-vsprintf.c: New file.
62062         * lib/unistdio/u16-asnprintf.c: New file.
62063         * lib/unistdio/u16-asprintf.c: New file.
62064         * lib/unistdio/u16-printf-parse.c: New file.
62065         * lib/unistdio/u16-snprintf.c: New file.
62066         * lib/unistdio/u16-sprintf.c: New file.
62067         * lib/unistdio/u16-vasnprintf.c: New file.
62068         * lib/unistdio/u16-vasprintf.c: New file.
62069         * lib/unistdio/u16-vsnprintf.c: New file.
62070         * lib/unistdio/u16-vsprintf.c: New file.
62071         * lib/unistdio/u16-u16-asnprintf.c: New file.
62072         * lib/unistdio/u16-u16-asprintf.c: New file.
62073         * lib/unistdio/u16-u16-snprintf.c: New file.
62074         * lib/unistdio/u16-u16-sprintf.c: New file.
62075         * lib/unistdio/u16-u16-vasnprintf.c: New file.
62076         * lib/unistdio/u16-u16-vasprintf.c: New file.
62077         * lib/unistdio/u16-u16-vsnprintf.c: New file.
62078         * lib/unistdio/u16-u16-vsprintf.c: New file.
62079         * lib/unistdio/u32-asnprintf.c: New file.
62080         * lib/unistdio/u32-asprintf.c: New file.
62081         * lib/unistdio/u32-printf-parse.c: New file.
62082         * lib/unistdio/u32-snprintf.c: New file.
62083         * lib/unistdio/u32-sprintf.c: New file.
62084         * lib/unistdio/u32-vasnprintf.c: New file.
62085         * lib/unistdio/u32-vasprintf.c: New file.
62086         * lib/unistdio/u32-vsnprintf.c: New file.
62087         * lib/unistdio/u32-vsprintf.c: New file.
62088         * lib/unistdio/u32-u32-asnprintf.c: New file.
62089         * lib/unistdio/u32-u32-asprintf.c: New file.
62090         * lib/unistdio/u32-u32-snprintf.c: New file.
62091         * lib/unistdio/u32-u32-sprintf.c: New file.
62092         * lib/unistdio/u32-u32-vasnprintf.c: New file.
62093         * lib/unistdio/u32-u32-vasprintf.c: New file.
62094         * lib/unistdio/u32-u32-vsnprintf.c: New file.
62095         * lib/unistdio/u32-u32-vsprintf.c: New file.
62096         * tests/unistdio/test-ulc-asnprintf1.c: New file.
62097         * tests/unistdio/test-ulc-asnprintf1.h: New file.
62098         * tests/unistdio/test-ulc-printf1.h: New file.
62099         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
62100         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
62101         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
62102         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
62103         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
62104         * tests/unistdio/test-ulc-vasprintf1.c: New file.
62105         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
62106         * tests/unistdio/test-ulc-vsprintf1.c: New file.
62107         * tests/unistdio/test-u8-asnprintf1.c: New file.
62108         * tests/unistdio/test-u8-asnprintf1.h: New file.
62109         * tests/unistdio/test-u8-printf1.h: New file.
62110         * tests/unistdio/test-u8-vasnprintf1.c: New file.
62111         * tests/unistdio/test-u8-vasnprintf2.c: New file.
62112         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
62113         * tests/unistdio/test-u8-vasnprintf3.c: New file.
62114         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
62115         * tests/unistdio/test-u8-vasprintf1.c: New file.
62116         * tests/unistdio/test-u8-vsnprintf1.c: New file.
62117         * tests/unistdio/test-u8-vsprintf1.c: New file.
62118         * tests/unistdio/test-u16-asnprintf1.c: New file.
62119         * tests/unistdio/test-u16-asnprintf1.h: New file.
62120         * tests/unistdio/test-u16-printf1.h: New file.
62121         * tests/unistdio/test-u16-vasnprintf1.c: New file.
62122         * tests/unistdio/test-u16-vasnprintf2.c: New file.
62123         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
62124         * tests/unistdio/test-u16-vasnprintf3.c: New file.
62125         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
62126         * tests/unistdio/test-u16-vasprintf1.c: New file.
62127         * tests/unistdio/test-u16-vsnprintf1.c: New file.
62128         * tests/unistdio/test-u16-vsprintf1.c: New file.
62129         * tests/unistdio/test-u32-asnprintf1.c: New file.
62130         * tests/unistdio/test-u32-asnprintf1.h: New file.
62131         * tests/unistdio/test-u32-printf1.h: New file.
62132         * tests/unistdio/test-u32-vasnprintf1.c: New file.
62133         * tests/unistdio/test-u32-vasnprintf2.c: New file.
62134         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
62135         * tests/unistdio/test-u32-vasnprintf3.c: New file.
62136         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
62137         * tests/unistdio/test-u32-vasprintf1.c: New file.
62138         * tests/unistdio/test-u32-vsnprintf1.c: New file.
62139         * tests/unistdio/test-u32-vsprintf1.c: New file.
62140         * modules/unistdio/base: New file.
62141         * modules/unistdio/u-printf-args: New file.
62142         * modules/unistdio/ulc-asnprintf: New file.
62143         * modules/unistdio/ulc-asprintf: New file.
62144         * modules/unistdio/ulc-fprintf: New file.
62145         * modules/unistdio/ulc-printf-parse: New file.
62146         * modules/unistdio/ulc-snprintf: New file.
62147         * modules/unistdio/ulc-sprintf: New file.
62148         * modules/unistdio/ulc-vasnprintf: New file.
62149         * modules/unistdio/ulc-vasprintf: New file.
62150         * modules/unistdio/ulc-vfprintf: New file.
62151         * modules/unistdio/ulc-vsnprintf: New file.
62152         * modules/unistdio/ulc-vsprintf: New file.
62153         * modules/unistdio/u8-asnprintf: New file.
62154         * modules/unistdio/u8-asprintf: New file.
62155         * modules/unistdio/u8-printf-parse: New file.
62156         * modules/unistdio/u8-snprintf: New file.
62157         * modules/unistdio/u8-sprintf: New file.
62158         * modules/unistdio/u8-vasnprintf: New file.
62159         * modules/unistdio/u8-vasprintf: New file.
62160         * modules/unistdio/u8-vsnprintf: New file.
62161         * modules/unistdio/u8-vsprintf: New file.
62162         * modules/unistdio/u8-u8-asnprintf: New file.
62163         * modules/unistdio/u8-u8-asprintf: New file.
62164         * modules/unistdio/u8-u8-snprintf: New file.
62165         * modules/unistdio/u8-u8-sprintf: New file.
62166         * modules/unistdio/u8-u8-vasnprintf: New file.
62167         * modules/unistdio/u8-u8-vasprintf: New file.
62168         * modules/unistdio/u8-u8-vsnprintf: New file.
62169         * modules/unistdio/u8-u8-vsprintf: New file.
62170         * modules/unistdio/u16-asnprintf: New file.
62171         * modules/unistdio/u16-asprintf: New file.
62172         * modules/unistdio/u16-printf-parse: New file.
62173         * modules/unistdio/u16-snprintf: New file.
62174         * modules/unistdio/u16-sprintf: New file.
62175         * modules/unistdio/u16-vasnprintf: New file.
62176         * modules/unistdio/u16-vasprintf: New file.
62177         * modules/unistdio/u16-vsnprintf: New file.
62178         * modules/unistdio/u16-vsprintf: New file.
62179         * modules/unistdio/u16-u16-asnprintf: New file.
62180         * modules/unistdio/u16-u16-asprintf: New file.
62181         * modules/unistdio/u16-u16-snprintf: New file.
62182         * modules/unistdio/u16-u16-sprintf: New file.
62183         * modules/unistdio/u16-u16-vasnprintf: New file.
62184         * modules/unistdio/u16-u16-vasprintf: New file.
62185         * modules/unistdio/u16-u16-vsnprintf: New file.
62186         * modules/unistdio/u16-u16-vsprintf: New file.
62187         * modules/unistdio/u32-asnprintf: New file.
62188         * modules/unistdio/u32-asprintf: New file.
62189         * modules/unistdio/u32-printf-parse: New file.
62190         * modules/unistdio/u32-snprintf: New file.
62191         * modules/unistdio/u32-sprintf: New file.
62192         * modules/unistdio/u32-vasnprintf: New file.
62193         * modules/unistdio/u32-vasprintf: New file.
62194         * modules/unistdio/u32-vsnprintf: New file.
62195         * modules/unistdio/u32-vsprintf: New file.
62196         * modules/unistdio/u32-u32-asnprintf: New file.
62197         * modules/unistdio/u32-u32-asprintf: New file.
62198         * modules/unistdio/u32-u32-snprintf: New file.
62199         * modules/unistdio/u32-u32-sprintf: New file.
62200         * modules/unistdio/u32-u32-vasnprintf: New file.
62201         * modules/unistdio/u32-u32-vasprintf: New file.
62202         * modules/unistdio/u32-u32-vsnprintf: New file.
62203         * modules/unistdio/u32-u32-vsprintf: New file.
62204         * modules/unistdio/ulc-asnprintf-tests: New file.
62205         * modules/unistdio/ulc-vasnprintf-tests: New file.
62206         * modules/unistdio/ulc-vasprintf-tests: New file.
62207         * modules/unistdio/ulc-vsnprintf-tests: New file.
62208         * modules/unistdio/ulc-vsprintf-tests: New file.
62209         * modules/unistdio/u8-asnprintf-tests: New file.
62210         * modules/unistdio/u8-vasnprintf-tests: New file.
62211         * modules/unistdio/u8-vasprintf-tests: New file.
62212         * modules/unistdio/u8-vsnprintf-tests: New file.
62213         * modules/unistdio/u8-vsprintf-tests: New file.
62214         * modules/unistdio/u16-asnprintf-tests: New file.
62215         * modules/unistdio/u16-vasnprintf-tests: New file.
62216         * modules/unistdio/u16-vasprintf-tests: New file.
62217         * modules/unistdio/u16-vsnprintf-tests: New file.
62218         * modules/unistdio/u16-vsprintf-tests: New file.
62219         * modules/unistdio/u32-asnprintf-tests: New file.
62220         * modules/unistdio/u32-vasnprintf-tests: New file.
62221         * modules/unistdio/u32-vasprintf-tests: New file.
62222         * modules/unistdio/u32-vsnprintf-tests: New file.
62223         * modules/unistdio/u32-vsprintf-tests: New file.
62224         * MODULES.html.sh (Unicode string functions): Add the new modules.
62225
62226 2007-07-01  Bruno Haible  <bruno@clisp.org>
62227
62228         * lib/sprintf.c (sprintf): Limit the available length estimation,
62229         to avoid address wraparound.
62230         * lib/vsprintf.c (vsprintf): Likewise.
62231         * modules/sprintf-posix (Dependencies): Add stdint.
62232         * modules/vsprintf-posix (Dependencies): Likewise.
62233
62234 2007-07-01  Bruno Haible  <bruno@clisp.org>
62235
62236         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
62237         Windows PATH as well. Conservative double-quoting. Comments.
62238
62239 2007-07-01  Bruno Haible  <bruno@clisp.org>
62240             Eric Blake  <ebb9@byu.net>
62241             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62242
62243         * gnulib-tool (self_abspathname): Fix algorithm to cope with
62244         empty components in $PATH, denoting '.'.
62245
62246 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62247
62248         * gnulib-tool: Fix indentation.
62249         (func_create_megatestdir): Likewise.
62250         Report by Bruno Haible.
62251
62252 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62253
62254         Sync from Automake.
62255         * build-aux/gnupload: Fix shell portability issues with for loops.
62256         Report by Karl Berry.
62257
62258 2007-06-29  Simon Josefsson  <simon@josefsson.org>
62259
62260         * build-aux/maint.mk (POURL): Use translationproject.org.
62261
62262 2007-06-27  Simon Josefsson  <simon@josefsson.org>
62263             Bruno Haible  <bruno@clisp.org>
62264
62265         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
62266         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
62267         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
62268         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
62269         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
62270
62271 2007-06-27  Bruno Haible  <bruno@clisp.org>
62272
62273         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
62274         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
62275
62276 2007-06-26  Karl Berry  <karl@gnu.org>
62277
62278         * MODULES.html.sh: remove xreadlink-with-size.
62279
62280 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
62281
62282         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
62283         method that I hope also handles the double-include problem noted
62284         by Bruno Haible in
62285         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
62286
62287 2007-06-23  Bruno Haible  <bruno@clisp.org>
62288
62289         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
62290         Don't let the 'mostlyclean' target fail if the last subdirectory could
62291         not be removed.
62292         Reported by Karl Berry.
62293
62294 2007-06-23  Bruno Haible  <bruno@clisp.org>
62295
62296         * gnulib-tool (echo): Add a speedier workaround for ksh.
62297         * tests/test-echo.sh: Likewise.
62298
62299 2007-06-23  Bruno Haible  <bruno@clisp.org>
62300
62301         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
62302         * tests/test-echo.sh: Likewise.
62303
62304 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62305
62306         * gnulib-tool (IFS): Initialize early, so we don't set it to
62307         empty later.
62308         (self_abspathname): Rewrite algorithm to set it, reindent.
62309         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
62310         (func_create_megatestdir): Merge some sed scripts.
62311
62312 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
62313
62314         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
62315         exposed by Sun Studio 11 cc on Solaris 8.
62316
62317 2007-06-22  Bruno Haible  <bruno@clisp.org>
62318
62319         * gnulib-tool (echo): Ensure the echo primitive does not interpret
62320         backslashes.
62321         * tests/test-echo.sh: New file.
62322
62323 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62324
62325         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
62326         simplify `sed_replace_build_aux' scripts, they are portable but
62327         echoing them with `echo' is not.
62328         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
62329
62330 2007-06-21  Karl Berry  <karl@gnu.org>
62331
62332         * config/srclist.txt: guess we can't handle the licenses via
62333         srclist at the moment.
62334
62335 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
62336
62337         * MODULES.html.sh: Add include_next.
62338         * modules/include_next: New file.
62339
62340 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
62341
62342         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
62343         INCLUDE_NEXT.
62344         (gl_CHECK_NEXT_HEADERS): New macro.
62345         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
62346         the obsolescent gl_ABSOLUTE_HEADER.
62347         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
62348         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
62349         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
62350         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
62351         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
62352         * m4/math_h.m4 (gl_MATH_H): Likewise.
62353         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
62354         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
62355         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
62356         * m4/stdint.m4 (gl_STDINT_H): Likewise.
62357         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
62358         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
62359         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
62360         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
62361         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
62362         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
62363         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
62364         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
62365         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
62366         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
62367         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
62368         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
62369         * m4/inttypes.m4 (gl_INTTYPES_H): Define
62370         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
62371         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
62372         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
62373         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
62374         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
62375         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
62376         * lib/float_.h: Likewise.
62377         * lib/inttypes_.h: Likewise.
62378         * lib/math_.h: Likewise.
62379         * lib/search_.h: Likewise.
62380         * lib/signal_.h: Likewise.
62381         * lib/stdint_.h: Likewise.
62382         * lib/stdio_.h: Likewise.
62383         * lib/stdlib_.h: Likewise.
62384         * lib/string_.h: Likewise.
62385         * lib/sys_stat_.h: Likewise.
62386         * lib/sys_time_.h: Likewise.
62387         * lib/time_.h: Likewise.
62388         * lib/unistd_.h: Likewise.
62389         * lib/wchar_.h: Likewise.
62390         * lib/wctype_.h: Likewise.
62391         * lib/dirent_.h: Likewise.
62392         * lib/iconv_.h: Likewise.
62393         * lib/locale_.h: Likewise.
62394         * lib/netinet_in_.h: Likewise.
62395         * lib/sys_select_.h: Likewise.
62396         * lib/sys_socket_.h: Likewise.
62397         * lib/sysexits_.h: Likewise.
62398         * modules/fcntl (Depends-on): Depend on include_next, not
62399         absolute_header.
62400         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
62401         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
62402         * modules/fchdir: Likewise.
62403         * modules/float: Likewise.
62404         * modules/iconv_open: Likewise.
62405         * modules/inttypes: Likewise.
62406         * modules/locale: Likewise.
62407         * modules/math: Likewise.
62408         * modules/netinet_in: Likewise.
62409         * modules/search: Likewise.
62410         * modules/signal: Likewise.
62411         * modules/stdint: Likewise.
62412         * modules/stdio: Likewise.
62413         * modules/stdlib: Likewise.
62414         * modules/string: Likewise.
62415         * modules/sys_select: Likewise.
62416         * modules/sys_socket: Likewise.
62417         * modules/sys_stat: Likewise.
62418         * modules/sys_time: Likewise.
62419         * modules/sysexits: Likewise.
62420         * modules/time: Likewise.
62421         * modules/unistd: Likewise.
62422         * modules/wchar: Likewise.
62423         * modules/wctype: Likewise.
62424         * modules/sys_stat: Change maintainer to "all".
62425         * modules/unistd: Likewise.
62426
62427 2007-06-20  Karl Berry  <karl@gnu.org>
62428
62429         * config/srclist.txt: track www changes in license files.
62430
62431 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
62432
62433         * build-aux/bootstrap: Remove stray dot.
62434         Make sure build_aux settings are honored when linking
62435         gnulib_extra_files.
62436
62437 2007-06-19  Eric Blake  <ebb9@byu.net>
62438
62439         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
62440         Allow compilation on cygwin.
62441
62442 2007-06-19  Jim Meyering  <jim@meyering.net>
62443
62444         xreadlink-with-size: Remove module.  No longer used.
62445         Ex-callers now use xreadlink or mreadlink-with-size.
62446         * modules/xreadlink-with-size: Remove module.
62447         * lib/xreadlink-with-size.c: Remove file.
62448         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
62449         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
62450         just before the function definition *is* accurate.
62451
62452         Eliminate one way canonicalize_filename_mode could exit.
62453         * lib/canonicalize.c (canonicalize_filename_mode):
62454         Use mreadlink_with_size, not xreadlink_with_size.
62455
62456 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
62457
62458         Detect porting problems to FreeBSD/arm, which has time_t wider than
62459         long int.  Original problem reported for GNU diff by Xin Li in
62460         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
62461         * modules/getdate (Depends-on): Add intprops, verify.
62462         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
62463         is an integer type no wider than long int.
62464
62465 2007-06-18  Jim Meyering  <jim@meyering.net>
62466
62467         New module: mreadlink-with-size.
62468         * MODULES.html.sh: Add mreadlink-with-size.
62469         * modules/mreadlink-with-size: New module
62470         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
62471         not xreadlink-with-size.
62472         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
62473
62474 2007-06-16  Bruno Haible  <bruno@clisp.org>
62475
62476         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
62477         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
62478         Reported by Gary V. Vaughan <gary@gnu.org>.
62479
62480 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
62481
62482         Revamp lchown so that it lives in unistd.h where it belongs.
62483         * lib/lchown.h: Remove.
62484         * lib/dirchownmod.c: Don't include lib/lchown.h.
62485         * lib/fchownat.c: Likewise.
62486         * lib/openat.c: Likewise.
62487         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
62488         does not follow symlinks.
62489         (EOPNOTSUPP): Define if not defined.
62490         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
62491         is defined to 0.
62492         (lchown): New decl.
62493         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
62494         Do not check for lchown decl.
62495         Set REPLACE_LCHOWN.
62496         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
62497         REPLACE_LCHOWN.
62498         * modules/chown: Make it clear it follows symlinks.
62499         * modules/lchown: Make it clear it doesn't follow symlinks.
62500         (Files): Remove lib/lchown.h
62501         (Depends-on): Add unistd.
62502         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
62503         (Include): Include <unistd.h>, not "lchown.h".
62504         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
62505         REPLACE_LCHOWN.
62506
62507 2007-06-15  Jim Meyering  <jim@meyering.net>
62508
62509         Change license (GPL to LGPL) of fsusage and dependents.
62510         * modules/fsusage (License): Change to LGPL.
62511         * modules/full-read (License): Likewise.
62512         * modules/full-write (License): Likewise.
62513         * modules/safe-read (License): Likewise.
62514         * modules/safe-write (License): Likewise.
62515
62516 2007-06-14  Ben Pfaff  <blp@gnu.org>
62517
62518         Missing part of allocsa -> malloca transition.
62519         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
62520         gl_MALLOCA.
62521
62522 2007-06-12  Bruno Haible  <bruno@clisp.org>
62523
62524         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
62525         to ia64, x86_64, i386.
62526         Reported by Eric Blake.
62527
62528 2007-06-12  Bruno Haible  <bruno@clisp.org>
62529
62530         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
62531         cross-compiling to x86_64.
62532
62533 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
62534
62535         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
62536         glitch reported by Ralf Wildenhues in
62537         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
62538
62539         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
62540         Vin Shelton.
62541
62542 2007-06-11  Bruno Haible  <bruno@clisp.org>
62543
62544         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
62545         replacement string.
62546         Reported by Eric Blake.
62547
62548 2007-06-10  Bruno Haible  <bruno@clisp.org>
62549
62550         Prepare vasnprintf code for use with Unicode strings.
62551         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
62552         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
62553         TYPE_U32_STRING.
62554         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
62555         a_u32_string variants.
62556         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
62557         * lib/printf-args.c: Don't include config.h and the specification
62558         header if PRINTF_FETCHARGS is already defined.
62559         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
62560         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
62561         TYPE_U16_STRING, TYPE_U32_STRING.
62562         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
62563         u16_directive, u16_directives, u32_directive, u32_directives): New
62564         types.
62565         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
62566         New declarations.
62567         * lib/printf-parse.c: Don't include config.h and the specification
62568         header if PRINTF_PARSE is already defined. Eliminate the set of
62569         parameters for WIDE_CHAR_VERSION; the user of this file must provide
62570         them now. Include c-ctype.h.
62571         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
62572         directive and CHAR_T_ONLY_ASCII.
62573         * lib/vasnprintf.c: Don't include config.h and the specification header
62574         if VASNPRINTF is already defined.
62575         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
62576         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
62577         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
62578         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
62579         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
62580         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
62581         code accordingly.
62582         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
62583         pad_ourselves also in this case, with the 'c' and 's' directives, and
62584         with a different notion of "width".
62585         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
62586
62587 2007-06-10  Bruno Haible  <bruno@clisp.org>
62588
62589         * modules/unistr/u32-mbsnlen: New file.
62590         * lib/unistr/u32-mbsnlen.c: New file.
62591
62592         * modules/unistr/u16-mbsnlen: New file.
62593         * lib/unistr/u16-mbsnlen.c: New file.
62594
62595         * modules/unistr/u8-mbsnlen: New file.
62596         * lib/unistr/u8-mbsnlen.c: New file.
62597
62598         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
62599         declarations.
62600
62601 2007-06-10  Bruno Haible  <bruno@clisp.org>
62602
62603         * lib/string_.h (mbsnlen): New declaration.
62604         * lib/mbsnlen.c: New file.
62605         * m4/mbsnlen.m4: New file.
62606         * modules/mbsnlen: New file.
62607         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
62608         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
62609         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
62610
62611 2007-06-10  Bruno Haible  <bruno@clisp.org>
62612
62613         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
62614
62615 2007-06-10  Bruno Haible  <bruno@clisp.org>
62616
62617         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
62618         * lib/mbuiter.h: Likewise.
62619
62620 2007-06-10  Bruno Haible  <bruno@clisp.org>
62621
62622         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
62623         declaration.
62624
62625 2007-06-10  Karl Berry  <karl@gnu.org>
62626
62627         * config/srclist.txt: remove gettext entries, Bruno prefers
62628         to update individually.
62629
62630 2007-06-10  Bruno Haible  <bruno@clisp.org>
62631
62632         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
62633         'maxlen'. Ensure only length + width bytes are allocated, not
62634         length + 1 + width.
62635
62636 2007-06-09  Bruno Haible  <bruno@clisp.org>
62637
62638         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
62639         (CHAR_T): Remove macro.
62640         (VASNPRINTF): Update.
62641
62642 2007-06-09  Bruno Haible  <bruno@clisp.org>
62643
62644         * MODULES.html.sh (Unicode string functions): Add the new modules.
62645
62646         * modules/uniconv/u32-conv-to-enc: New file.
62647         * lib/uniconv/u32-conv-to-enc.c: New file.
62648         * modules/uniconv/u32-conv-to-enc-tests: New file.
62649         * tests/uniconv/test-u32-conv-to-enc.c: New file.
62650
62651         * modules/uniconv/u16-conv-to-enc: New file.
62652         * lib/uniconv/u16-conv-to-enc.c: New file.
62653         * lib/uniconv/u-conv-to-enc.h: New file.
62654         * modules/uniconv/u16-conv-to-enc-tests: New file.
62655         * tests/uniconv/test-u16-conv-to-enc.c: New file.
62656
62657         * modules/uniconv/u8-conv-to-enc: New file.
62658         * lib/uniconv/u8-conv-to-enc.c: New file.
62659         * modules/uniconv/u8-conv-to-enc-tests: New file.
62660         * tests/uniconv/test-u8-conv-to-enc.c: New file.
62661
62662         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
62663         u32_conv_to_encoding): New declarations.
62664
62665 2007-06-09  Bruno Haible  <bruno@clisp.org>
62666
62667         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
62668
62669 2007-06-09  Bruno Haible  <bruno@clisp.org>
62670
62671         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
62672         * modules/malloca: Renamed from modules/allocsa, updated.
62673         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
62674         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
62675         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
62676         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
62677         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
62678         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
62679         * modules/xmalloca: Renamed from modules/xallocsa, updated.
62680         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
62681         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
62682         * modules/c-strcasestr (Depends-on): Update.
62683         * lib/c-strcasestr.c: Update.
62684         * modules/c-strstr (Depends-on): Update.
62685         * lib/c-strstr.c: Update.
62686         * modules/canonicalize-lgpl (Depends-on): Update.
62687         * lib/canonicalize-lgpl.c: Update.
62688         * modules/clean-temp (Depends-on): Update.
62689         * lib/clean-temp.c: Update.
62690         * modules/csharpcomp (Depends-on): Update.
62691         * lib/csharpcomp.c: Update.
62692         * modules/csharpexec (Depends-on): Update.
62693         * lib/csharpexec.c: Update.
62694         * modules/javacomp (Depends-on): Update.
62695         * lib/javacomp.c: Update.
62696         * modules/javaexec (Depends-on): Update.
62697         * lib/javaexec.c: Update.
62698         * modules/mbscasestr (Depends-on): Update.
62699         * lib/mbscasestr.c: Update.
62700         * modules/mbsstr (Depends-on): Update.
62701         * lib/mbsstr.c: Update.
62702         * modules/setenv (Depends-on): Update.
62703         * lib/setenv.c: Update.
62704         * modules/strcasestr (Depends-on): Update.
62705         * lib/strcasestr.c: Update.
62706         * modules/striconveha (Depends-on): Update.
62707         * lib/striconveha.c: Update.
62708         * modules/relocatable-prog-wrapper (Files): Update.
62709         * lib/relocwrapper.c: Update.
62710         * build-aux/install-reloc: Update.
62711         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
62712
62713 2007-06-08  Bruno Haible  <bruno@clisp.org>
62714
62715         Port to uClibc.
62716         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
62717         * lib/fpurge.c (fpurge): Likewise.
62718         * lib/freading.c (freading): Likewise.
62719         * lib/fseeko.c (rpl_fseeko): Likewise.
62720         * lib/fseterr.c (fseterr): Likewise.
62721         * lib/fwriting.c (fwriting): Likewise.
62722         * tests/test-fflush.c (main): Avoid a failure on uClibc.
62723
62724 2007-06-08  Bruno Haible  <bruno@clisp.org>
62725
62726         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
62727         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
62728         * modules/gettext (Files): Add m4/intlmacosx.m4.
62729
62730 2007-06-07  Bruno Haible  <bruno@clisp.org>
62731
62732         * modules/localename-tests: New file.
62733         * tests/test-localename.c: New file.
62734
62735         New module 'localename'.
62736         * lib/localename.h: New file.
62737         * lib/localename.c: New file, from GNU gettext.
62738         * m4/localename.m4: New file.
62739         * modules/localename: New file.
62740
62741 2007-06-07  Bruno Haible  <bruno@clisp.org>
62742
62743         Work around the lack of <wchar.h> on some builds of uClibc.
62744         * doc/headers/wchar.texi: Update.
62745         * lib/wchar_.h: Include <wchar.h> only if it exists.
62746         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
62747         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
62748         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
62749         doesn't exist.
62750         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
62751         * modules/mbfile (Depends-on): Add wchar.
62752         * modules/mbiter (Depends-on): Likewise.
62753         * modules/mbuiter (Depends-on): Likewise.
62754         Reported by Simon Josefsson.
62755
62756 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
62757
62758         Work around problem reported by Steven M. Schweda in
62759         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
62760         Tru64 5.1B with the Compaq compiler environment installed declares
62761         an 'isblank' function but does not define it in the C library.
62762         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
62763         * lib/regex_internal.h (isblank): Likewise.
62764         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
62765         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
62766
62767 2007-06-05  Bruno Haible  <bruno@clisp.org>
62768
62769         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
62770         ia64.
62771         * modules/printf-safe: New file.
62772         * modules/fprintf-posix (Depends-on): Add printf-safe.
62773         * modules/printf-posix (Depends-on): Likewise.
62774         * modules/snprintf-posix (Depends-on): Likewise.
62775         * modules/sprintf-posix (Depends-on): Likewise.
62776         * modules/vasnprintf-posix (Depends-on): Likewise.
62777         * modules/vasprintf-posix (Depends-on): Likewise.
62778         * modules/vfprintf-posix (Depends-on): Likewise.
62779         * modules/vprintf-posix (Depends-on): Likewise.
62780         * modules/vsnprintf-posix (Depends-on): Likewise.
62781         * modules/vsprintf-posix (Depends-on): Likewise.
62782         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
62783         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
62784         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
62785         "no" on i386, x86_64, ia64.
62786         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
62787         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
62788         on i386, x86_64, ia64.
62789         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
62790         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
62791         on i386, x86_64, ia64.
62792         * tests/test-vasnprintf-posix.c: Include float.h.
62793         (LDBL80_WORDS): New macro.
62794         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
62795         on i386, x86_64, ia64.
62796         * tests/test-vasprintf-posix.c: Include float.h.
62797         (LDBL80_WORDS): New macro.
62798         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
62799         on i386, x86_64, ia64.
62800         * tests/test-snprintf-posix.c: Include float.h.
62801         * tests/test-sprintf-posix.c: Likewise.
62802         * tests/test-vsnprintf-posix.c: Likewise.
62803         * tests/test-vsprintf-posix.c: Likewise.
62804
62805 2007-06-05  Bruno Haible  <bruno@clisp.org>
62806
62807         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
62808         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
62809         non-IEEE numbers on i386, x86_64, ia64.
62810         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
62811         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
62812         * tests/test-isnanl.h: Include float.h.
62813         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
62814
62815 2007-06-05  Bruno Haible  <bruno@clisp.org>
62816
62817         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
62818         also the %a / %A. Handle the %a / %A code before this extra handling.
62819
62820 2007-06-05  Bruno Haible  <bruno@clisp.org>
62821
62822         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
62823         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
62824
62825 2007-06-05  Bruno Haible  <bruno@clisp.org>
62826
62827         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
62828         typo in variable name.
62829
62830 2007-06-05  Eric Blake  <ebb9@byu.net>
62831
62832         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
62833         Reported by Simon Josefsson.
62834
62835 2007-06-04  Bruno Haible  <bruno@clisp.org>
62836
62837         Avoid test failures on some PowerPC platforms.
62838         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
62839         Define differently for PowerPC.
62840         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
62841         Reported by Gary V. Vaughan <gary@gnu.org>.
62842
62843 2007-06-02  Bruno Haible  <bruno@clisp.org>
62844
62845         Fix test-stdint failure on FreeBSD/ia64.
62846         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
62847         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
62848         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
62849         * doc/headers/stdint.texi: Update.
62850
62851 2007-06-01  Bruno Haible  <bruno@clisp.org>
62852
62853         * tests/test-binary-io.c (main): Pass a third argument to open().
62854         Reported by Gary V. Vaughan <gary@gnu.org>.
62855
62856 2007-06-01  Bruno Haible  <bruno@clisp.org>
62857
62858         * doc/functions/frexpl.texi: Update for mingw.
62859
62860 2007-06-01  Bruno Haible  <bruno@clisp.org>
62861
62862         * tests/test-lseek.c (main): Disable test of errno for invalid third
62863         argument.
62864         * doc/functions/lseek.texi: Update.
62865         Reported by Gary V. Vaughan <gary@gnu.org>.
62866
62867 2007-05-28  Bruno Haible  <bruno@clisp.org>
62868
62869         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
62870
62871 2007-05-31  Eric Blake  <ebb9@byu.net>
62872
62873         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
62874         cross compiling.
62875
62876 2007-05-30  Eric Blake  <ebb9@byu.net>
62877         and Bruno Haible  <bruno@clisp.org>
62878
62879         Work around mingw test failures exposed by m4-1.4.9b.
62880         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
62881         * tests/test-unistd.c: Disable uid_t and git_t tests for the
62882         moment.
62883
62884 2007-05-30  Bruno Haible  <bruno@clisp.org>
62885
62886         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
62887         assuming that they are closed. Needed on HP-UX 11.
62888
62889 2007-05-29  Bruno Haible  <bruno@clisp.org>
62890
62891         Fix a problem with #include_next.
62892         * lib/dirent_.h: Split the double-inclusion guard.
62893         * lib/fcntl_.h: Likewise.
62894         * lib/float_.h: Likewise.
62895         * lib/iconv_.h: Likewise.
62896         * lib/inttypes_.h: Likewise.
62897         * lib/locale_.h: Likewise.
62898         * lib/math_.h: Likewise.
62899         * lib/netinet_in_.h: Likewise.
62900         * lib/search_.h: Likewise.
62901         * lib/signal_.h: Likewise.
62902         * lib/stdint_.h: Likewise.
62903         * lib/stdio_.h: Likewise.
62904         * lib/stdlib_.h: Likewise.
62905         * lib/string_.h: Likewise.
62906         * lib/sys_select_.h: Likewise.
62907         * lib/sys_socket_.h: Likewise.
62908         * lib/sys_stat_.h: Likewise.
62909         * lib/sys_time_.h: Likewise.
62910         * lib/sysexits_.h: Likewise.
62911         * lib/time_.h: Likewise.
62912         * lib/unistd_.h: Likewise.
62913         * lib/wchar_.h: Likewise.
62914         * lib/wctype_.h: Likewise.
62915
62916 2007-05-29  Bruno Haible  <bruno@clisp.org>
62917
62918         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
62919         for the moment.
62920
62921 2007-05-29  Bruno Haible  <bruno@clisp.org>
62922
62923         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
62924         invocation.
62925         Reported by Eric Blake.
62926
62927 2007-05-29  Bruno Haible  <bruno@clisp.org>
62928
62929         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
62930         compiling case.
62931
62932 2007-05-29  Eric Blake  <ebb9@byu.net>
62933             Bruno Haible  <bruno@clisp.org>
62934
62935         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
62936         cross compiles.
62937
62938 2007-05-28  Eric Blake  <ebb9@byu.net>
62939
62940         * modules/closein-tests (test_closein_LDADD): Support test on
62941         cygwin with libtool.
62942
62943 2007-05-28  Bruno Haible  <bruno@clisp.org>
62944
62945         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
62946         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
62947         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
62948         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
62949         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
62950         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
62951         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
62952         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
62953         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
62954
62955 2007-05-28  Eric Blake  <ebb9@byu.net>
62956
62957         Unconditionally include <config.h> in unit tests.
62958         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
62959         * tests/test-allocsa.c, tests/test-arcfour.c,
62960         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
62961         tests/test-array_list.c, tests/test-array_oset.c,
62962         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
62963         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
62964         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
62965         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
62966         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
62967         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
62968         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
62969         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
62970         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
62971         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
62972         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
62973         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
62974         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
62975         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
62976         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
62977         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
62978         test-md5.c, test-memmem.c, test-printf-posix.c,
62979         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
62980         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
62981         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
62982         test-strcasestr.c, test-striconv.c, test-striconveh.c,
62983         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
62984         test-vasnprintf-posix2.c, test-vasnprintf.c,
62985         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
62986         test-vfprintf-posix.c, test-vprintf-posix.c,
62987         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
62988         test-xvasprintf.c: Likewise.
62989
62990 2007-05-28  Bruno Haible  <bruno@clisp.org>
62991
62992         * gnulib-tool (func_import): Remember the --with-tests command-line
62993         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
62994         Reported by Eric Blake.
62995
62996 2007-05-28  Bruno Haible  <bruno@clisp.org>
62997
62998         * modules/ftell-tests: New file.
62999         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
63000         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
63001
63002         * lib/ftell.c: New file.
63003         * modules/ftell: New file.
63004         * m4/ftell.m4: New file.
63005         * doc/functions/ftell.texi: Update.
63006         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
63007         REPLACE_FTELL.
63008         * lib/stdio_.h (rpl_ftell): New declaration.
63009         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
63010         REPLACE_FTELL.
63011
63012 2007-05-28  Eric Blake  <ebb9@byu.net>
63013
63014         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
63015
63016 2007-05-28  Bruno Haible  <bruno@clisp.org>
63017
63018         * modules/fseek-tests: New file.
63019         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
63020         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
63021
63022         * lib/fseek.c: New file.
63023         * modules/fseek: New file.
63024         * m4/fseek.m4: New file.
63025         * doc/functions/fseek.texi: Update.
63026         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
63027         REPLACE_FSEEK.
63028         * lib/stdio_.h (rpl_fseek): New declaration.
63029         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
63030         REPLACE_FSEEK.
63031
63032 2007-05-28  Bruno Haible  <bruno@clisp.org>
63033
63034         * lib/stdio_.h (fflush): More comments.
63035
63036 2007-05-28  Bruno Haible  <bruno@clisp.org>
63037
63038         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
63039         runtime test.
63040
63041 2007-05-28  Eric Blake  <ebb9@byu.net>
63042
63043         Improve lseek module.
63044         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
63045         * lib/unistd_.h (lseek): Scale back link warning message.
63046         * tests/test-lseek.c: Beef up test.
63047         * tests/test-lseek.sh: Exercise more facets of lseek.
63048         Reported by Bruno Haible.
63049
63050 2007-05-28  Bruno Haible  <bruno@clisp.org>
63051
63052         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
63053         to define.
63054
63055 2007-05-27  Bruno Haible  <bruno@clisp.org>
63056
63057         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
63058
63059 2007-05-27  Bruno Haible  <bruno@clisp.org>
63060
63061         * modules/openmp: New file.
63062         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
63063         Noah Misch.
63064
63065 2007-05-26  Bruno Haible  <bruno@clisp.org>
63066
63067         * modules/chdir-long (Depends-on): Add fchdir.
63068         * modules/chdir-safer (Depends-on): Likewise.
63069         * modules/fts (Depends-on): Likewise.
63070         * modules/fts-lgpl (Depends-on): Likewise.
63071         * modules/openat (Depends-on): Likewise.
63072         * modules/savewd (Depends-on): Likewise.
63073
63074 2007-05-24  Eric Blake  <ebb9@byu.net>
63075
63076         Fix lseek on mingw.
63077         * modules/lseek: New module.
63078         * m4/lseek.m4: New file.
63079         * lib/lseek.c: New file.
63080         * modules/lseek-tests: New file.
63081         * tests/test-lseek.c: New file.
63082         * tests/test-lseek.sh: New file.
63083         * MODULES.html.sh: Document lseek module.
63084         * modules/fflush (Depends-on): Add lseek, fseeko.
63085         * modules/fseeko (Depends-on): Likewise.
63086         * modules/ftello (Depends-on): Likewise.
63087         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
63088         broken.
63089         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
63090         broken.
63091         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
63092         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
63093         * lib/ftello.c (rpl_ftello): Likewise.
63094         * tests/test-fseeko.c (main): Test this.
63095         * tests/test-fseeko.sh: Likewise.
63096         * tests/test-ftello.c (main): Likewise.
63097         * tests/test-ftello.sh: Likewise.
63098         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
63099         implies replacing fseek.
63100         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
63101         HAVE_FTELLO.
63102         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
63103         * modules/unistd (Makefile.am): Likewise.
63104         * lib/unistd_.h (lseek): Declare a replacement.
63105         * doc/functions/lseek.texi (lseek): Document this fix.
63106         * doc/functions/fseek.texi (fseek): Likewise.
63107         * doc/functions/ftell.texi (ftell): Likewise.
63108
63109 2007-05-24  Bruno Haible  <bruno@clisp.org>
63110
63111         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
63112         in the printed representation of a NaN.
63113         * tests/test-vasprintf-posix.c (test_function): Likewise.
63114         * tests/test-snprintf-posix.h (test_function): Likewise.
63115         * tests/test-sprintf-posix.h (test_function): Likewise.
63116         Reported by Eric Blake.
63117
63118 2007-05-23  Eric Blake  <ebb9@byu.net>
63119
63120         Fix fseeko/ftello on cygwin 1.5.24.
63121         * doc/functions/fseeko.texi (fseeko): Document the fix.
63122         * doc/functions/ftello.texi (ftello): Document the fix.
63123         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
63124         * doc/functions/stdout.text (stdout): New file.
63125         * doc/functions/stderr.text (stderr): New file.
63126         * doc/gnulib.texi (Function Substitutes): Use new files.
63127         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
63128         prior to 1.7.0.
63129         * tests/test-ftello.c (main): Likewise for ftello.
63130         * tests/test-fseeko.sh: New file.
63131         * tests/test-ftello.sh: New file.
63132         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
63133         with seekable stdin.
63134         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
63135         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
63136         (gl_REPLACE_FSEEKO): New macro.
63137         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
63138         * modules/fseeko (Files): Distribute fseeko.c.
63139         * modules/ftello (Files): Distribute ftello.c.
63140         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
63141         mode.
63142         * lib/ftello.c (rpl_ftello): New file.
63143         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
63144         fseeko, ftello.
63145         (gl_STDIN_LARGE_OFFSET): New macro.
63146         * modules/stdio (Makefile.am): Perform the replacement.
63147         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
63148
63149 2007-05-23  Bruno Haible  <bruno@clisp.org>
63150
63151         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
63152         GNULIB_POSIXCHECK is defined.
63153
63154 2007-05-21  Bruno Haible  <bruno@clisp.org>
63155
63156         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
63157         Check also the output for NaN arguments. When cross-compiling, guess
63158         no on IRIX.
63159         * lib/vasnprintf.c: Update comments.
63160         * tests/test-vasnprintf-posix.c (strisnan): New function.
63161         (test_function): Use it.
63162         * tests/test-vasprintf-posix.c (strisnan): New function.
63163         (test_function): Use it.
63164         * tests/test-snprintf-posix.h (strisnan): New function.
63165         (test_function): Use it.
63166         * tests/test-sprintf-posix.h (strisnan): New function.
63167         (test_function): Use it.
63168         Reported by Eric Blake.
63169
63170 2007-05-20  Bruno Haible  <bruno@clisp.org>
63171
63172         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
63173         numbers that fails on BeOS.
63174         * doc/functions/frexpl.texi: Update.
63175
63176 2007-05-20  Jim Meyering  <jim@meyering.net>
63177
63178         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
63179         forced upon us by glibc-2.6.
63180
63181 2007-05-20  Bruno Haible  <bruno@clisp.org>
63182
63183         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
63184         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
63185         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
63186         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
63187         NEED_PRINTF_INFINITE.
63188         (is_infinitel): New function.
63189         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
63190         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
63191         gl_PREREQ_VASNPRINTF_INFINITE.
63192         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
63193         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
63194         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
63195         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
63196         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
63197         gl_PREREQ_VASNPRINTF_INFINITE.
63198         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
63199         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
63200         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
63201         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
63202         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
63203         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
63204         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
63205         * doc/functions/fprintf.texi: Update.
63206         * doc/functions/printf.texi: Update.
63207         * doc/functions/snprintf.texi: Update.
63208         * doc/functions/sprintf.texi: Update.
63209         * doc/functions/vfprintf.texi: Update.
63210         * doc/functions/vprintf.texi: Update.
63211         * doc/functions/vsnprintf.texi: Update.
63212         * doc/functions/vsprintf.texi: Update.
63213
63214 2007-05-20  Bruno Haible  <bruno@clisp.org>
63215
63216         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
63217         was not found in libc.
63218         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
63219
63220 2007-05-20  Bruno Haible  <bruno@clisp.org>
63221
63222         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
63223         printed as "-nan" instead of "nan".
63224         * tests/test-vasprintf-posix.c (test_function): Likewise.
63225         * tests/test-snprintf-posix.h (test_function): Likewise.
63226         * tests/test-sprintf-posix.h (test_function): Likewise.
63227         Needed for HP-UX 11.
63228
63229 2007-05-20  Jim Meyering  <jim@meyering.net>
63230
63231         Fix buggy test for the fchownat-deref bug.
63232         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
63233         symlink required for the run-test.  Without it, this test would
63234         always declare that fchownat doesn't work, and client code would
63235         unnecessarily use the replacement function with fixed libc.
63236         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
63237         Reported by Greg Schafer.
63238
63239 2007-05-19  Bruno Haible  <bruno@clisp.org>
63240
63241         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
63242         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
63243         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
63244         Needed for IRIX 6.5 and Solaris 2.5.1.
63245
63246 2007-05-19  Bruno Haible  <bruno@clisp.org>
63247
63248         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
63249         (test_function): Skip tests involving -0.0 on platforms where
63250         -0.0 = 0.0.
63251         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
63252         (test_function): Skip tests involving -0.0 on platforms where
63253         -0.0 = 0.0.
63254         * tests/test-snprintf-posix.h (have_minus_zero): New function.
63255         (test_function): Skip tests involving -0.0 on platforms where
63256         -0.0 = 0.0.
63257         * tests/test-sprintf-posix.h (have_minus_zero): New function.
63258         (test_function): Skip tests involving -0.0 on platforms where
63259         -0.0 = 0.0.
63260         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
63261         tests.
63262         * tests/test-printf-posix.h (test_function): Likewise.
63263         * tests/test-printf-posix.output: Remove all -0.0 related results.
63264         Needed for IRIX 6.5.
63265
63266 2007-05-19  Bruno Haible  <bruno@clisp.org>
63267
63268         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
63269         printed as "nan0x7fffffff" instead of "nan".
63270         * tests/test-vasprintf-posix.c (test_function): Likewise.
63271         * tests/test-snprintf-posix.h (test_function): Likewise.
63272         * tests/test-sprintf-posix.h (test_function): Likewise.
63273         * tests/test-fprintf-posix.h (NaN): Remove macro.
63274         (test_function): Remove all NaN related tests.
63275         * tests/test-printf-posix.h (NaN): Remove macro.
63276         (test_function): Remove all NaN related tests.
63277         * tests/test-printf-posix.output: Remove all NaN related results.
63278         Needed for IRIX 6.5.
63279
63280 2007-05-19  Bruno Haible  <bruno@clisp.org>
63281
63282         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
63283         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
63284
63285 2007-05-19  Bruno Haible  <bruno@clisp.org>
63286
63287         * lib/float_.h: New file.
63288         * m4/float_h.m4: New file.
63289         * modules/float: New file.
63290         * modules/isnanl (Dependencies): Add float.
63291         * modules/isnanl-nolibm (Dependencies): Likewise.
63292         * modules/mathl (Dependencies): Likewise.
63293         * modules/printf-frexpl (Dependencies): Likewise.
63294         * modules/signbit (Dependencies): Likewise.
63295         * modules/vasnprintf (Dependencies): Likewise.
63296         * doc/headers/float.texi: Update.
63297
63298 2007-05-19  Jim Meyering  <jim@meyering.net>
63299
63300         * lib/utimens.c (gl_futimens): Rename from futimens,
63301         now that glibc-2.6 declares futimens.
63302         * lib/utimens.h: Likewise.
63303
63304 2007-05-19  Bruno Haible  <bruno@clisp.org>
63305
63306         Avoid test failures on mingw.
63307         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
63308         * tests/test-printf-posix.sh: Likewise.
63309         * tests/test-vfprintf-posix.sh: Likewise.
63310         * tests/test-vprintf-posix.sh: Likewise.
63311
63312 2007-05-19  Bruno Haible  <bruno@clisp.org>
63313
63314         Fix *printf result for NaN, Inf, -0.0 on mingw.
63315         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
63316         * lib/vasnprintf.c: Include math.h and isnan.h.
63317         (is_infinite_or_zero): New function.
63318         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
63319         values in the %f, %F, %e, %E, %g, %G directives.
63320         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
63321         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
63322         gl_PRINTF_INFINITE and test its result. Invoke
63323         gl_PREREQ_VASNPRINTF_INFINITE.
63324         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
63325         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
63326         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
63327         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
63328         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
63329         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
63330         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
63331         * doc/functions/fprintf.texi: Update.
63332         * doc/functions/printf.texi: Update.
63333         * doc/functions/snprintf.texi: Update.
63334         * doc/functions/sprintf.texi: Update.
63335         * doc/functions/vfprintf.texi: Update.
63336         * doc/functions/vprintf.texi: Update.
63337         * doc/functions/vsnprintf.texi: Update.
63338         * doc/functions/vsprintf.texi: Update.
63339
63340 2007-05-19  Bruno Haible  <bruno@clisp.org>
63341
63342         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
63343         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
63344         Instead of multiplying with 10^k, set extra_zeroes to k.
63345         (scale10_round_long_double): Remove function.
63346
63347 2007-05-18  Bruno Haible  <bruno@clisp.org>
63348
63349         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
63350         introduced on 2007-05-06.
63351
63352 2007-05-18  Bruno Haible  <bruno@clisp.org>
63353
63354         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
63355         %g directives.
63356         * tests/test-vasprintf-posix.c (test_function): Likewise.
63357         * tests/test-snprintf-posix.h (test_function): Likewise.
63358         * tests/test-sprintf-posix.h (test_function): Likewise.
63359
63360 2007-05-18  Bruno Haible  <bruno@clisp.org>
63361
63362         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
63363         (strmatch): New function.
63364         (test_function): Test the %f directive on numbers of various exponents.
63365         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
63366         (strmatch): New function.
63367         (test_function): Test the %f directive on numbers of various exponents.
63368         * tests/test-snprintf-posix.h (strmatch): New function.
63369         (test_function): Test the %f directive on numbers of various exponents.
63370         * tests/test-sprintf-posix.h (strmatch): New function.
63371         (test_function): Test the %f directive on numbers of various exponents.
63372         * tests/test-snprintf-posix.c (SIZEOF): New macro.
63373         * tests/test-sprintf-posix.c (SIZEOF): New macro.
63374         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
63375         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
63376
63377 2007-05-18  Bruno Haible  <bruno@clisp.org>
63378
63379         Add support for 'long double' number output.
63380         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
63381         * lib/vasnprintf.c: Include math.h and float+.h.
63382         (mp_limb_t): New type.
63383         (GMP_LIMB_BITS): New macro.
63384         (mp_twolimb_t): New type.
63385         (GMP_TWOLIMB_BITS): New macro.
63386         (mpn_t): New type.
63387         (multiply, divide, convert_to_decimal, decode_long_double,
63388         scale10_round_long_double, scale10_round_decimal_long_double,
63389         floorlog10l): New functions.
63390         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
63391         for the %f, %F, %e, %E, %g, %G directives.
63392         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
63393         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
63394         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
63395         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
63396         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
63397         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
63398         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
63399         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
63400         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
63401         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
63402         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
63403         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
63404         * modules/snprintf-posix (Depends-on): Likewise.
63405         * modules/sprintf-posix (Depends-on): Likewise.
63406         * modules/vasnprintf-posix (Depends-on): Likewise.
63407         * modules/vasprintf-posix (Depends-on): Likewise.
63408         * modules/vfprintf-posix (Depends-on): Likewise.
63409         * modules/vsnprintf-posix (Depends-on): Likewise.
63410         * modules/vsprintf-posix (Depends-on): Likewise.
63411         * modules/vasnprintf (Files): Add lib/float+.h.
63412         * doc/functions/fprintf.texi: Update.
63413         * doc/functions/printf.texi: Update.
63414         * doc/functions/snprintf.texi: Update.
63415         * doc/functions/sprintf.texi: Update.
63416         * doc/functions/vfprintf.texi: Update.
63417         * doc/functions/vprintf.texi: Update.
63418         * doc/functions/vsnprintf.texi: Update.
63419         * doc/functions/vsprintf.texi: Update.
63420
63421 2007-05-18  Bruno Haible  <bruno@clisp.org>
63422
63423         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
63424
63425 2007-05-18  Bruno Haible  <bruno@clisp.org>
63426
63427         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
63428         for printing 64-bit integers. Needed for mingw.
63429
63430 2007-05-18  Bruno Haible  <bruno@clisp.org>
63431
63432         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
63433         gl_FUNC_FREXPL_WORKS.
63434         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
63435
63436 2007-05-18  Bruno Haible  <bruno@clisp.org>
63437
63438         * modules/frexpl-nolibm-tests: New file.
63439
63440         * modules/frexpl-nolibm: New file.
63441         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
63442
63443 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
63444
63445         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
63446         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
63447         GCC 4.2, which otherwise issues a lot of warnings.
63448         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
63449         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
63450         Likewise.
63451         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
63452         * modules/iconv_open (iconv.h): Likewise.
63453         * modules/locale (locale.h): Likewise.
63454         * modules/netinet_in (netinet/in.h): Likewise.
63455         * modules/sys_select (sys_select.h): Likewise.
63456         * modules/sys_socket (sys/socket.h): Likewise.
63457         * modules/sys_stat (sys/stat.h): Likewise.
63458         * modules/sysexits (sysexits.h): Likewise.
63459         * modules/unistd (unistd.h): Likewise.
63460
63461 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63462
63463         * modules/closein-tests (Makefile.am): Distribute
63464         `test-closein.sh'.
63465
63466 2007-05-17  Bruno Haible  <bruno@clisp.org>
63467
63468         * tests/test-printf-posix.output: Renamed from
63469         tests/test-fprintf-posix.out.
63470         * modules/fprintf-posix-tests: Update.
63471         * modules/printf-posix-tests: Update.
63472         * modules/vfprintf-posix-tests: Update.
63473         * modules/vprintf-posix-tests: Update.
63474         * tests/test-fprintf-posix.sh: Update.
63475         * tests/test-printf-posix.sh: Update.
63476         * tests/test-vfprintf-posix.sh: Update.
63477         * tests/test-vprintf-posix.sh: Update.
63478         Reported by Ralf Wildenhues.
63479
63480 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
63481
63482         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
63483         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
63484         GCC 4.2, which otherwise issues a lot of warnings.
63485         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
63486         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
63487         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
63488         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
63489         it should no longer be needed.
63490         * lib/string_.h: Likewise.
63491         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
63492         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
63493         * modules/inttypes (inttypes.h): Likewise.
63494         * modules/math (math.h): Likewise.
63495         * modules/search (search.h): Likewise.
63496         * modules/signal (signal.h): Likewise.
63497         * modules/stdint (stdint.h): Likewise.
63498         * modules/stdio (stdio.h): Likewise.
63499         * modules/stdlib (stdlib.h): Likewise.
63500         * modules/string (string.h): Likewise.
63501         * modules/sys_time (sys/time.h): Likewise.
63502         * modules/time (time.h): Likewise.
63503         * modules/wchar (wchar.h): Likewise.
63504         * modules/wctype (wtype.h): Likewise.
63505
63506 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
63507
63508         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
63509
63510 2007-05-13  Bruno Haible  <bruno@clisp.org>
63511
63512         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
63513         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
63514         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
63515         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
63516         (gl_PREREQ_STRTOK_R): Don't require it here.
63517
63518 2007-05-13  Bruno Haible  <bruno@clisp.org>
63519
63520         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
63521         when used in C++ mode.
63522
63523 2007-05-12  Bruno Haible  <bruno@clisp.org>
63524
63525         * lib/linebuffer.h: Tweak doc.
63526         * lib/linebuffer.c: Likewise.
63527
63528 2007-05-12  James Youngman  <jay@gnu.org>
63529
63530         * lib/linebuffer.c (readlinebuffer_delim): New function,
63531         like readlinebuffer, but use a caller-specified delimiter.
63532         (readlinebuffer): Just call readlinebuffer_delim with '\n'
63533         as the delimiter.
63534         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
63535
63536 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
63537
63538         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
63539         * modules/openat (Files): Remove openat-die.c.
63540         (Depends-on): Add openat-die.
63541         * modules/openat-die: New module.
63542
63543 2007-05-06  Bruno Haible  <bruno@clisp.org>
63544
63545         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
63546         Update with info about Cygwin.
63547         * doc/functions/fprintf.texi: Update.
63548         * doc/functions/printf.texi: Update.
63549         * doc/functions/snprintf.texi: Update.
63550         * doc/functions/sprintf.texi: Update.
63551         * doc/functions/vfprintf.texi: Update.
63552         * doc/functions/vprintf.texi: Update.
63553         * doc/functions/vsnprintf.texi: Update.
63554         * doc/functions/vsprintf.texi: Update.
63555         Reported by Eric Blake.
63556
63557 2007-05-06  Bruno Haible  <bruno@clisp.org>
63558
63559         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
63560         padding ourselves for the floating-point directives.
63561         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
63562         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
63563         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
63564         gl_PRINTF_FLAG_ZERO and test its result. Invoke
63565         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
63566         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
63567         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
63568         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
63569         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
63570         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
63571         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
63572         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
63573         * tests/test-snprintf-posix.h (test_function): Also check the width
63574         and some flags in the %f directive.
63575         * tests/test-sprintf-posix.h (test_function): Likewise.
63576         * tests/test-vasnprintf-posix.c (test_function): Likewise.
63577         * tests/test-vasprintf-posix.c (test_function): Likewise.
63578         * doc/functions/fprintf.texi: Update.
63579         * doc/functions/printf.texi: Update.
63580         * doc/functions/snprintf.texi: Update.
63581         * doc/functions/sprintf.texi: Update.
63582         * doc/functions/vfprintf.texi: Update.
63583         * doc/functions/vprintf.texi: Update.
63584         * doc/functions/vsnprintf.texi: Update.
63585         * doc/functions/vsprintf.texi: Update.
63586
63587 2007-05-06  Bruno Haible  <bruno@clisp.org>
63588
63589         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
63590         pass the ' flag character to sprintf or snprintf.
63591         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
63592         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
63593         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
63594         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
63595         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
63596         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
63597         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
63598         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
63599         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
63600         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
63601         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
63602         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
63603         * tests/test-snprintf-posix.h (test_function): Also check the grouping
63604         flag.
63605         * tests/test-sprintf-posix.h (test_function): Likewise.
63606         * tests/test-vasnprintf-posix.c (test_function): Likewise.
63607         * tests/test-vasprintf-posix.c (test_function): Likewise.
63608         * doc/functions/fprintf.texi: Update.
63609         * doc/functions/printf.texi: Update.
63610         * doc/functions/snprintf.texi: Update.
63611         * doc/functions/sprintf.texi: Update.
63612         * doc/functions/vfprintf.texi: Update.
63613         * doc/functions/vprintf.texi: Update.
63614         * doc/functions/vsnprintf.texi: Update.
63615         * doc/functions/vsprintf.texi: Update.
63616
63617 2007-05-01  Bruno Haible  <bruno@clisp.org>
63618
63619         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
63620
63621 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
63622
63623         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
63624         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
63625
63626 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
63627
63628         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
63629         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
63630         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
63631
63632 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
63633
63634         * lib/argp-help.c (struct hol_entry): New member `ord'.
63635         (HOL_ENTRY_PTRCMP): Use ord for comparison
63636         (hol_sort): Initialize ord.
63637
63638 2007-05-01  Bruno Haible  <bruno@clisp.org>
63639
63640         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
63641         Reported by Eric Blake.
63642         * doc/gnulib.texi (Function Substitutes): Update.
63643
63644 2007-05-01  Bruno Haible  <bruno@clisp.org>
63645
63646         * doc/functions.texi: Remove file, now redundant through
63647         doc/functions/*.texi.
63648
63649 2007-05-01  Bruno Haible  <bruno@clisp.org>
63650
63651         * modules/argp (Depends-on): Add sleep.
63652
63653 2007-05-01  Bruno Haible  <bruno@clisp.org>
63654
63655         * modules/sleep-tests: New file.
63656         * tests/test-sleep.c: New file.
63657
63658         * modules/sleep: New file.
63659         * lib/sleep.c: New file.
63660         * m4/sleep.m4: New file.
63661         * lib/unistd_.h (sleep): New declaration.
63662         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
63663         HAVE_SLEEP.
63664         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
63665         * doc/functions/sleep.texi: Document the sleep module.
63666
63667 2007-05-01  Bruno Haible  <bruno@clisp.org>
63668
63669         * lib/sigprocmask.h: Remove file.
63670         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
63671         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
63672         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
63673         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
63674         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
63675         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
63676         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
63677         HAVE_SIGSET_T as a shell variable.
63678         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
63679         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
63680         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
63681         (Depends-on): Add signal. Remove verify.
63682         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
63683         (Include): Mention <signal.h> instead of sigprocmask.h.
63684         * NEWS: Mention the change.
63685         * lib/fatal-signal.c: Don't include sigprocmask.h.
63686
63687 2007-05-01  Bruno Haible  <bruno@clisp.org>
63688
63689         * modules/signal: New file.
63690         * lib/signal_.h: New file.
63691         * m4/signal_h.m4: New file.
63692
63693 2007-05-01  Bruno Haible  <bruno@clisp.org>
63694
63695         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
63696         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
63697         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
63698         HAVE_WCTYPE_CTMP_BUG into wctype.h.
63699
63700 2007-05-01  Bruno Haible  <bruno@clisp.org>
63701
63702         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
63703         configure time.
63704         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
63705         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
63706         * modules/sys_stat (Makefile.am): Substitute their values into
63707         sys/stat.h.
63708
63709 2007-05-01  Bruno Haible  <bruno@clisp.org>
63710
63711         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
63712         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
63713         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
63714
63715 2007-05-01  Bruno Haible  <bruno@clisp.org>
63716
63717         * doc/header/assert.texi: Undo last change: don't mention the gnulib
63718         'assert' module here.
63719
63720 2007-05-01  Bruno Haible  <bruno@clisp.org>
63721
63722         * doc/functions/*.texi: New files.
63723         * doc/functions/google-ranking.txt: New file.
63724         * doc/gnulib.texi (Function Substitutes): New chapter.
63725         (ctime, inet_ntoa): Remove sections.
63726         * doc/ctime.texi: Remove file.
63727         * doc/inet_ntoa.texi: Remove file.
63728         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
63729         dependencies.
63730         (%.info): New rule, specifying a --reference-limit.
63731
63732 2007-05-01  Bruno Haible  <bruno@clisp.org>
63733
63734         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
63735
63736 2007-05-01  Bruno Haible  <bruno@clisp.org>
63737
63738         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
63739         the portability of 'mkdir' to mingw systems.
63740
63741 2007-05-01  Bruno Haible  <bruno@clisp.org>
63742
63743         * doc/headers/google-ranking.txt: New file.
63744
63745 2007-04-30  Eric Blake  <ebb9@byu.net>
63746
63747         Prefer fseeko to fseek.
63748         * modules/getpass (Depends-on): Add fseeko.
63749         * lib/getpass.c (getpass): Use fseeko, not fseek.
63750
63751 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
63752
63753         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
63754         assumes the sorting is stable, while most qsort implementations
63755         are not.  Use argument addresses to ensure they never compare as
63756         equal.
63757
63758         * tests/test-argp-2.sh (usage-indent test): Fix output
63759         (func_compare): Restore diff options
63760         * tests/test-argp.c: Restore #include "progname.h"
63761
63762 2007-04-29  Bruno Haible  <bruno@clisp.org>
63763
63764         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
63765         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
63766         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
63767         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
63768         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
63769         (configure.ac): Define CHECK_SNPRINTF_POSIX.
63770         (TESTS, check_PROGRAMS): Add test-snprintf.
63771         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
63772         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
63773         (TESTS, check_PROGRAMS): Add test-vsnprintf.
63774         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
63775         assertions that fail on HP-UX, OSF/1, or IRIX.
63776         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
63777
63778 2007-04-29  Bruno Haible  <bruno@clisp.org>
63779
63780         * MODULES.html.sh (posix_functions): Remove 'contents'.
63781
63782 2007-04-29  Karl Berry  <karl@gnu.org>
63783
63784         * config/srclist.txt (gendocs_template_min): new entry.
63785
63786 2007-04-29  Bruno Haible  <bruno@clisp.org>
63787
63788         Work around fpurge bug on BSD systems.
63789         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
63790         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
63791         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
63792         fpurge to rpl_fpurge if the system already has this function.
63793         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
63794         the case where the system already has this function. Correct invariants
63795         on BSD systems.
63796         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
63797         BSD systems.
63798
63799 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
63800
63801         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
63802         proposed by Sven Verdoolaege.
63803
63804         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
63805         options.
63806         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
63807         (usage and help tests): Update
63808
63809 2007-04-29  Bruno Haible  <bruno@clisp.org>
63810
63811         * tests/test-fflush.c (main): Use a file of size 17, not 10.
63812         Print more information in case of failure. Disable a test on BeOS.
63813
63814 2007-04-29  Bruno Haible  <bruno@clisp.org>
63815
63816         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
63817         This helps debugging on systems on which no gdb is available.
63818
63819 2007-04-29  Bruno Haible  <bruno@clisp.org>
63820
63821         * lib/freading.h: Improve comments.
63822         * lib/fwriting.h: Likewise.
63823         * tests/test-freading.c (main): Don't check freading immediately after
63824         repositioning. Needed for glibc.
63825
63826 2007-04-29  Bruno Haible  <bruno@clisp.org>
63827
63828         * lib/freading.c (freading): Trivial simplification.
63829
63830 2007-04-28  Bruno Haible  <bruno@clisp.org>
63831
63832         * tests/test-fwriting.c (main): Also test the interaction between
63833         fflush and fwriting.
63834         * modules/fwriting-tests (Depends-on): Add fflush.
63835
63836         * tests/test-freading.c (main): Also test the interaction between
63837         fflush and freading.
63838         * modules/freading-tests (Depends-on): Add fflush.
63839
63840 2007-04-28  Bruno Haible  <bruno@clisp.org>
63841
63842         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
63843         fseeko and ftello.
63844         Suggested by Eric Blake.
63845
63846 2007-04-28  Jim Meyering  <jim@meyering.net>
63847
63848         Avoid false-negative in gl_STDINT_H's C99 conformance test.
63849         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
63850         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
63851
63852 2007-04-27  Eric Blake  <ebb9@byu.net>
63853
63854         * doc/headers/assert.texi (assert.h): Document assert module use.
63855
63856 2007-04-27  Bruno Haible  <bruno@clisp.org>
63857
63858         * doc/headers/*.texi: New files.
63859         * doc/gnulib.texi (Header File Substitutes): New chapter.
63860         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
63861         dependencies.
63862         (standards.info ,standards.html, standards.dvi): Update dependencies.
63863         (mostlyclean, clean): New targets.
63864
63865 2007-04-27  Bruno Haible  <bruno@clisp.org>
63866
63867         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
63868         * modules/sysexits (Files, Makefile.am): Update.
63869
63870         * lib/sys_socket_.h: Renamed from lib/socket_.h.
63871         * modules/sys_socket (Files, Makefile.am): Update.
63872
63873         * lib/sys_stat_.h: Renamed from lib/stat_.h.
63874         * modules/sys_stat (Files, Makefile.am): Update.
63875
63876 2007-04-27  Eric Blake  <ebb9@byu.net>
63877
63878         * lib/freading.h: Improve comments.
63879         * lib/fwriting.h: Likewise.
63880         * lib/fflush.c: Likewise.
63881
63882         Fix closein for mingw.
63883         * modules/closein-tests: Add tests for closein.
63884         * tests/test-closein.c: New file.
63885         * tests/test-closein.sh: Likewise.
63886         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
63887         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
63888
63889 2007-04-27  Bruno Haible  <bruno@clisp.org>
63890
63891         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
63892         version is < 6.
63893         * lib/math_.h [__DECC]: Likewise.
63894         * lib/stdio_.h [__DECC]: Likewise.
63895         * lib/stdlib_.h [__DECC]: Likewise.
63896         * lib/string_.h [__DECC]: Likewise.
63897         * lib/time_.h [__DECC]: Likewise.
63898         * lib/wchar_.h [__DECC]: Likewise.
63899         * lib/wctype_.h [__DECC]: Likewise.
63900
63901 2007-04-27  Bruno Haible  <bruno@clisp.org>
63902
63903         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
63904
63905 2007-04-27  Bruno Haible  <bruno@clisp.org>
63906
63907         * lib/fflush.c: Add comments.
63908         * modules/fpurge-tests (Depends-on): Add fflush.
63909         * modules/freadable-tests (Depends-on): Likewise.
63910         * modules/fwritable-tests (Depends-on): Likewise.
63911
63912 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
63913
63914         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
63915         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
63916         Report by Bruno Haible <bruno@clisp.org>.
63917
63918 2007-04-26  Eric Blake  <ebb9@byu.net>
63919
63920         Fix fflush on mingw.
63921         * modules/fflush (Depends-on): Add freading.
63922         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
63923         but unread data.
63924
63925 2007-04-26  Eric Blake  <ebb9@byu.net>
63926         and Bruno Haible  <bruno@clisp.org>
63927
63928         Implement freading and fwriting.
63929         * lib/freading.c: New file.
63930         * lib/freading.h: Likewise.
63931         * m4/freading.m4: Likewise.
63932         * modules/freading: Likewise.
63933         * modules/freading-tests: Likewise.
63934         * tests/test-freading.c: Likewise.
63935         * lib/fwriting.c: New file.
63936         * lib/fwriting.h: Likewise.
63937         * m4/fwriting.m4: Likewise.
63938         * modules/fwriting: Likewise.
63939         * modules/fwriting-tests: Likewise.
63940         * tests/test-fwriting.c: Likewise.
63941         * MODULES.html.sh (File stream based Input/Output): Mention them.
63942
63943 2007-04-26  Bruno Haible  <bruno@clisp.org>
63944
63945         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
63946         'long' when we assume it.
63947         Suggested by Eric Blake.
63948
63949 2007-04-26  Bruno Haible  <bruno@clisp.org>
63950
63951         Ensure fseeko, ftello are declared on glibc systems.
63952         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
63953         * modules/fseeko (configure.ac-early): Likewise.
63954         * modules/ftello (configure.ac-early): Likewise.
63955         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
63956         AC_FUNC_FSEEKO for this.
63957         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
63958         (gl_CHECK_FSEEKO): Remove macro.
63959
63960 2007-04-26  Bruno Haible  <bruno@clisp.org>
63961
63962         * tests/test-fflush.c (main): Also check the ftell result after
63963         fflush and fseek/fseeko.
63964         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
63965         file descriptor position cache in the stream.
63966         * lib/fseeko.c (rpl_fseeko): Likewise.
63967
63968 2007-04-26  Bruno Haible  <bruno@clisp.org>
63969
63970         * modules/fflush-tests (Depends-on): Add fseeko.
63971
63972 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
63973             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63974
63975         * lib/argz_.h: ensure error_t definition is obtained in same
63976         mechanism system argz.h would have.
63977         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
63978         argz facilities are known bad.  Err on the side of caution if
63979         cross-compiling.
63980
63981 2007-04-25  Eric Blake  <ebb9@byu.net>
63982
63983         * lib/fpurge.c (includes): Use stdlib.h for free.
63984         * tests/test-fflush.c (main): Also test fflush-fseeko.
63985
63986 2007-04-25  Bruno Haible  <bruno@clisp.org>
63987
63988         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
63989         * lib/fseeko.c: New file.
63990         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
63991         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
63992         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
63993         gl_FUNC_FSEEKO.
63994         (gl_FUNC_FSEEKO): Invoke it.
63995         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
63996         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
63997         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
63998
63999 2007-04-25  Bruno Haible  <bruno@clisp.org>
64000
64001         * modules/fflush (Depends-on): Add ftello.
64002
64003 2007-04-25  Bruno Haible  <bruno@clisp.org>
64004
64005         * modules/ftello-tests: New file.
64006         * tests/test-ftello.c: New file.
64007
64008         * modules/ftello: New file.
64009         * m4/ftello.m4: New file.
64010         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
64011         HAVE_FTELLO.
64012         * lib/stdio_.h (ftello): New declaration.
64013         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
64014         HAVE_FTELLO.
64015
64016 2007-04-25  Bruno Haible  <bruno@clisp.org>
64017
64018         * modules/fseeko-tests: New file.
64019         * tests/test-fseeko.c: New file.
64020
64021         * modules/fseeko: New file.
64022         * m4/fseeko.m4: New file.
64023         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
64024         HAVE_FSEEKO.
64025         * lib/stdio_.h (fseeko): New declaration.
64026         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
64027         HAVE_FSEEKO.
64028
64029 2007-04-25  Bruno Haible  <bruno@clisp.org>
64030
64031         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
64032
64033 2007-04-25  Bruno Haible  <bruno@clisp.org>
64034
64035         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
64036         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
64037         * tests/test-unistd.c: Likewise.
64038         * tests/test-fcntl.c: Likewise.
64039
64040 2007-04-23  Eric Blake  <ebb9@byu.net>
64041
64042         * lib/fflush.c: Fix missing include.
64043         Reported by Bruno Haible.
64044
64045 2007-04-23  Bruno Haible  <bruno@clisp.org>
64046
64047         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
64048         Reported by Eric Blake.
64049
64050 2007-04-23  Bruno Haible  <bruno@clisp.org>
64051
64052         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
64053
64054 2007-04-23  Bruno Haible  <bruno@clisp.org>
64055
64056         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
64057
64058 2007-04-23  Bruno Haible  <bruno@clisp.org>
64059
64060         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
64061         Needed on HP-UX 11.
64062
64063 2007-04-16  Eric Blake  <ebb9@byu.net>
64064
64065         Make fflush rely on fpurge.
64066         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
64067         open coding all variants.
64068         * modules/fflush (Depends-on): Add fpurge and unistd.
64069         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
64070         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
64071
64072         Fix --with-tests compilation on cygwin.
64073         * modules/argmatch-tests (Makefile.am): List gnulib library first
64074         in LDADD.
64075         * modules/argp-tests (Makefile.am): Likewise.
64076         * modules/array-list-tests (Makefile.am): Likewise.
64077         * modules/array-oset-tests (Makefile.am): Likewise.
64078         * modules/avltree-list-tests (Makefile.am): Likewise.
64079         * modules/avltree-oset-tests (Makefile.am): Likewise.
64080         * modules/avltreehash-list-tests (Makefile.am): Likewise.
64081         * modules/carray-list-tests (Makefile.am): Likewise.
64082         * modules/dirname-tests (Makefile.am): Likewise.
64083         * modules/frexp-tests (Makefile.am): Likewise.
64084         * modules/isnanl-tests (Makefile.am): Likewise.
64085         * modules/linked-list-tests (Makefile.am): Likewise.
64086         * modules/linkedhash-list-tests (Makefile.am): Likewise.
64087         * modules/lock-tests (Makefile.am): Likewise.
64088         * modules/rbtree-list-tests (Makefile.am): Likewise.
64089         * modules/rbtree-oset-tests (Makefile.am): Likewise.
64090         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
64091         * modules/tls-tests (Makefile.am): Likewise.
64092         * modules/tsearch-tests (Makefile.am): Likewise.
64093         * modules/xvasprintf-tests (Makefile.am): Likewise.
64094
64095         Fix fpurge for cygwin.
64096         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
64097         value.
64098         * modules/fpurge-tests (Depends-on): Clean up trash.
64099
64100 2007-04-16  Simon Josefsson  <simon@josefsson.org>
64101
64102         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
64103
64104         * m4/autobuild.m4: Re-indent.
64105
64106 2007-04-13  Bruno Haible  <bruno@clisp.org>
64107
64108         * modules/fpurge-tests: New file.
64109         * tests/test-fpurge.c: New file.
64110
64111         * modules/fpurge: New file.
64112         * lib/fpurge.h: New file.
64113         * lib/fpurge.c: New file.
64114         * m4/fpurge.m4: New file.
64115
64116 2007-04-13  Bruno Haible  <bruno@clisp.org>
64117
64118         * modules/fbufmode-tests: New file.
64119         * tests/test-fbufmode.c: New file.
64120
64121         * modules/fbufmode: New file.
64122         * lib/fbufmode.h: New file.
64123         * lib/fbufmode.c: New file.
64124         * m4/fbufmode.m4: New file.
64125
64126 2007-04-13  Bruno Haible  <bruno@clisp.org>
64127
64128         * modules/fwritable-tests: New file.
64129         * tests/test-fwritable.c: New file.
64130
64131         * modules/fwritable: New file.
64132         * lib/fwritable.h: New file.
64133         * lib/fwritable.c: New file.
64134         * m4/fwritable.m4: New file.
64135
64136 2007-04-13  Bruno Haible  <bruno@clisp.org>
64137
64138         * modules/freadable-tests: New file.
64139         * tests/test-freadable.c: New file.
64140
64141         * modules/freadable: New file.
64142         * lib/freadable.h: New file.
64143         * lib/freadable.c: New file.
64144         * m4/freadable.m4: New file.
64145
64146 2007-04-13  Bruno Haible  <bruno@clisp.org>
64147
64148         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
64149         MOSTLYCLEANFILES.
64150
64151 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
64152
64153         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
64154         gzip bootstrap.conf to avoid dragging in i18n machinery.
64155         (gnulib_tool_option): Use it.
64156
64157 2007-04-13  Bruno Haible  <bruno@clisp.org>
64158
64159         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
64160         %F directives.
64161         * tests/test-vasprintf-posix.c (test_function): Likewise.
64162         * tests/test-snprintf-posix.h (test_function): Likewise.
64163         * tests/test-sprintf-posix.h (test_function): Likewise.
64164         * tests/test-fprintf-posix.h (test_function): Likewise.
64165         * tests/test-printf-posix.h (test_function): Likewise.
64166         * tests/test-fprintf-posix.out: Likewise.
64167
64168 2007-04-13  Bruno Haible  <bruno@clisp.org>
64169
64170         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
64171         * modules/tls-tests (configure.ac): Likewise.
64172         Reported by Arto C. Nirkko <anirkko@insel.ch>.
64173
64174 2007-04-13  Bruno Haible  <bruno@clisp.org>
64175
64176         * lib/tls.c (glthread_tls_get): Fix return type.
64177         Patch by Arto C. Nirkko <anirkko@insel.ch>.
64178
64179 2007-04-12  Eric Blake  <ebb9@byu.net>
64180
64181         * modules/gettime (Depends-on): Remove gettime.
64182         Reported by Dmitry V. Levin.
64183
64184 2007-04-12  Bruno Haible  <bruno@clisp.org>
64185
64186         * modules/fflush (Include): Mention <stdio.h>.
64187         * modules/strtoimax (Include): Mention <inttypes.h>.
64188         * modules/strtoumax (Include): Likewise.
64189
64190 2007-04-12  Eric Blake  <ebb9@byu.net>
64191
64192         * .cvsignore: New file.
64193         * .gitignore: Likewise.
64194
64195 2007-04-12  Bruno Haible  <bruno@clisp.org>
64196
64197         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
64198         not before, since $(LDADD) often contains libgnu.a.
64199         * modules/striconv-tests (test_striconv_LDADD): Likewise.
64200         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
64201         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
64202         Needed on Cygwin.
64203
64204 2007-04-12  Eric Blake  <ebb9@byu.net>
64205
64206         Work around glibc's failure to flush stdin on fclose.
64207         * lib/closein.c (close_stdin): Flush stdin before closing.
64208
64209         Work around glibc's failure to reset seekable stdin on exit.
64210         * modules/closein: New module.
64211         * lib/closein.c: New file.
64212         * lib/closein.h: Likewise.
64213         * m4/closein.m4: Likewise.
64214         * MODULES.html.sh (File stream based Input/Output): Document it.
64215
64216 2007-04-12  Simon Josefsson  <simon@josefsson.org>
64217
64218         * gnulib-tool: Rename generated 'autobuild' script to
64219         'do-autobuild' in --create-megatestdir output.
64220
64221         * doc/gnulib.texi (Build robot for gnulib): Fix.
64222
64223 2007-04-12  Simon Josefsson  <simon@josefsson.org>
64224
64225         * modules/sysexits (Depends-on): Add absolute-header.
64226
64227 2007-04-12  Eric Blake  <ebb9@byu.net>
64228
64229         No need to preserve errno on success.
64230         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
64231         Reported by Bruno Haible.
64232
64233 2007-04-12  Simon Josefsson  <simon@josefsson.org>
64234
64235         * MODULES.html.sh (Support for maintaining and releasing
64236         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
64237
64238 2007-04-12  Simon Josefsson  <simon@josefsson.org>
64239
64240         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
64241
64242 2007-04-12  Simon Josefsson  <simon@josefsson.org>
64243
64244         * modules/autobuild: New module.
64245
64246         * m4/autobuild.m4: New file.
64247
64248 2007-04-11  Bruno Haible  <bruno@clisp.org>
64249
64250         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
64251         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
64252         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
64253         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
64254         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
64255         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64256         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64257         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
64258         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64259         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64260         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
64261         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64262         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64263         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
64264         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64265         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64266         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
64267         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64268         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64269         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
64270         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64271         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64272         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
64273         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64274         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64275         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
64276         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64277         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64278         Reported by Eric Blake.
64279
64280 2007-04-11  Bruno Haible  <bruno@clisp.org>
64281
64282         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
64283
64284 2007-04-10  Bruno Haible  <bruno@clisp.org>
64285
64286         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
64287         for NaN and Infinity. Needed on FreeBSD 6.1.
64288         * tests/test-vasnprintf-posix.c (test_function): Undo last change
64289         regarding results for "%010a" of Infinity and NaN.
64290         * tests/test-vasprintf-posix.c (test_function): Likewise.
64291         * tests/test-snprintf-posix.h (test_function): Likewise.
64292         * tests/test-sprintf-posix.h (test_function): Likewise.
64293         * tests/test-fprintf-posix.h (test_function): Likewise.
64294         * tests/test-printf-posix.h (test_function): Likewise.
64295         * tests/test-fprintf-posix.out: Likewise.
64296
64297 2007-04-10  Bruno Haible  <bruno@clisp.org>
64298
64299         * modules/locale-tests: New file.
64300         * tests/test-locale.c: New file.
64301
64302         * modules/locale: New file.
64303         * lib/locale_.h: New file.
64304         * m4/locale_h.m4: New file.
64305
64306 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
64307             Bruno Haible  <bruno@clisp.org>
64308
64309         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
64310         be determined, test for availability of the copysignf, copysign,
64311         copysignl functions.
64312         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
64313         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
64314         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
64315
64316 2007-04-09  Eric Blake  <ebb9@byu.net>
64317
64318         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
64319         * modules/stdio (Makefile.am): Support fflush.
64320         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
64321         * modules/fflush: New file.
64322         * lib/fflush.c: Likewise.
64323         * m4/fflush.m4: Likewise.
64324         * modules/fflush-tests: New test.
64325         * tests/test-fflush.c: Likewise.
64326         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
64327
64328 2007-04-06  Bruno Haible  <bruno@clisp.org>
64329
64330         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
64331         (VASNPRINTF): Use signbit for faster determination whether to print a
64332         minus sign.
64333         * modules/vasnprintf (Files): Remove lib/float+.h.
64334         * modules/fprintf-posix (Depends-on): Add signbit.
64335         * modules/snprintf-posix (Depends-on): Likewise.
64336         * modules/sprintf-posix (Depends-on): Likewise.
64337         * modules/vasnprintf-posix (Depends-on): Likewise.
64338         * modules/vasprintf-posix (Depends-on): Likewise.
64339         * modules/vfprintf-posix (Depends-on): Likewise.
64340         * modules/vsnprintf-posix (Depends-on): Likewise.
64341         * modules/vsprintf-posix (Depends-on): Likewise.
64342
64343 2007-04-06  Bruno Haible  <bruno@clisp.org>
64344
64345         * tests/test-frexp.c (main): Test also the sign bit of zero results.
64346         * tests/test-frexpl.c (main): Likewise.
64347         * tests/test-ldexpl.c (main): Likewise.
64348         * modules/frexp-tests (Depends-on): Add signbit.
64349         * modules/frexpl-tests (Depdends-on): Likewise.
64350         * modules/ldexpl-tests (Depdends-on): Likewise.
64351
64352 2007-04-06  Bruno Haible  <bruno@clisp.org>
64353
64354         * modules/signbit-tests: New file.
64355         * tests/test-signbit.c: New file.
64356
64357         * modules/signbit: New file.
64358         * lib/signbitf.c: New file.
64359         * lib/signbitd.c: New file.
64360         * lib/signbitl.c: New file.
64361         * m4/signbit.m4: New file.
64362         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
64363         (signbit): New macro.
64364         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
64365         REPLACE_SIGNBIT.
64366         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
64367         REPLACE_FREXPL into math.h.
64368
64369 2007-04-06  Bruno Haible  <bruno@clisp.org>
64370
64371         * modules/isnanf-nolibm-tests: New file.
64372         * tests/test-isnanf.c: New file.
64373
64374         * modules/isnanf-nolibm: New file.
64375         * lib/isnanf.h: New file.
64376         * lib/isnanf.c: New file.
64377         * lib/isnan.c: Consider the USE_FLOAT macro.
64378         * m4/isnanf.m4: New file.
64379
64380 2007-04-06  Bruno Haible  <bruno@clisp.org>
64381
64382         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
64383         (Link): New section.
64384
64385         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
64386
64387 2007-04-06  Bruno Haible  <bruno@clisp.org>
64388
64389         Assume the 'long double' type.
64390         * m4/longdouble.m4: Remove file.
64391         * config/srclist.txt: Don't mention longdouble.m4.
64392         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
64393         * lib/float+.h: Likewise.
64394         * lib/frexp.c: Likewise.
64395         * lib/printf-args.h: Likewise.
64396         * lib/printf-args.c: Likewise.
64397         * lib/printf-frexp.c: Likewise.
64398         * lib/printf-parse.c: Likewise.
64399         * lib/vasnprintf.c: Likewise.
64400         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
64401         * m4/intl.m4: Likewise.
64402         * m4/isnanl.m4: Likewise.
64403         * m4/printf.m4: Likewise.
64404         * m4/printf-frexpl.m4: Likewise.
64405         * m4/vasnprintf.m4: Likewise.
64406         * modules/allocsa (Files): Remove m4/longdouble.m4.
64407         * modules/gettext (Files): Likewise.
64408         * modules/relocatable-prog-wrapper (Files): Likewise.
64409         * modules/vasnprintf (Files): Likewise.
64410         * modules/isnanl (Files): Likewise.
64411         (Include): Simplify.
64412         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
64413         (Include): Simplify.
64414         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
64415         (Include): Simplify.
64416         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
64417         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
64418         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
64419         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
64420         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
64421         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
64422         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
64423         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
64424         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
64425         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
64426         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
64427         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
64428         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
64429         * tests/test-isnanl.c: Likewise.
64430         * tests/test-snprintf-posix.h: Likewise.
64431         * tests/test-sprintf-posix.h: Likewise.
64432         * tests/test-vasnprintf-posix.c: Likewise.
64433         * tests/test-vasnprintf-posix2.c: Likewise.
64434         * tests/test-vasprintf-posix.c: Likewise.
64435
64436 2007-04-06  Bruno Haible  <bruno@clisp.org>
64437
64438         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
64439         * lib/math_.h [__DECC]: Include the overridden include file through
64440         #include_next, outside the double-inclusion guard.
64441         * lib/stdio_.h [__DECC]: Likewise.
64442         * lib/stdlib_.h [__DECC]: Likewise.
64443         * lib/string_.h [__DECC]: Likewise.
64444         * lib/time_.h [__DECC]: Likewise.
64445         * lib/wchar_.h [__DECC]: Likewise.
64446         * lib/wctype_.h [__DECC]: Likewise.
64447         * lib/inttypes_.h [__DECC]: Likewise.
64448         Reported by Albert Chin <china@thewrittenword.com> in
64449         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
64450
64451 2007-04-04  Eric Blake  <ebb9@byu.net>
64452
64453         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
64454         1.5.x.
64455
64456 2007-04-04  Bruno Haible  <bruno@clisp.org>
64457
64458         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
64459         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
64460
64461 2007-04-04  Bruno Haible  <bruno@clisp.org>
64462
64463         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
64464         results for "%010a" of Infinity and NaN.
64465         * tests/test-vasprintf-posix.c (test_function): Likewise.
64466         * tests/test-snprintf-posix.h (test_function): Likewise.
64467         * tests/test-sprintf-posix.h (test_function): Likewise.
64468         * tests/test-fprintf-posix.h (test_function): Remove these tests.
64469         * tests/test-printf-posix.h (test_function): Likewise.
64470         * tests/test-fprintf-posix.out: Update.
64471         Needed for FreeBSD 6.1.
64472
64473 2007-04-04  Bruno Haible  <bruno@clisp.org>
64474
64475         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
64476         directly used by the gnulib modules nor by gnulib-tool.
64477
64478 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
64479
64480         * DEPENDENCIES: Give overall description of version dependency
64481         desirability.  Use more-typical names for apps.
64482         Add shell, coreutils, diffutils, grep, tar, gzip.
64483
64484 2007-04-04  Simon Josefsson  <simon@josefsson.org>
64485
64486         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
64487
64488 2007-04-04  Karl Berry  <karl@gnu.org>
64489
64490         * MODULES.html.sh (func_module): missing '.
64491
64492 2007-04-03  Bruno Haible  <bruno@clisp.org>
64493
64494         * modules/argmatch-tests (Makefile.am): New variable
64495         test_argmatch_LDADD.
64496         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
64497         * modules/array-list-tests (Makefile.am): New variable
64498         test_array_list_LDADD.
64499         * modules/array-oset-tests (Makefile.am): New variable
64500         test_array_oset_LDADD.
64501         * modules/avltree-list-tests (Makefile.am): New variable
64502         test_avltree_list_LDADD.
64503         * modules/avltree-oset-tests (Makefile.am): New variable
64504         test_avltree_oset_LDADD.
64505         * modules/avltreehash-list-tests (Makefile.am): New variable
64506         test_avltreehash_list_LDADD.
64507         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
64508         test_canonicalize_lgpl_LDADD.
64509         * modules/carray-list-tests (Makefile.am): New variable
64510         test_carray_list_LDADD.
64511         * modules/dirname-tests (Makefile.am): New variable
64512         test_dirname_LDADD.
64513         * modules/linked-list-tests (Makefile.am): New variable
64514         test_linked_list_LDADD.
64515         * modules/linkedhash-list-tests (Makefile.am): New variable
64516         test_linkedhash_list_LDADD.
64517         * modules/rbtree-list-tests (Makefile.am): New variable
64518         test_rbtree_list_LDADD.
64519         * modules/rbtree-oset-tests (Makefile.am): New variable
64520         test_rbtree_oset_LDADD.
64521         * modules/rbtreehash-list-tests (Makefile.am): New variable
64522         test_rbtreehash_list_LDADD.
64523         * modules/xvasprintf-tests (Makefile.am): New variable
64524         test_xvasprintf_LDADD.
64525         Reported by Eric Blake.
64526
64527 2007-04-03  Eric Blake  <ebb9@byu.net>
64528
64529         * DEPENDENCIES: Weaken m4 requirements.
64530
64531 2007-04-03  Bruno Haible  <bruno@clisp.org>
64532
64533         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
64534         * modules/isnanl-tests (configure.ac): Likewise.
64535
64536 2007-04-03  Ben Pfaff  <blp@gnu.org>
64537
64538         * modules/iconv_open: Add $(srcdir)/ to source directory
64539         references in Makefile fragments that call gperf, to fix VPATH
64540         builds.
64541
64542 2007-04-03  Bruno Haible  <bruno@clisp.org>
64543
64544         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
64545         * lib/ldexpl.c: Undo last change.
64546
64547 2007-04-03  Bruno Haible  <bruno@clisp.org>
64548
64549         * modules/printf-frexpl (Depends-on): Undo last change.
64550         (Files): Add m4/ldexpl.m4.
64551
64552 2007-04-03  Bruno Haible  <bruno@clisp.org>
64553
64554         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
64555         * modules/isnanl (Link): New section.
64556
64557         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
64558         * modules/frexp (Link): New section.
64559
64560         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
64561         * modules/frexpl (Link): New section.
64562
64563         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
64564         * modules/ldexpl (Link): New section.
64565
64566 2007-04-03  Bruno Haible  <bruno@clisp.org>
64567
64568         * modules/TEMPLATE-EXTENDED: New file.
64569         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
64570
64571 2007-04-03  Bruno Haible  <bruno@clisp.org>
64572
64573         * DEPENDENCIES: New file.
64574         Suggested by Simon Josefsson.
64575
64576 2007-04-03  Bruno Haible  <bruno@clisp.org>
64577
64578         * doc/gnulib.texi: Escape @.
64579
64580 2007-04-03  James Youngman  <jay@gnu.org>
64581         and Paul Eggert  <eggert@cs.ucla.edu>
64582
64583         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
64584         birthtime on all systems that have birthtime, not just those which
64585         use st_birthtimensec rather than st_birthtim.  Putting zero in
64586         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
64587         that the birth time is not available for files on an NFS mount.
64588
64589 2007-04-03  Simon Josefsson  <simon@josefsson.org>
64590
64591         * modules/memxor: Move back from crypto/, suggested by Bruno.
64592         * modules/crypto/hmac-sha1: Fix memxor dependency.
64593
64594         * modules/crypto/gc: Moved from ../.
64595
64596 2007-04-02  Eric Blake  <ebb9@byu.net>
64597
64598         * lib/ldexpl.c (includes): Avoid libm.
64599
64600         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
64601
64602 2007-04-02  Bruno Haible  <bruno@clisp.org>
64603
64604         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
64605         on IRIX.
64606
64607 2007-04-02  Bruno Haible  <bruno@clisp.org>
64608
64609         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
64610         x86 or x86_64 platforms running MacOS X.
64611         Reported by Ryan Schmidt <@ryandesign.com>.
64612
64613 2007-04-02  Bruno Haible  <bruno@clisp.org>
64614
64615         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
64616         i386.
64617
64618 2007-04-01  Simon Josefsson  <simon@josefsson.org>
64619
64620         * modules/crypto/arcfour: Moved from ../.
64621         * modules/crypto/arcfour-tests: Moved from ../.
64622         * modules/crypto/arctwo: Moved from ../.
64623         * modules/crypto/arctwo-tests: Moved from ../.
64624         * modules/crypto/des: Moved from ../.
64625         * modules/crypto/des-tests: Moved from ../.
64626         * modules/crypto/gc-arcfour: Moved from ../.
64627         * modules/crypto/gc-arcfour-tests: Moved from ../.
64628         * modules/crypto/gc-arctwo: Moved from ../.
64629         * modules/crypto/gc-arctwo-tests: Moved from ../.
64630         * modules/crypto/gc-des: Moved from ../.
64631         * modules/crypto/gc-des-tests: Moved from ../.
64632         * modules/crypto/gc-hmac-md5: Moved from ../.
64633         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
64634         * modules/crypto/gc-hmac-sha1: Moved from ../.
64635         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
64636         * modules/crypto/gc-md2: Moved from ../.
64637         * modules/crypto/gc-md2-tests: Moved from ../.
64638         * modules/crypto/gc-md4: Moved from ../.
64639         * modules/crypto/gc-md4-tests: Moved from ../.
64640         * modules/crypto/gc-md5: Moved from ../.
64641         * modules/crypto/gc-md5-tests: Moved from ../.
64642         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
64643         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
64644         * modules/crypto/gc-random: Moved from ../.
64645         * modules/crypto/gc-rijndael: Moved from ../.
64646         * modules/crypto/gc-rijndael-tests: Moved from ../.
64647         * modules/crypto/gc-sha1: Moved from ../.
64648         * modules/crypto/gc-sha1-tests: Moved from ../.
64649         * modules/crypto/gc-tests: Moved from ../.
64650         * modules/crypto/hmac-md5: Moved from ../.
64651         * modules/crypto/hmac-md5-tests: Moved from ../.
64652         * modules/crypto/hmac-sha1: Moved from ../.
64653         * modules/crypto/hmac-sha1-tests: Moved from ../.
64654         * modules/crypto/md2: Moved from ../.
64655         * modules/crypto/md2-tests: Moved from ../.
64656         * modules/crypto/md4: Moved from ../.
64657         * modules/crypto/md4-tests: Moved from ../.
64658         * modules/crypto/md5: Moved from ../.
64659         * modules/crypto/md5-tests: Moved from ../.
64660         * modules/crypto/memxor: Moved from ../.
64661         * modules/crypto/rijndael: Moved from ../.
64662         * modules/crypto/rijndael-tests: Moved from ../.
64663         * modules/crypto/sha1: Moved from ../.
64664
64665 2007-03-30  James Youngman  <jay@gnu.org>
64666
64667         * tests/test-stat-time.c (prepare_test): use chmod() rather than
64668         rename() to change the ctime of a file (because ctime is unaffected
64669         by rename on jfs2 on AIX 5.1).
64670         (main): Start by doing cleanup, in case a previous run failed leaving
64671         test files behind.
64672
64673 2007-03-31  Bruno Haible  <bruno@clisp.org>
64674
64675         Support old proprietary implementations of iconv.
64676         * modules/iconv_open: New file.
64677         * lib/iconv_.h: New file.
64678         * m4/iconv_h.m4: New file.
64679         * lib/iconv_open.c: New file.
64680         * lib/iconv_open-aix.gperf: New file.
64681         * lib/iconv_open-hpux.gperf: New file.
64682         * lib/iconv_open-irix.gperf: New file.
64683         * lib/iconv_open-osf.gperf: New file.
64684         * m4/iconv_open.m4: New file.
64685         * modules/linebreak (Depends-on): Add iconv_open.
64686         * modules/striconv (Depends-on): Likewise.
64687         * modules/striconveh (Depends-on): Likewise.
64688         * modules/unicodeio (Depends-on): Likewise.
64689         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
64690         (iconv_t)(-1).
64691         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
64692         conversion if cd is (iconv_t)(-1).
64693         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
64694         is not possible.
64695
64696 2007-03-31  Bruno Haible  <bruno@clisp.org>
64697
64698         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
64699         work on Solaris either. Protect also second use of "autodetect_jp".
64700
64701 2007-03-31  Bruno Haible  <bruno@clisp.org>
64702
64703         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
64704         the function is not present.
64705
64706 2007-03-31  Bruno Haible  <bruno@clisp.org>
64707
64708         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
64709         the function is not present.
64710
64711 2007-03-31  Bruno Haible  <bruno@clisp.org>
64712
64713         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
64714         a bug in HP-UX iconv_open().
64715
64716 2007-03-31  Bruno Haible  <bruno@clisp.org>
64717
64718         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
64719         (Mathematics <math.h>): New section, add fpieee.
64720         (Input/output <stdio.h>): Add fseterr.
64721         (Mathematics <math.h>): New section, add printf-frexp.
64722         (Container data structures): Add sublist.
64723         (Core language properties): Add fpucw, inline.
64724         (Functions for greatest-width integer types <inttypes.h>): Add
64725         imaxabs, imaxdiv, inttypes.
64726         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
64727         isnanl-nolibm, ldexp.
64728         (Mathematics <math.h>): New section, add printf-frexpl.
64729         (Support for systems lacking POSIX:2001): Add fprintf-posix,
64730         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
64731         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
64732         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
64733         (Unicode string functions): Add unistr/u*-mbtoucr.
64734         (Java): Add javacomp-script, javaexec-script.
64735         (C#): Add csharpcomp-script, csharpexec-script.
64736         (Support for building libraries and executables): Add havelib,
64737         relocatable-*.
64738         (Support for maintaining and releasing projects): Renamed from
64739         'Support for maintaining and release projects'. Add announce-gen.
64740
64741 2007-03-31  Bruno Haible  <bruno@clisp.org>
64742
64743         * README: Talk primarily about git.
64744         (git and CVS): Renamed from CVS.
64745         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
64746         gnulib is available through git.
64747         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
64748
64749 2007-03-30  Bruno Haible  <bruno@clisp.org>
64750
64751         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
64752         * lib/poll_.h: Likewise.
64753         * lib/stat_.h: Likewise.
64754         * lib/sys_time_.h: Likewise.
64755         * lib/sysexit_.h: Likewise.
64756         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
64757         * lib/stdbool_.h: Likewise.
64758         * lib/byteswap_.h: Add double-inclusion guard.
64759
64760 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
64761
64762         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
64763
64764 2007-03-30  Karl Berry  <karl@gnu.org>
64765
64766         * config/srclist-update: double space after USA in the license
64767         substitution, since that's how it's usually (?) written.
64768
64769 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
64770
64771         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
64772         reported by Bruno Haible.
64773
64774 2007-03-29  Bruno Haible  <bruno@clisp.org>
64775
64776         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
64777         a bug in AIX iconv().
64778
64779 2007-03-29  Bruno Haible  <bruno@clisp.org>
64780
64781         * modules/ldexpl-tests: New file.
64782         * tests/test-ldexpl.c: New file.
64783
64784 2007-03-29  Bruno Haible  <bruno@clisp.org>
64785
64786         * lib/ldexpl.c: Include fpucw.h.
64787         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
64788         multiplication.
64789         * modules/ldexpl (Depends-on): Add fpucw.
64790
64791 2007-03-29  Bruno Haible  <bruno@clisp.org>
64792
64793         * modules/ldexpl: New file.
64794         * m4/ldexpl.m4: New file.
64795         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
64796         set.
64797         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
64798         REPLACE_LDEXPL.
64799         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
64800         REPLACE_LDEXPL.
64801         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
64802         gl_FUNC_LDEXPL_WORKS.
64803         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
64804         * modules/mathl (Files): Remove lib/ldexpl.c.
64805         (Depends-on): Add ldexpl.
64806
64807 2007-03-29  Bruno Haible  <bruno@clisp.org>
64808
64809         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
64810
64811 2007-03-29  Bruno Haible  <bruno@clisp.org>
64812
64813         * tests/test-striconveh.c (main): Don't assume that a direct conversion
64814         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
64815         and possibly also HP-UX.
64816         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
64817         work on AIX, IRIX, HP-UX, OSF/1.
64818         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
64819         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
64820         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
64821         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
64822         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
64823         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
64824
64825 2007-03-29  Bruno Haible  <bruno@clisp.org>
64826
64827         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
64828
64829 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
64830
64831         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
64832         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
64833
64834 2007-03-29  Eric Blake  <ebb9@byu.net>
64835
64836         * lib/acl-internal.h: Remove redundant include.
64837         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
64838         Cygwin when a file is locked.
64839
64840 2007-03-29  Bruno Haible  <bruno@clisp.org>
64841
64842         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
64843         file.
64844         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
64845
64846 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
64847
64848         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
64849         try to remove a parent directory if the child couldn't be removed
64850         (except for the first rmdir, which could fail because the child
64851         doesn't exist).  Problem reported by Jeff Blaine in
64852         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
64853
64854 2007-03-28  Bruno Haible  <bruno@clisp.org>
64855
64856         * lib/striconveh.c (utf8conv_carefully): New function.
64857         (mem_cd_iconveh_internal): Invoke it.
64858
64859 2007-03-28  Bruno Haible  <bruno@clisp.org>
64860
64861         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
64862         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
64863         input.
64864         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
64865         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
64866         unistr/u8-uctomb.
64867
64868 2007-03-28  Bruno Haible  <bruno@clisp.org>
64869
64870         * modules/unistr/u8-mbtoucr: New file.
64871         * lib/unistr/u8-mbtoucr.c: New file.
64872         * modules/unistr/u16-mbtoucr: New file.
64873         * lib/unistr/u16-mbtoucr.c: New file.
64874         * modules/unistr/u16-mbtoucr: New file.
64875         * lib/unistr/u16-mbtoucr.c: New file.
64876         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
64877
64878 2007-03-27  Simon Josefsson  <simon@josefsson.org>
64879             Bruno Haible  <bruno@clisp.org>
64880
64881         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
64882         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
64883         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
64884
64885         * m4/stdio_h.m4: Add stubs for vasprintf too.
64886
64887         * modules/stdio: Support vasprintf in sed command.
64888
64889         * modules/vasprintf: Depend on stdio for prototypes.  Remove
64890         vasprintf.h.  Add stdio module indicator.
64891
64892         * lib/stdio_.h: Declare asprintf and vasprintf, based on
64893         vasprintf.h.
64894
64895         * lib/vasprintf.h: File removed.
64896
64897         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
64898         * lib/vasprintf.c: Ditto.
64899         * lib/xvasprintf.c: Ditto.
64900         * tests/test-vasprintf-posix.c: Ditto.
64901         * tests/test-vasprintf.c: Ditto.
64902
64903 2007-03-27  Bruno Haible  <bruno@clisp.org>
64904
64905         Make vasnprintf multithread-safe.
64906         * lib/vasnprintf.c (decimal_point_char): New function.
64907         (VASNPRINTF): Use it.
64908         Suggested by Simon Josefsson.
64909
64910 2007-03-27  Eric Blake  <ebb9@byu.net>
64911
64912         Support sub-second birthtime on cygwin.
64913         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
64914         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
64915         (get_stat_birthtime): Also work with st_birthtim.
64916
64917 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
64918
64919         * lib/stat-time.h (USE_BIRTHTIME): Remove.
64920         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
64921         (get_stat_birthtime_ns): Do not try to use "spare" fields.
64922         (get_stat_birthtime_ns): Simplify compile-time tests.
64923         (get_stat_birthtime): Change the API to look like
64924         get_stat_mtime etc., except return a negative tv_nsec on error.
64925         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
64926         Don't check for "spare" fields.
64927         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
64928         or for struct stat.st_birthtime, as these tests aren't used.
64929         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
64930
64931 2007-03-27  Bruno Haible  <bruno@clisp.org>
64932
64933         * lib/stat-time.h: Include <sys/stat.h>.
64934
64935 2007-03-27  James Youngman  <jay@gnu.org>
64936
64937         * lib/stat-time.h (get_stat_birthtime): New function for
64938           retrieving st_birthtime as provided by UFS2 (hence *BSD).
64939         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
64940           and its variants.
64941         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
64942         * modules/stat-time-test: New file.
64943         * tests/test-stat-time.c: New test, devised by Bruno Haible.
64944
64945 2007-03-26  Bruno Haible  <bruno@clisp.org>
64946
64947         Better support of signalling NaNs.
64948         * lib/atanl.c: Include isnanl.h.
64949         (atanl): Perform test for NaN at the beginning of the function and
64950         through a call to isnanl.
64951         * lib/cosl.c: Include isnanl.h.
64952         (cosl): Perform test for NaN at the beginning of the function and
64953         through a call to isnanl.
64954         * lib/ldexpl.c: Include isnanl.h.
64955         (ldexpl): Perform test for NaN through a call to isnanl.
64956         * lib/logl.c: Include isnanl.h.
64957         (logl): Perform test for NaN at the beginning of the function and
64958         through a call to isnanl.
64959         * lib/sinl.c: Include isnanl.h.
64960         (sinl): Perform test for NaN at the beginning of the function and
64961         through a call to isnanl.
64962         * lib/sqrtl.c: Include isnanl.h.
64963         (sqrtl): Perform test for NaN at the beginning of the function and
64964         through a call to isnanl.
64965         * lib/tanl.c: Include isnanl.h.
64966         (tanl): Perform test for NaN at the beginning of the function and
64967         through a call to isnanl.
64968         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
64969         * modules/mathl (Depends-on): Add isnanl.
64970
64971 2007-03-26  Eric Blake  <ebb9@byu.net>
64972
64973         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
64974         regression in logic sense of previous patch.
64975
64976 2007-03-26  Bruno Haible  <bruno@clisp.org>
64977
64978         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
64979         unportable shell command "if ! ...".
64980         Reported by Ralf Wildenhues.
64981
64982 2007-03-25  Bruno Haible  <bruno@clisp.org>
64983
64984         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
64985         <sysexits.h> file, and only add EX_CONFIG.
64986         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
64987         absolute file name and whether it is sufficient. Substitute also
64988         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
64989         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
64990         ABSOLUTE_SYSEXITS_H into sysexits.h.
64991
64992 2007-03-25  Bruno Haible  <bruno@clisp.org>
64993
64994         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
64995         hints is NULL.
64996
64997 2007-03-25  Bruno Haible  <bruno@clisp.org>
64998
64999         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
65000         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
65001
65002 2007-03-25  Bruno Haible  <bruno@clisp.org>
65003
65004         * lib/vasnprintf.c: Include langinfo.h.
65005         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
65006         multithread-safe.
65007         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
65008         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
65009         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
65010         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
65011         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
65012         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
65013         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
65014         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
65015         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
65016         Reported by Simon Josefsson.
65017
65018 2007-03-25  Bruno Haible  <bruno@clisp.org>
65019
65020         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
65021         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
65022         * modules/vasnprintf (Depends-on): Add stdint.
65023
65024 2007-03-25  Bruno Haible  <bruno@clisp.org>
65025
65026         * modules/fpieee: New file.
65027         * m4/fpieee.m4: New file.
65028         * modules/isnan-nolibm (Depends-on): Add fpieee.
65029         * modules/isnanl-nolibm (Depends-on): Add fpieee.
65030         * modules/isnanl (Depends-on): Add fpieee.
65031
65032 2007-03-25  Bruno Haible  <bruno@clisp.org>
65033
65034         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
65035
65036 2007-03-25  Bruno Haible  <bruno@clisp.org>
65037
65038         Avoid test failures on IRIX 6.5.
65039         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
65040         (main): Use it.
65041         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
65042         macros.
65043         (main): Use them.
65044
65045 2007-03-25  Bruno Haible  <bruno@clisp.org>
65046
65047         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
65048         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
65049         exists but doesn't work.
65050         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
65051         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
65052         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
65053         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
65054         math.h.
65055
65056 2007-03-25  Bruno Haible  <bruno@clisp.org>
65057
65058         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
65059         returns inf. Needed on IRIX 6.5.
65060
65061 2007-03-25  Bruno Haible  <bruno@clisp.org>
65062
65063         * tests/test-frexpl.c: Include isnanl-nolibm.h.
65064         (main): Use isnanl instead of x != x idiom.
65065         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
65066
65067         * tests/test-frexp.c: Include isnan.h.
65068         (main): Use isnan instead of x != x idiom.
65069         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
65070
65071 2007-03-25  Bruno Haible  <bruno@clisp.org>
65072
65073         * tests/test-frexp.c (NaN): New function/macro.
65074         (main): Use it instead of 0.0 / 0.0.
65075         * tests/test-isnan.c (NaN): New function/macro.
65076         (main): Use it instead of 0.0 / 0.0.
65077         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
65078         (test_function): Use it instead of 0.0 / 0.0.
65079         * tests/test-vasprintf-posix.c (NaN): New function/macro.
65080         (test_function): Use it instead of 0.0 / 0.0.
65081         * tests/test-snprintf-posix.h (NaN): New function/macro.
65082         (test_function): Use it instead of 0.0 / 0.0.
65083         * tests/test-sprintf-posix.h (NaN): New function/macro.
65084         (test_function): Use it instead of 0.0 / 0.0.
65085         * tests/test-fprintf-posix.h (NaN): New function/macro.
65086         (test_function): Use it instead of 0.0 / 0.0.
65087         * tests/test-printf-posix.h (NaN): New function/macro.
65088         (test_function): Use it instead of 0.0 / 0.0.
65089
65090         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
65091
65092 2007-03-25  Bruno Haible  <bruno@clisp.org>
65093
65094         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
65095
65096 2007-03-25  Bruno Haible  <bruno@clisp.org>
65097
65098         * lib/regexec.c (merge_state_with_log): Make static.
65099
65100 2007-03-25  Bruno Haible  <bruno@clisp.org>
65101
65102         * lib/trigl.c (kernel_rem_pio2): Make static.
65103
65104 2007-03-25  Bruno Haible  <bruno@clisp.org>
65105
65106         * lib/sincosl.c (sincosl_table): Make static.
65107
65108 2007-03-25  Bruno Haible  <bruno@clisp.org>
65109
65110         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
65111         if the compiler does not support C99.
65112
65113 2007-03-25  Bruno Haible  <bruno@clisp.org>
65114
65115         * modules/time (Makefile.am): Ensure all rule action lines start with a
65116         tab.
65117
65118 2007-03-24  Bruno Haible  <bruno@clisp.org>
65119
65120         * modules/tsearch-tests: New file.
65121         * tests/test-tsearch.sh: New file.
65122         * tests/test-tsearch.c: New file, mostly copied from glibc.
65123
65124         * modules/search-tests: New file.
65125         * tests/test-search.c: New file.
65126
65127         * modules/search: New file.
65128         * lib/search_.h: New file, incorporating lib/tsearch.h.
65129         * m4/search_h.m4: New file.
65130         * lib/tsearch.h: Remove file.
65131         * lib/tsearch.c: Include search.h instead of tsearch.h.
65132         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
65133         HAVE_TSEARCH.
65134         * modules/tsearch (Files): Remove lib/tsearch.h.
65135         (Depends-on): Add search.
65136         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
65137         (Include): Change tsearch.h into search.h.
65138
65139 2007-03-24  Bruno Haible  <bruno@clisp.org>
65140
65141         * modules/fpucw: New file.
65142         * lib/fpucw.h: New file.
65143         * lib/frexp.c: Include fpucw.h.
65144         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
65145         (FUNC): Use them.
65146         * lib/printf-frexp.c: Include fpucw.h.
65147         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
65148         (FUNC): Use them.
65149         * lib/vasnprintf.c: Include fpucw.h.
65150         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
65151         'long double' calculations.
65152         * tests/test-frexpl.c: Include fpucw.h.
65153         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
65154         * tests/test-printf-frexpl.c: Include fpucw.h.
65155         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
65156         * modules/frexpl (Depends-on): Add fpucw.
65157         * modules/printf-frexpl (Depends-on): Likewise.
65158         * modules/fprintf-posix (Depends-on): Likewise.
65159         * modules/snprintf-posix (Depends-on): Likewise.
65160         * modules/sprintf-posix (Depends-on): Likewise.
65161         * modules/vasnprintf-posix (Depends-on): Likewise.
65162         * modules/vasprintf-posix (Depends-on): Likewise.
65163         * modules/vfprintf-posix (Depends-on): Likewise.
65164         * modules/vsnprintf-posix (Depends-on): Likewise.
65165         * modules/vsprintf-posix (Depends-on): Likewise.
65166         * modules/frexpl-tests (Depends-on): Likewise.
65167         * modules/printf-frexpl-tests (Depends-on): Likewise.
65168
65169 2007-03-24  Bruno Haible  <bruno@clisp.org>
65170
65171         * lib/float+.h: New file.
65172         * lib/isnan.c: Include float+.h.
65173         (SIZE): New macro.
65174         (FUNC): Compare only SIZE bytes of the value.
65175         * lib/vasnprintf.c: Include float+.h.
65176         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
65177         SIZEOF_LDBL or SIZEOF_DBL bytes.
65178         * modules/isnan-nolibm (Files): Add lib/float+.h.
65179         * modules/isnanl-nolibm (Files): Add lib/float+.h.
65180         * modules/isnanl (Files): Add lib/float+.h.
65181         * modules/vasnprintf (Files): Add lib/float+.h.
65182
65183 2007-03-24  Bruno Haible  <bruno@clisp.org>
65184
65185         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
65186         include isnanl-nolibm.h.
65187
65188 2007-03-24  Bruno Haible  <bruno@clisp.org>
65189
65190         * tests/test-read-file.c (main): Don't produce spurious output for
65191         expected situations. Make the test fail if it encountered unexpected
65192         results.
65193
65194 2007-03-24  Bruno Haible  <bruno@clisp.org>
65195
65196         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
65197         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
65198
65199 2007-03-24  Bruno Haible  <bruno@clisp.org>
65200
65201         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
65202
65203 2007-03-24  Bruno Haible  <bruno@clisp.org>
65204
65205         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
65206         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
65207
65208         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
65209         * modules/utf8-ucs4: Turn into a symbolic link to module
65210         unistr/u8-mbtouc.
65211
65212         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
65213         utf8-ucs4-unsafe.
65214         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
65215         unistr/u8-mbtouc-unsafe.
65216
65217         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
65218         * modules/utf16-ucs4: Turn into a symbolic link to module
65219         unistr/u16-mbtouc.
65220
65221         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
65222         utf16-ucs4-unsafe.
65223         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
65224         unistr/u16-mbtouc-unsafe.
65225
65226         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
65227         * modules/ucs4-utf8: Turn into a symbolic link to module
65228         unistr/u8-ubtomb.
65229
65230         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
65231         * modules/ucs4-utf16: Turn into a symbolic link to module
65232         unistr/u16-ubtomb.
65233
65234 2007-03-24  Bruno Haible  <bruno@clisp.org>
65235
65236         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
65237         Enable the function only if HAVE_INLINE.
65238         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
65239         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
65240         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
65241         Enable the function only if HAVE_INLINE.
65242         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
65243         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
65244         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
65245         Enable the function only if HAVE_INLINE.
65246         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
65247         Enable the function only if HAVE_INLINE.
65248         * modules/utf8-ucs4: Update.
65249         * modules/utf8-ucs4-unsafe: Update.
65250         * modules/utf16-ucs4: Update.
65251         * modules/utf16-ucs4-unsafe: Update.
65252         * modules/ucs4-utf8: Update.
65253         * modules/ucs4-utf16: Update.
65254
65255 2007-03-24  Bruno Haible  <bruno@clisp.org>
65256
65257         * lib/utf8-ucs4.h: Remove file.
65258         * lib/utf8-ucs4-unsafe.h: Remove file.
65259         * lib/utf16-ucs4.h: Remove file.
65260         * lib/utf16-ucs4-unsafe.h: Remove file.
65261         * lib/ucs4-utf8.h: Remove file.
65262         * lib/ucs4-utf16.h: Remove file.
65263         * lib/unistr.h: Include their previous contents.
65264         * m4/utf-ucs4.m4: Remove file.
65265         * m4/ucs4-utf.m4: Remove file.
65266         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
65267         (Depends-on): Add unistr/base.
65268         (configure.ac): Remove gl_UTF_UCS4.
65269         (Makefile.am): Update.
65270         (Include): Change to unistr.h.
65271         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
65272         (Depends-on): Add unistr/base.
65273         (configure.ac): Remove gl_UTF_UCS4.
65274         (Makefile.am): Update.
65275         (Include): Change to unistr.h.
65276         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
65277         (Depends-on): Add unistr/base.
65278         (configure.ac): Remove gl_UTF_UCS4.
65279         (Makefile.am): Update.
65280         (Include): Change to unistr.h.
65281         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
65282         (Depends-on): Add unistr/base.
65283         (configure.ac): Remove gl_UTF_UCS4.
65284         (Makefile.am): Update.
65285         (Include): Change to unistr.h.
65286         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
65287         (Depends-on): Add unistr/base.
65288         (configure.ac): Remove gl_UCS4_UTF.
65289         (Makefile.am): Update.
65290         (Include): Change to unistr.h.
65291         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
65292         (Depends-on): Add unistr/base.
65293         (configure.ac): Remove gl_UCS4_UTF.
65294         (Makefile.am): Update.
65295         (Include): Change to unistr.h.
65296         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
65297         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
65298         utf8-ucs4-unsafe.h.
65299         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
65300         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
65301         utf16-ucs4-unsafe.h.
65302         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
65303         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
65304         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
65305         * lib/unistr/u8-strchr.c: Likewise.
65306         * lib/unistr/u8-strrchr.c: Likewise.
65307         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
65308         * lib/unistr/u16-strchr.c: Likewise.
65309         * lib/unistr/u16-strrchr.c: Likewise.
65310         * lib/striconveh.c: Update.
65311         * lib/linebreak.c: Update.
65312
65313 2007-03-24  Bruno Haible  <bruno@clisp.org>
65314
65315         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
65316         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
65317
65318 2007-03-22  Bruno Haible  <bruno@clisp.org>
65319
65320         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
65321
65322 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
65323
65324         * MODULES.html.sh (File system functions): New module write-any-file.
65325         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
65326         * m4/write-any-file.m4: New files.
65327
65328 2007-03-23  Eric Blake  <ebb9@byu.net>
65329
65330         * gnulib-tool: Rearrange space-tab sequences, since some editors
65331         like to eat them.
65332
65333 2007-03-23  Eric Blake  <ebb9@byu.net>
65334
65335         * lib/version-etc.c (version_etc_va): Update license wording to
65336         be more concise.  Recommended by Richard Stallman.
65337
65338 2007-03-22  Bruno Haible  <bruno@clisp.org>
65339
65340         * lib/poll.c (MSG_PEEK): New fallback definition.
65341
65342 2007-03-22  Bruno Haible  <bruno@clisp.org>
65343
65344         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
65345         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
65346         (main): Update.
65347         Fixes a compilation error on BeOS.
65348
65349 2007-03-22  Bruno Haible  <bruno@clisp.org>
65350
65351         * modules/frexpl-tests: New file.
65352         * tests/test-frexpl.c: New file.
65353
65354         * modules/frexpl: New file.
65355         * m4/frexpl.m4: New file.
65356         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
65357         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
65358         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
65359         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
65360         (Depends-on): Add frexpl. Remove isnanl-nolibm.
65361         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
65362
65363 2007-03-22  Bruno Haible  <bruno@clisp.org>
65364
65365         * lib/frexpl.c: Share code with lib/frexp.c.
65366         * modules/mathl (Files): Add lib/frexp.c.
65367         (Depends-on): Add isnanl-nolibm.
65368
65369 2007-03-22  Bruno Haible  <bruno@clisp.org>
65370
65371         * modules/printf-frexp (Files): Add m4/frexp.m4.
65372         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
65373         only if the found frexp function actually works.
65374
65375 2007-03-22  Bruno Haible  <bruno@clisp.org>
65376
65377         * lib/frexp.c: Remove older implementation that uses divisions.
65378
65379 2007-03-21  Bruno Haible  <bruno@clisp.org>
65380
65381         * modules/frexp-tests: New file.
65382         * tests/test-frexp.c: New file.
65383
65384         * modules/frexp: New file.
65385         * lib/frexp.c: New file.
65386         * m4/frexp.m4: New file.
65387         * lib/math_.h (frexp): New declaration.
65388         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
65389         REPLACE_FREXP.
65390         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
65391
65392 2007-03-21  Bruno Haible  <bruno@clisp.org>
65393
65394         * modules/isnanl-tests: New file.
65395         * tests/test-isnanl.c: New file.
65396
65397         * modules/isnanl: New file.
65398         * lib/isnanl.h: New file.
65399         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
65400         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
65401         gl_FUNC_ISNANL_WORKS.
65402         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
65403         New macros.
65404
65405 2007-03-21  Bruno Haible  <bruno@clisp.org>
65406
65407         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
65408         lib/isnanl.h.
65409         (Include): Update.
65410         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
65411         * lib/vasnprintf.c: Update.
65412         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
65413         tests/test-isnanl.h, remove tests/test-isnanl.c.
65414         (Makefile.am): Update.
65415         * tests/test-isnanl-nolibm.c: New file.
65416         * tests/test-isnanl.h: New file.
65417         * tests/test-isnanl.c: Remove file.
65418
65419 2007-03-21  Jim Meyering  <jim@meyering.net>
65420
65421         When trying to open ".", treat ESTALE like EACCES.
65422         * lib/savewd.c (savewd_save): Resort to forking not just upon
65423         failure with EACCES, but also when errno is ESTALE.
65424
65425 2007-03-20  Bruno Haible  <bruno@clisp.org>
65426
65427         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
65428         Needed on AIX 5.1. Reported by Matthew Woehlke.
65429
65430 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
65431
65432         Suggestions by Bruno Haible:
65433         * lib/acl-internal.h: Include "gettext.h" rather than rolling
65434         our own.
65435         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
65436         * modules/acl (Depends-on): Add gettext.
65437
65438 2007-03-19  Bruno Haible  <bruno@clisp.org>
65439
65440         * modules/iconvme: Remove file.
65441         * lib/iconvme.h: Remove file.
65442         * lib/iconvme.c: Remove file.
65443         * m4/iconvme.m4: Remove file.
65444
65445 2007-03-19  Bruno Haible  <bruno@clisp.org>
65446
65447         * doc/relocatable-maint.texi: Break long shell script line.
65448         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
65449
65450 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
65451
65452         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
65453         handle file_has_acl.
65454         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
65455         * lib/acl.c: Move header inclusions and related macro defns into
65456         lib/acl-internal.h.
65457         (S_ISLNK): Remove defn, since that's now done for us.
65458         (file_has_acl): Move to lib/file-has-acl.c.
65459         Call acl_trivial if available.  This is the crucial part of the fix.
65460         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
65461         shared within the library.  Rewrite a bit, partly to make it compatible
65462         with the GNU coding style.
65463         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
65464         Remove unnecessary double-quotes.
65465         Don't test for acl_to_text; the build will catch that.
65466         Replace acl_entries if it doesn't exist and it is needed.
65467         Check for -lsec and acl_trivial (as used on Solaris 10).
65468         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
65469         lib/file-has-acl.c.
65470         (Depends-on): Add sys_stat, for S_ISLNK.
65471
65472 2007-03-19  Ben Pfaff  <blp@gnu.org>
65473
65474         * doc/gnulib.texi: Fix typos.
65475         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
65476
65477 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
65478
65479         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
65480         If size is zero here, buf must be zero.
65481
65482 2007-03-19  Simon Josefsson  <simon@josefsson.org>
65483
65484         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
65485         <bruno@clisp.org>.
65486
65487 2007-03-18  Bruno Haible  <bruno@clisp.org>
65488
65489         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
65490         Suggested by Eric Blake.
65491
65492 2007-03-18  Ben Pfaff  <blp@gnu.org>
65493
65494         * doc/relocatable.texi: Recommend using as prefix a directory
65495         that does not exist and will never be created.  Based on
65496         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
65497         and others.
65498
65499 2007-03-17  Bruno Haible  <bruno@clisp.org>
65500
65501         * lib/fchownat.c: Include lchown.h.
65502
65503 2007-03-17  Bruno Haible  <bruno@clisp.org>
65504
65505         Fix endless loop when the given allocated size was > INT_MAX.
65506         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
65507         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
65508         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
65509         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
65510         * lib/sprintf.c (sprintf): Likewise.
65511
65512 2007-03-17  Bruno Haible  <bruno@clisp.org>
65513
65514         * tests/test-argp-2.sh (func_compare): Output a context diff.
65515
65516 2007-03-17  Bruno Haible  <bruno@clisp.org>
65517
65518         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
65519         locale's decimal-point character.
65520
65521 2007-03-17  Bruno Haible  <bruno@clisp.org>
65522
65523         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
65524         before comparing it. Needed because on some platforms (e.g. x86) a
65525         'long double' occupies less bytes than sizeof (long double).
65526
65527 2007-03-17  Bruno Haible  <bruno@clisp.org>
65528
65529         * tests/test-crc.c (main): Make printf statements 64-bit clean.
65530         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
65531         * tests/test-getaddrinfo.c (simple): Likewise.
65532         * tests/test-read-file.c (main): Likewise.
65533
65534 2007-03-17  Bruno Haible  <bruno@clisp.org>
65535
65536         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
65537
65538 2007-03-17  Bruno Haible  <bruno@clisp.org>
65539
65540         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
65541         unused variable.
65542
65543 2007-03-17  Bruno Haible  <bruno@clisp.org>
65544
65545         * tests/test-c-strcasecmp.c: Include c-strcase.h.
65546         * tests/test-c-strncasecmp.c: Likewise.
65547
65548 2007-03-17  Bruno Haible  <bruno@clisp.org>
65549
65550         * modules/stdlib (Depends-on): Add unistd.
65551         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
65552         Needed for MacOS X 10.3.
65553
65554 2007-03-17  Bruno Haible  <bruno@clisp.org>
65555
65556         * lib/unistr/u-strdup.h: Include <stdlib.h>.
65557
65558 2007-03-17  Bruno Haible  <bruno@clisp.org>
65559
65560         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
65561
65562 2007-03-17  Bruno Haible  <bruno@clisp.org>
65563
65564         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
65565         to reflect files copied from gnulib (with or without modifications).
65566         Suggested by Jim Meyering.
65567
65568 2007-03-17  Eric Blake  <ebb9@byu.net>
65569
65570         * NEWS: Document stdlib change from 2007-02-18.
65571
65572 2007-03-17  Jim Meyering  <jim@meyering.net>
65573
65574         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
65575         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
65576         someone uses a name containing shell meta-characters.
65577         Reported by Alfred M. Szmidt.
65578
65579         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
65580
65581 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
65582
65583         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
65584         and copy gettext configuration files only if configure.ac contains
65585         a use of AM_GNU_GETTEXT_VERSION.
65586
65587 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
65588
65589         * build-aux/bootstrap (gnulib_name): New variable.
65590         (gnulib_tool_options): Use it.
65591
65592 2007-03-13  Simon Josefsson  <simon@josefsson.org>
65593
65594         * tests/test-des.c: Use new namespace.
65595
65596 2007-03-15  Bruno Haible  <bruno@clisp.org>
65597
65598         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
65599         Reported by James Youngman <jay@gnu.org>.
65600
65601 2007-03-15  Bruno Haible  <bruno@clisp.org>
65602
65603         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
65604         declared prototype. Needed with cc on OSF/1 5.1.
65605
65606 2007-03-15  Bruno Haible  <bruno@clisp.org>
65607
65608         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
65609         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
65610         (struct gl_list_implementation): Add dispose_fn argument to the
65611         'create_empty', 'create' methods.
65612         (struct gl_list_impl_base): Add field 'dispose_fn'.
65613         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
65614         argument.
65615         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
65616         dispose_fn argument.
65617         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
65618         dispose_fn on the dropped values.
65619         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
65620         dispose_fn argument.
65621         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
65622         dropped values.
65623         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
65624         (gl_tree_remove_node): Call dispose_fn on the dropped value.
65625         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
65626         (gl_tree_remove_node): Call dispose_fn on the dropped value.
65627         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
65628         argument.
65629         (gl_tree_list_free): Call dispose_fn on the dropped values.
65630         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
65631         the dropped values.
65632         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
65633         Add dispose_fn argument.
65634         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
65635         Call dispose_fn on the dropped values.
65636         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
65637         Add dispose_fn argument.
65638         (gl_sublist_create): Initialize the 'dispose_fn' field.
65639         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
65640         * tests/test-array_list.c (main): Update.
65641         * tests/test-carray_list.c (main): Update.
65642         * tests/test-avltree_list.c (main): Update.
65643         * tests/test-rbtree_list.c (main): Update.
65644         * tests/test-avltreehash_list.c (main): Update.
65645         * tests/test-rbtreehash_list.c (main): Update.
65646         * tests/test-linked_list.c (main): Update.
65647         * tests/test-linkedhash_list.c (main): Update.
65648         * tests/test-array_oset.c (main): Update.
65649
65650 2007-03-15  Bruno Haible  <bruno@clisp.org>
65651
65652         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
65653         (gl_oset_create_empty): Add dispose_fn argument.
65654         (struct gl_oset_implementation): Add dispose_fn argument to
65655         'create_empty' method.
65656         (struct gl_oset_impl_base): Add dispose_fn field.
65657         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
65658         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
65659         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
65660         values.
65661         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
65662         (gl_tree_oset_free): Call dispose_fn on the dropped values.
65663         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
65664         dropped value.
65665         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
65666         dropped value.
65667         * tests/test-array_oset.c (main): Update.
65668         * tests/test-avltree_oset.c (main): Update.
65669         * tests/test-rbtree_oset.c (main): Update.
65670         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
65671
65672 2007-03-13  Bruno Haible  <bruno@clisp.org>
65673
65674         * tests/test-stdbool.c (i): Update after last patch.
65675
65676 2007-03-12  Bruno Haible  <bruno@clisp.org>
65677
65678         * lib/quotearg.c: Include <wctype.h> early, before the definition of
65679         the iswprint macro. Needed on Solaris 2.5.1.
65680
65681 2007-03-12  Bruno Haible  <bruno@clisp.org>
65682
65683         * tests/test-printf-frexp.c (main): Declare x as volatile.
65684
65685 2007-03-12  Simon Josefsson  <simon@josefsson.org>
65686
65687         * doc/gnulib.texi (Build robot for gnulib): New section.
65688
65689 2007-03-12  Jim Meyering  <jim@meyering.net>
65690
65691         * build-aux/bootstrap: New file.
65692         * build-aux/bootstrap.conf: New file, from coreutils.
65693
65694 2007-03-11  Bruno Haible  <bruno@clisp.org>
65695
65696         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
65697
65698 2007-03-12  Simon Josefsson  <simon@josefsson.org>
65699
65700         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
65701         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
65702         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
65703
65704 2007-03-11  Bruno Haible  <bruno@clisp.org>
65705
65706         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
65707         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
65708
65709 2007-03-11  Bruno Haible  <bruno@clisp.org>
65710
65711         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
65712         formula. Needed for SunPRO C 5.0.
65713
65714 2007-03-11  Bruno Haible  <bruno@clisp.org>
65715
65716         * modules/long-options (Depends-on): Add getopt.
65717
65718 2007-03-11  Bruno Haible  <bruno@clisp.org>
65719
65720         * modules/modechange (Depends-on): Add stdbool.
65721
65722 2007-03-11  Bruno Haible  <bruno@clisp.org>
65723
65724         * modules/i-ring (Depends-on): Add stdbool.
65725
65726 2007-03-11  Bruno Haible  <bruno@clisp.org>
65727
65728         * modules/gc-des (Depends-on): Add stdbool.
65729
65730 2007-03-11  Bruno Haible  <bruno@clisp.org>
65731
65732         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
65733
65734 2007-03-11  Bruno Haible  <bruno@clisp.org>
65735
65736         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
65737
65738 2007-03-11  Bruno Haible  <bruno@clisp.org>
65739
65740         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
65741
65742 2007-03-11  Bruno Haible  <bruno@clisp.org>
65743
65744         * lib/vasnprintf.c (sprintf): Undefine.
65745
65746 2007-03-11  Bruno Haible  <bruno@clisp.org>
65747
65748         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
65749         initializers in SunPRO C and Compaq C compilers.
65750
65751 2007-03-11  Bruno Haible  <bruno@clisp.org>
65752
65753         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
65754         decrementing code ANSI C compliant.
65755
65756 2007-03-11  Bruno Haible  <bruno@clisp.org>
65757
65758         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
65759         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
65760
65761 2007-03-11  Bruno Haible  <bruno@clisp.org>
65762
65763         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
65764         <stdbool.h> substitute doesn't pass.
65765
65766 2007-03-11  Bruno Haible  <bruno@clisp.org>
65767
65768         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
65769
65770 2007-03-11  Bruno Haible  <bruno@clisp.org>
65771
65772         * gnulib-tool (func_create_megatestdir): Create also an autobuild
65773         script, for submission to autobuild.josefsson.org.
65774
65775 2007-03-10  Bruno Haible  <bruno@clisp.org>
65776
65777         * modules/canonicalize-lgpl-tests: New file.
65778         * tests/test-canonicalize-lgpl.sh: New file.
65779         * tests/test-canonicalize-lgpl.c: New file.
65780
65781         * modules/c-strcase-tests: New file.
65782         * tests/test-c-strcase.sh: New file.
65783         * tests/test-c-strcasecmp.c: New file.
65784         * tests/test-c-strncasecmp.c: New file.
65785
65786         * modules/atexit-tests: New file.
65787         * tests/test-atexit.sh: New file.
65788         * tests/test-atexit.c: New file.
65789
65790 2007-03-10  Bruno Haible  <bruno@clisp.org>
65791
65792         * tests/test-binary-io.sh: Use temporary filenames that are not so
65793         likely to clash with those of other tests (in a parallel make).
65794         * tests/test-binary-io.c: Likewise.
65795
65796 2007-03-10  Bruno Haible  <bruno@clisp.org>
65797
65798         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
65799         fallback; use #error instead.
65800         Suggested by Simon Josefsson.
65801
65802 2007-03-10  Bruno Haible  <bruno@clisp.org>
65803
65804         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
65805         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
65806         first and the last.
65807
65808 2007-03-10  Bruno Haible  <bruno@clisp.org>
65809
65810         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
65811
65812 2007-03-10  Bruno Haible  <bruno@clisp.org>
65813
65814         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
65815         "make distcheck".
65816         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
65817         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
65818         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
65819
65820 2007-03-10  Bruno Haible  <bruno@clisp.org>
65821
65822         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
65823         variable.
65824         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
65825         variable.
65826
65827 2007-03-09  Eric Blake  <ebb9@byu.net>
65828         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
65829
65830         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
65831         types are not being provided by gnulib.
65832         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
65833         types are supported.
65834
65835 2007-03-10  Bruno Haible  <bruno@clisp.org>
65836
65837         * lib/stdio_.h (__attribute__): New macro.
65838         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
65839         vsprintf): Specify __attribute__ __format__ for GCC.
65840         Suggested by Eric Blake.
65841
65842 2007-03-09  Bruno Haible  <bruno@clisp.org>
65843
65844         * modules/printf-posix-tests: New file.
65845         * tests/test-printf-posix.sh: New file.
65846         * tests/test-printf-posix.c: New file.
65847
65848         * modules/printf-posix: New file.
65849         * lib/printf.c: New file.
65850         * m4/printf-posix-rpl.m4: New file.
65851         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
65852         REPLACE_PRINTF.
65853         * lib/stdio_.h (printf): New declaration.
65854         (format, __format__, ____printf____, ____scanf____, ____strftime____,
65855         ____strfmon____): New macros.
65856         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
65857         REPLACE_PRINTF.
65858
65859 2007-03-09  Bruno Haible  <bruno@clisp.org>
65860
65861         * tests/test-vasnprintf-posix2.sh: New file.
65862         * tests/test-vasnprintf-posix2.c: New file.
65863         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
65864         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
65865         (Makefile.am): Activate test-vasnprintf-posix2.sh.
65866
65867         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
65868         a locale dependent decimal point, rather than always '.'.
65869
65870 2007-03-09  Eric Blake  <ebb9@byu.net>
65871
65872         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
65873         spite of platforms like Tandem/NSK that define it to -1.
65874
65875 2007-03-08  Bruno Haible  <bruno@clisp.org>
65876
65877         * modules/vprintf-posix-tests: New file.
65878         * tests/test-vprintf-posix.sh: New file.
65879         * tests/test-vprintf-posix.c: New file.
65880         * tests/test-printf-posix.h: New file.
65881
65882         * modules/vprintf-posix: New file.
65883         * lib/vprintf.c: New file.
65884         * m4/vprintf-posix.m4: New file.
65885         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
65886         REPLACE_VPRINTF.
65887         * lib/stdio_.h (vprintf): New declaration.
65888         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
65889         REPLACE_VPRINTF.
65890
65891 2007-03-08  Bruno Haible  <bruno@clisp.org>
65892
65893         * modules/fprintf-posix-tests: New file.
65894         * tests/test-fprintf-posix.sh: New file.
65895         * tests/test-fprintf-posix.c: New file.
65896
65897         * modules/fprintf-posix: New file.
65898         * lib/fprintf.c: New file.
65899         * m4/fprintf-posix.m4: New file.
65900         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
65901         REPLACE_FPRINTF.
65902         * lib/stdio_.h (fprintf): New declaration.
65903         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
65904         REPLACE_FPRINTF.
65905
65906 2007-03-08  Bruno Haible  <bruno@clisp.org>
65907
65908         * modules/vfprintf-posix-tests: New file.
65909         * tests/test-vfprintf-posix.sh: New file.
65910         * tests/test-vfprintf-posix.c: New file.
65911         * tests/test-fprintf-posix.h: New file.
65912         * tests/test-fprintf-posix.out: New file.
65913
65914         * modules/vfprintf-posix: New file.
65915         * lib/vfprintf.c: New file.
65916         * m4/vfprintf-posix.m4: New file.
65917         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
65918         REPLACE_VFPRINTF.
65919         * lib/stdio_.h (vfprintf): New declaration.
65920         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
65921         REPLACE_VFPRINTF.
65922
65923 2007-03-08  Bruno Haible  <bruno@clisp.org>
65924
65925         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
65926
65927 2007-03-08  Bruno Haible  <bruno@clisp.org>
65928
65929         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
65930         instead of 'expr' invocations.
65931         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
65932         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
65933         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
65934         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
65935         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
65936         Suggested by Paul Eggert.
65937
65938 2007-03-08  Bruno Haible  <bruno@clisp.org>
65939
65940         * modules/fseterr-tests: New file.
65941         * tests/test-fseterr.c: New file.
65942
65943         * modules/fseterr: New file.
65944         * lib/fseterr.h: New file.
65945         * lib/fseterr.c: New file.
65946
65947 2007-03-08  Bruno Haible  <bruno@clisp.org>
65948
65949         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
65950         * lib/getopt_.h: Likewise.
65951         * lib/mbswidth.h: Likewise.
65952         * lib/setenv.h: Likewise.
65953         * lib/vasnprintf.h: Likewise.
65954         * lib/vasprintf.h: Likewise.
65955         * lib/verror.h: Likewise.
65956         * lib/xsetenv.h: Likewise.
65957         * lib/xvasprintf.h: Likewise.
65958
65959 2007-03-08  Jim Meyering  <jim@meyering.net>
65960
65961         * users.txt: Add parted.
65962
65963         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
65964
65965 2007-03-07  Bruno Haible  <bruno@clisp.org>
65966
65967         * m4/printf.m4: Make the shell script snippets copy&pastable.
65968
65969 2007-03-02  Bruno Haible  <bruno@clisp.org>
65970
65971         * lib/netinet_in_.h: New file.
65972         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
65973         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
65974         * modules/netinet_in (Files): Add lib/netinet_in_.h.
65975         (Depends-on): Add absolute-header.
65976         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
65977         into netinet/in.h.
65978
65979 2007-03-03  Bruno Haible  <bruno@clisp.org>
65980
65981         * lib/sys_select_.h: New file.
65982         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
65983         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
65984         * modules/sys_select (Files): Add lib/sys_select_.h.
65985         (Depends-on): Add absolute-header.
65986         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
65987         into sys/select.h.
65988
65989 2007-03-02  Bruno Haible  <bruno@clisp.org>
65990
65991         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
65992         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
65993         values.
65994         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
65995         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
65996         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
65997         * modules/sys_socket (Depends-on): Add absolute-header.
65998         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
65999         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
66000         (Include): Remove requirement of inclusion of <sys/types.h>.
66001
66002 2007-03-02  Bruno Haible  <bruno@clisp.org>
66003
66004         * lib/byteswap_.h (bswap_32): Fix formula.
66005
66006 2007-03-06  Bruno Haible  <bruno@clisp.org>
66007
66008         * modules/sprintf-posix-tests: New file.
66009         * tests/test-sprintf-posix.c: New file.
66010
66011         * modules/sprintf-posix: New file.
66012         * lib/sprintf.c: New file.
66013         * m4/sprintf-posix.m4: New file.
66014         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
66015         REPLACE_SPRINTF.
66016         * lib/stdio_.h (sprintf): New declaration.
66017         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
66018         REPLACE_SPRINTF.
66019
66020 2007-03-06  Bruno Haible  <bruno@clisp.org>
66021
66022         * modules/vsprintf-posix-tests: New file.
66023         * tests/test-vsprintf-posix.c: New file.
66024         * tests/test-sprintf-posix.h: New file.
66025
66026         * modules/vsprintf-posix: New file.
66027         * lib/vsprintf.c: New file.
66028         * m4/vsprintf-posix.m4: New file.
66029         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
66030         REPLACE_VSPRINTF.
66031         * lib/stdio_.h (vsprintf): New declaration.
66032         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
66033         REPLACE_VSPRINTF.
66034
66035 2007-03-06  Bruno Haible  <bruno@clisp.org>
66036
66037         * modules/vsnprintf (Depend-on): Remove minmax.
66038
66039 2007-03-06  Bruno Haible  <bruno@clisp.org>
66040
66041         * modules/snprintf-posix-tests: New file.
66042         * tests/test-snprintf-posix.c: New file.
66043
66044         * modules/snprintf-posix: New file.
66045         * m4/snprintf-posix.m4: New file.
66046         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
66047         gl_FUNC_SNPRINTF.
66048         (gl_FUNC_SNPRINTF): Invoke it.
66049         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
66050         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
66051         is set.
66052         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
66053
66054 2007-03-06  Bruno Haible  <bruno@clisp.org>
66055
66056         * modules/vsnprintf-posix-tests: New file.
66057         * tests/test-vsnprintf-posix.c: New file.
66058         * tests/test-snprintf-posix.h: New file.
66059
66060         * modules/vsnprintf-posix: New file.
66061         * m4/vsnprintf-posix.m4: New file.
66062         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
66063         gl_FUNC_VSNPRINTF.
66064         (gl_FUNC_VSNPRINTF): Invoke it.
66065         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
66066         * lib/stdio_.h (vsnprintf): Define as a replacement if
66067         REPLACE_VSNPRINTF is set.
66068         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
66069
66070 2007-03-06  Bruno Haible  <bruno@clisp.org>
66071
66072         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
66073         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
66074
66075 2007-03-06  Bruno Haible  <bruno@clisp.org>
66076
66077         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
66078         (asinl): Declare also if HAVE_DECL_ASINL is set.
66079         (atanl): Declare also if HAVE_DECL_ATANL is set.
66080         (ceill): Declare also if HAVE_DECL_CEILL is set.
66081         (cosl): Declare also if HAVE_DECL_COSL is set.
66082         (expl): Declare also if HAVE_DECL_EXPL is set.
66083         (floorl): Declare also if HAVE_DECL_FLOORL is set.
66084         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
66085         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
66086         (logl): Declare also if HAVE_DECL_LOGL is set.
66087         (sinl): Declare also if HAVE_DECL_SINL is set.
66088         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
66089         (tanl): Declare also if HAVE_DECL_TANL is set.
66090         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
66091         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
66092         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
66093         declaration of frexpl, ldexpl.
66094         * modules/printf-frexpl (Depends-on): Add math.
66095         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
66096
66097 2007-03-05  Bruno Haible  <bruno@clisp.org>
66098
66099         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
66100         frexpl and ldexpl are declared.
66101         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
66102
66103 2007-03-05  Bruno Haible  <bruno@clisp.org>
66104
66105         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
66106         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
66107
66108 2007-03-05  Bruno Haible  <bruno@clisp.org>
66109
66110         * lib/stdio_.h: Include <stddef.h>.
66111
66112 2007-03-05  Bruno Haible  <bruno@clisp.org>
66113
66114         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
66115
66116 2007-03-05  Bruno Haible  <bruno@clisp.org>
66117
66118         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
66119         NetBSD 4, from Ralf Wildenhues.
66120
66121 2007-03-04  Bruno Haible  <bruno@clisp.org>
66122
66123         * lib/vasprintf.h: Update #if logic for the case when the functions
66124         exist but are overridden.
66125
66126 2007-03-04  Bruno Haible  <bruno@clisp.org>
66127
66128         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
66129         implementations: glibc-2.4 and MacOS X 10.3.
66130         * tests/test-vasnprintf-posix.c (test_function): Test also the case
66131         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
66132         * tests/test-vasprintf-posix.c (test_function): Likewise.
66133
66134 2007-03-04  Bruno Haible  <bruno@clisp.org>
66135
66136         * modules/vasprintf-posix-tests: New file.
66137         * tests/test-vasprintf-posix.c: New file.
66138
66139         * modules/vasprintf-posix: New file.
66140         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
66141         defined.
66142         * m4/vasprintf-posix.m4: New file.
66143         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
66144         gl_FUNC_VASPRINTF.
66145         (gl_FUNC_VASPRINTF): Invoke it.
66146         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
66147         here.
66148         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
66149
66150 2007-03-04  Bruno Haible  <bruno@clisp.org>
66151
66152         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
66153         REPLACE_GETTIMEOFDAY.
66154         * modules/sys_time (Makefile.am): Likewise.
66155         * m4/sys_time_h.m4: Likewise.
66156         * m4/gettimeofday.m4: Likewise.
66157
66158 2007-03-04  Bruno Haible  <bruno@clisp.org>
66159
66160         * modules/vasnprintf-posix-tests: New file.
66161         * tests/test-vasnprintf-posix.c: New file.
66162
66163         * modules/vasnprintf-posix: New file.
66164         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
66165         printf-frexpl.h.
66166         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
66167         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
66168         REPLACE_VASNPRINTF is defined.
66169         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
66170         gl_FUNC_VASNPRINTF.
66171         (gl_FUNC_VASNPRINTF): Invoke it.
66172         * m4/vasnprintf-posix.m4: New file.
66173         * m4/printf.m4: New file.
66174
66175 2007-03-04  Bruno Haible  <bruno@clisp.org>
66176
66177         Compile progreloc.c only if --enable-relocatable is specified.
66178         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
66179         if --enable-relocatable was specified.
66180         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
66181         lib_SOURCES.
66182
66183 2007-03-04  Jim Meyering  <jim@meyering.net>
66184
66185         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
66186         Use it consistently, rather than enumerating errno constants.
66187
66188 2007-03-04  Bruno Haible  <bruno@clisp.org>
66189
66190         * modules/xvasprintf-tests: New file.
66191         * tests/test-xvasprintf.c: New file.
66192
66193         * modules/vasprintf-tests: New file.
66194         * tests/test-vasprintf.c: New file.
66195
66196         * modules/vasnprintf-tests: New file.
66197         * tests/test-vasnprintf.c: New file.
66198
66199         * modules/vsnprintf-tests: New file.
66200         * tests/test-vsnprintf.c: New file.
66201
66202         * modules/snprintf-tests: New file.
66203         * tests/test-snprintf.c: New file.
66204
66205 2007-03-04  Bruno Haible  <bruno@clisp.org>
66206
66207         Compile relocatable.c only if --enable-relocatable is specified.
66208         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
66209         gl_RELOCATABLE_LIBRARY.
66210         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
66211         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
66212         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
66213         gl_RELOCATABLE_LIBRARY.
66214         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
66215         (Makefile.am): Remove lib_SOURCES.
66216         * modules/relocatable-lib-lgpl (configure.ac): Invoke
66217         gl_RELOCATABLE_LIBRARY.
66218         (Makefile.am): Remove lib_SOURCES.
66219         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
66220         always.
66221         * modules/relocatable-prog-wrapper (configure.ac): Invoke
66222         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
66223
66224 2007-03-04  Bruno Haible  <bruno@clisp.org>
66225
66226         * modules/argmatch-tests: New file.
66227         * tests/test-argmatch.c: New file.
66228
66229         * tests/test-allocsa.c (main): Halve the number of loop runs.
66230
66231         * modules/alloca-opt-tests: New file.
66232         * tests/test-alloca-opt.c: New file.
66233
66234 2007-03-04  Jim Meyering  <jim@meyering.net>
66235
66236         Work around difference between Linux ACLs and Solaris 10 ZFS.
66237         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
66238         for EINVAL.
66239
66240 2007-03-03  Bruno Haible  <bruno@clisp.org>
66241
66242         * modules/relocatable-prog (Depends-on): Add back progreloc's
66243         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
66244
66245 2007-03-03  Bruno Haible  <bruno@clisp.org>
66246
66247         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
66248         * modules/relocatable-lib: New file.
66249
66250 2007-03-03  Bruno Haible  <bruno@clisp.org>
66251
66252         * modules/relocatable-prog: Renamed from modules/relocatable.
66253         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
66254
66255 2007-03-03  Bruno Haible  <bruno@clisp.org>
66256
66257         * modules/relocatable-script (Files): Add doc/relocatable.texi,
66258         m4/relocatable-lib.m4.
66259         (Depends-on): Remove 'relocatable'.
66260         (configure.ac): Add gl_RELOCATABLE_NOP.
66261
66262 2007-03-03  Bruno Haible  <bruno@clisp.org>
66263
66264         * modules/relocatable-prog-wrapper: New file.
66265         * modules/relocatable (Depends-on): Add it. Remove all other
66266         dependencies except progname.
66267         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
66268
66269         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
66270         (gl_FUNC_STRERROR): Nop.
66271         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
66272
66273         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
66274         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
66275
66276         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
66277         (gl_FUNC_READLINK): Update.
66278
66279         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
66280
66281 2007-03-03  Bruno Haible  <bruno@clisp.org>
66282
66283         * lib/xreadlink.c: Include <unistd.h> unconditionally.
66284         * modules/xreadlink (Depends-on): Add unistd.
66285         * modules/xreadlink-with-size (Depends-on): Likewise.
66286
66287 2007-03-03  Bruno Haible  <bruno@clisp.org>
66288
66289         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
66290         extracted from gt_FUNC_SETENV.
66291         (gt_FUNC_SETENV): Remove macro.
66292         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
66293         remove gt_FUNC_SETENV.
66294
66295 2007-03-03  Bruno Haible  <bruno@clisp.org>
66296
66297         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
66298         ENABLE_RELOCATABLE here.
66299         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
66300
66301 2007-03-03  Bruno Haible  <bruno@clisp.org>
66302
66303         * modules/rbtreehash-list-tests (Depends-on): Add progname.
66304         * tests/test-rbtreehash_list.c: Include progname.h.
66305         (main): Call set_program_name.
66306
66307         * modules/rbtree-oset-tests (Depends-on): Add progname.
66308         * tests/test-rbtree_oset.c: Include progname.h.
66309         (main): Call set_program_name.
66310
66311         * modules/rbtree-list-tests (Depends-on): Add progname.
66312         * tests/test-rbtree_list.c: Include progname.h.
66313         (main): Call set_program_name.
66314
66315         * modules/linked-list-tests (Depends-on): Add progname.
66316         * tests/test-linked_list.c: Include progname.h.
66317         (main): Call set_program_name.
66318
66319 2007-03-03  Bruno Haible  <bruno@clisp.org>
66320
66321         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
66322         All uses of __restrict changed to _Restrict_.
66323         * lib/glob_.h (__restrict): Remove macro.
66324
66325 2007-03-02  Bruno Haible  <bruno@clisp.org>
66326
66327         * modules/gettext (configure.ac): Require gettext infrastructure
66328         from version 0.16.1.
66329
66330 2007-03-02  Bruno Haible  <bruno@clisp.org>
66331
66332         * modules/linkedhash-list-tests (Depends-on): Add progname.
66333         * tests/test-linkedhash_list.c: Include progname.h.
66334         (main): Call set_program_name.
66335
66336         * modules/carray-list-tests (Depends-on): Add progname.
66337         * tests/test-carray_list.c: Include progname.h.
66338         (main): Call set_program_name.
66339
66340         * modules/avltreehash-list-tests (Depends-on): Add progname.
66341         * tests/test-avltreehash_list.c: Include progname.h.
66342         (main): Call set_program_name.
66343
66344         * modules/avltree-oset-tests (Depends-on): Add progname.
66345         * tests/test-avltree_oset.c: Include progname.h.
66346         (main): Call set_program_name.
66347
66348         * modules/avltree-list-tests (Depends-on): Add progname.
66349         * tests/test-avltree_list.c: Include progname.h.
66350         (main): Call set_program_name.
66351
66352         * modules/array-oset-tests (Depends-on): Add progname.
66353         * tests/test-array_oset.c: Include progname.h.
66354         (main): Call set_program_name.
66355
66356         * modules/array-list-tests (Depends-on): Add progname.
66357         * tests/test-array_list.c: Include progname.h.
66358         (main): Call set_program_name.
66359
66360         * modules/argp-tests (Depends-on): Add progname.
66361         * tests/test-argp.c: Include argp.h first. Include progname.h.
66362         (main): Call set_program_name.
66363
66364 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
66365
66366         * doc/gnulib-tool.texi (Initial import): Reword description of
66367         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
66368         limited effect even if defined after the first system include.
66369
66370 2007-03-01  Bruno Haible  <bruno@clisp.org>
66371
66372         * build-aux/config.libpath: Update to libtool-1.5.22.
66373         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
66374
66375 2007-03-01  Bruno Haible  <bruno@clisp.org>
66376
66377         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
66378         foo_CFLAGS.
66379         Reported by Ralf Wildenhues.
66380
66381 2007-03-01  Bruno Haible  <bruno@clisp.org>
66382
66383         * build-aux/install-reloc: Remove object files left over by some
66384         compilers.
66385         Reported by Ralf Wildenhues.
66386
66387 2007-03-01  Bruno Haible  <bruno@clisp.org>
66388
66389         * build-aux/install-reloc: Break long lines.
66390
66391 2007-03-01  Bruno Haible  <bruno@clisp.org>
66392
66393         * doc/relocatable.texi: Document that it may not work on OpenBSD.
66394         Reported by Ralf Wildenhues.
66395
66396 2007-03-01  Bruno Haible  <bruno@clisp.org>
66397
66398         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
66399         include ordering constraints.
66400
66401 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
66402
66403         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
66404         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
66405         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
66406         as another example.
66407         * lib/time_.h: Fix misspelling.
66408         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
66409         Require gl_HEADER_TIME_H_DEFAULTS.
66410         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
66411         * m4/time_r.m4 (gl_TIME_R): Likewise.
66412         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
66413
66414 2007-03-01  Bruno Haible  <bruno@clisp.org>
66415
66416         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
66417         * m4/utimens.m4 (gl_UTIMENS): Likewise.
66418
66419 2007-03-01  Jim Meyering  <jim@meyering.net>
66420
66421         * modules/xreadlink (Maintainer): Add my name.
66422         * modules/xreadlink-with-size (Depends-on): Alphabetize.
66423
66424 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
66425             Bruno Haible  <bruno@clisp.org>
66426
66427         * build-aux/install-reloc: Compile also c-ctype.c.
66428         * build-aux/relocatable.sh.in: New file.
66429         * doc/relocatable.texi: New file.
66430         * doc/relocatable-maint.texi: New file.
66431         * doc/gnulib.texi: Include relocatable-maint.texi.
66432         * lib/progreloc.c: Include unistd.h unconditionally.
66433         * lib/relocwrapper.c: Include unistd.h unconditionally.
66434         Include c-ctype.h.
66435         (add_dotbin): Use c_tolower.
66436         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
66437         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
66438         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
66439         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
66440         to m4/relocatable-lib.m4.
66441         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
66442         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
66443         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
66444         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
66445         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
66446         * modules/relocatable: New file.
66447         * modules/relocatable-lib: New file.
66448         * modules/relocatable-script: New file.
66449
66450 2007-02-28  Bruno Haible  <bruno@clisp.org>
66451
66452         Import --enable-relocatable infrastructure.
66453         * build-aux/config.libpath: New file, from GNU gettext.
66454         * build-aux/install-reloc: New file, from GNU gettext.
66455         * build-aux/reloc-ldflags: New file, from GNU gettext.
66456         * lib/relocatable.h: New file, from GNU gettext.
66457         * lib/relocatable.c: New file, from GNU gettext.
66458         * lib/relocwrapper.c: New file, from GNU gettext.
66459         * m4/relocatable.m4: New file, from GNU gettext.
66460
66461 2007-02-28  Bruno Haible  <bruno@clisp.org>
66462
66463         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
66464
66465         * modules/xreadlink: New file, from GNU gettext with modifications.
66466         * lib/xreadlink.c: New file, from GNU gettext.
66467         * lib/xreadlink.h: Add comments.
66468         (xreadlink): New declaration.
66469
66470         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
66471         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
66472         lib/xreadlink-with-size.c.
66473         (configure.ac): Remove gl_XREADLINK invocation.
66474         (Makefile.am): Augment lib_SOURCES.
66475         * m4/xreadlink.m4: Remove file.
66476         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
66477         (xreadlink_with_size): Renamed from xreadink.
66478         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
66479         * modules/canonicalize (Depends-on): Replace xreadlink with
66480         xreadlink-with-size.
66481         * lib/canonicalize.c (canonicalize_filename_mode): Update.
66482
66483 2007-02-25  Jim Meyering  <jim@meyering.net>
66484
66485         * build-aux/announce-gen: When complaining about excess arguments,
66486         list them.
66487
66488 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
66489
66490         * README: Document signed integer overflow situation more
66491         accurately.
66492
66493 2007-02-25  Bruno Haible  <bruno@clisp.org>
66494
66495         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
66496         'a' or 'A' conversion.
66497
66498 2007-02-25  Bruno Haible  <bruno@clisp.org>
66499
66500         * modules/filename: Renamed from modules/pathname.
66501         (Files): Replace lib/pathname.h with lib/filename.h. Replace
66502         lib/concatpath.c with lib/concat-filename.c.
66503         (Makefile.am): Update.
66504         (Include): Replace pathname.h with filename.h.
66505         * lib/filename.h: Renamed from lib/pathname.h.
66506         (concatenated_filename): Renamed from concatenated_pathname.
66507         * lib/concat-filename.c: Renamed from lib/concatpath.c.
66508         (concatenated_filename): Renamed from concatenated_pathname.
66509         * lib/findprog.c: Include filename.h instead of pathname.h.
66510         (find_in_path): Update.
66511         * lib/javacomp.c: Include filename.h instead of pathname.h.
66512         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
66513         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
66514         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
66515         is_oldgcj_14_13_usable, is_javac_usable): Update.
66516         * lib/javaexec.c: Include filename.h instead of pathname.h.
66517         (execute_java_class): Update.
66518         * modules/findprog: Update.
66519         * modules/javacomp: Update.
66520         * modules/javaexec: Update.
66521         * MODULES.html.sh (File system functions): Add 'filename', remove
66522         'pathname'.
66523
66524 2007-02-25  Bruno Haible  <bruno@clisp.org>
66525
66526         * modules/printf-frexpl-tests: New file.
66527         * tests/test-printf-frexpl.c: New file.
66528
66529         * modules/printf-frexpl: New file.
66530         * lib/printf-frexpl.h: New file.
66531         * lib/printf-frexpl.c: New file.
66532         * m4/printf-frexpl.m4: New file.
66533
66534 2007-02-25  Bruno Haible  <bruno@clisp.org>
66535
66536         * modules/printf-frexp-tests: New file.
66537         * tests/test-printf-frexp.c: New file.
66538
66539         * modules/printf-frexp: New file.
66540         * lib/printf-frexp.h: New file.
66541         * lib/printf-frexp.c: New file.
66542         * m4/printf-frexp.m4: New file.
66543
66544 2007-02-25  Bruno Haible  <bruno@clisp.org>
66545
66546         Assume automake >= 1.10 for the tests.
66547         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
66548         * modules/arctwo-tests: Likewise.
66549         * modules/argp-tests: Likewise.
66550         * modules/avltree-list-tests: Likewise.
66551         * modules/avltree-oset-tests: Likewise.
66552         * modules/avltreehash-list-tests: Likewise.
66553         * modules/carray-list-tests: Likewise.
66554         * modules/crc-tests: Likewise.
66555         * modules/des-tests: Likewise.
66556         * modules/gc-arcfour-tests: Likewise.
66557         * modules/gc-arctwo-tests: Likewise.
66558         * modules/gc-des-tests: Likewise.
66559         * modules/gc-hmac-md5-tests: Likewise.
66560         * modules/gc-hmac-sha1-tests: Likewise.
66561         * modules/gc-md2-tests: Likewise.
66562         * modules/gc-md4-tests: Likewise.
66563         * modules/gc-md5-tests: Likewise.
66564         * modules/gc-pbkdf2-sha1-tests: Likewise.
66565         * modules/gc-rijndael-tests: Likewise.
66566         * modules/gc-sha1-tests: Likewise.
66567         * modules/gc-tests: Likewise.
66568         * modules/getaddrinfo-tests: Likewise.
66569         * modules/hmac-md5-tests: Likewise.
66570         * modules/hmac-sha1-tests: Likewise.
66571         * modules/linked-list-tests: Likewise.
66572         * modules/linkedhash-list-tests: Likewise.
66573         * modules/lock-tests: Likewise.
66574         * modules/md2-tests: Likewise.
66575         * modules/md4-tests: Likewise.
66576         * modules/md5-tests: Likewise.
66577         * modules/rbtree-list-tests: Likewise.
66578         * modules/rbtree-oset-tests: Likewise.
66579         * modules/rbtreehash-list-tests: Likewise.
66580         * modules/read-file-tests: Likewise.
66581         * modules/rijndael-tests: Likewise.
66582         * modules/stdint-tests: Likewise.
66583         * modules/tls-tests: Likewise.
66584
66585 2007-02-24  Bruno Haible  <bruno@clisp.org>
66586
66587         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
66588         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
66589         function; instead check whether isnan with a double argument links.
66590         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
66591         function; instead check whether isnan with a 'long double' argument
66592         links.
66593         Reported by Eric Blake <ebb9@byu.net>.
66594
66595 2007-02-24  Bruno Haible  <bruno@clisp.org>
66596
66597         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
66598         defined.
66599         * lib/isnanl.c: Remove all code. Just include isnan.c.
66600         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
66601
66602 2007-02-25  Jim Meyering  <jim@meyering.net>
66603
66604         Avoid conflicting types for 'unsetenv' on FreeBSD.
66605         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
66606         conflicting with FreeBSD's (5.0 and 6.1) function declaration
66607         in stdlib.h.
66608
66609 2007-02-24  Bruno Haible  <bruno@clisp.org>
66610
66611         * modules/isnanl-nolibm-tests: New file.
66612         * tests/test-isnanl.c: New file.
66613
66614         * modules/isnanl-nolibm: New file.
66615         * lib/isnanl.h: New file.
66616         * lib/isnanl.c: New file.
66617         * m4/isnanl.m4: New file.
66618
66619 2007-02-24  Bruno Haible  <bruno@clisp.org>
66620
66621         * modules/isnan-nolibm-tests: New file.
66622         * tests/test-isnan.c: New file.
66623
66624         * modules/isnan-nolibm: New file.
66625         * lib/isnan.h: New file.
66626         * lib/isnan.c: New file.
66627         * m4/isnan.m4: New file.
66628
66629 2007-02-24  Bruno Haible  <bruno@clisp.org>
66630
66631         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
66632         assume that an exponent fits in 20 bits.
66633
66634 2007-02-24  Jim Meyering  <jim@meyering.net>
66635
66636         * m4/regex.m4: Update the description of the configure-time option,
66637         --without-included-regex, to state accurately what the defaults are,
66638         and perhaps to give people an idea why using this option is risky.
66639
66640 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
66641
66642         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
66643         loops on small arguments.  This attempts to avoid the problem
66644         Bruno Haible reported for AIX 4.3.2 in
66645         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
66646
66647 2007-02-23  Bruno Haible  <bruno@clisp.org>
66648
66649         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
66650         Needed for help2man.
66651
66652 2007-02-23  Karl Berry  <karl@gnu.org>
66653
66654         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
66655         exists, foo.h should be cvs-ignored, not committed.
66656
66657 2007-02-23  Eric Blake  <ebb9@byu.net>
66658
66659         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
66660         * lib/stat-time.h (includes): Likewise.
66661         * lib/utimecmp.c (includes): Likewise.
66662         * lib/utimens.h (includes): Likewise.
66663         * lib/getdate.y (includes): Also include "timespec.h" for use
66664         internal to the module.
66665         * modules/utimens (Depends-on): Revert yesterday's patch.
66666         * modules/nanosleep (Depends-on): Add missing dependency.
66667
66668 2007-02-22  Bruno Haible  <bruno@clisp.org>
66669
66670         * lib/glob.c: Don't include getlogin_r.h.
66671
66672 2007-02-22  Jim Meyering  <jim@meyering.net>
66673
66674         * modules/utimens (Depends-on): Add timespec, required for
66675         utimens.h's inclusion of timespec.h.
66676
66677 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
66678
66679         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
66680         long unreadable paths in GNU/Linux.  Problem reported by Andreas
66681         Schwab in
66682         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
66683         I'll try to think of a better way to fix the Solaris problem.
66684
66685         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
66686         like glibc; on Solaris 10, it fails with errno == EINVAL.
66687         POSIX says the behavior is unspecified if the first argument is NULL,
66688         so play it safe and never pass NULL to the system getcwd.
66689
66690 2007-02-21  Jim Meyering  <jim@meyering.net>
66691
66692         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
66693         of gettimeofday.  It would conflict with the one now always
66694         provided via sys_time_.h.  Reported by Matthew Woehlke, as
66695         an IRIX 6.5 build failure.
66696
66697 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
66698
66699         Minor fixups to port to Solaris 10 with Sun C 5.8.
66700         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
66701         * modules/getcwd (Depends-on): Add dirfd.
66702         * lib/putenv.c (putenv): #undef it.
66703         (rpl_putenv): New decl.
66704         (malloc, free): Include <stdlib.h> rather than prototyping separately.
66705
66706 2007-02-20  Bruno Haible  <bruno@clisp.org>
66707
66708         * modules/stdio-tests: New file.
66709         * tests/test-stdio.c: New file.
66710
66711         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
66712         (Depends-on): Add stdio.
66713         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
66714         (Include): Use <stdio.h> instead of vsnprintf.h.
66715         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
66716         HAVE_DECL_VSNPRINTF.
66717         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
66718
66719         * modules/snprintf (Files): Remove lib/snprintf.h.
66720         (Depends-on): Add stdio.
66721         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
66722         (Include): Use <stdio.h> instead of snprintf.h.
66723         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
66724         HAVE_DECL_SNPRINTF.
66725         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
66726         * lib/getaddrinfo.c: Likewise.
66727
66728         * modules/stdio: New file.
66729         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
66730         * lib/snprintf.h: Remove file.
66731         * lib/vsnprintf.h: Remove file.
66732         * lib/.cppi-disable: Remove snprintf.h.
66733         * m4/stdio_h.m4: New file.
66734         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
66735
66736 2007-02-20  Jim Meyering  <jim@meyering.net>
66737
66738         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
66739         used by e.g., mingw.  From Bruno Haible.
66740
66741 2007-02-19  Bruno Haible  <bruno@clisp.org>
66742
66743         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
66744         warnings.
66745         Reported by Ben Pfaff <blp@cs.stanford.edu>.
66746
66747 2007-02-19  Bruno Haible  <bruno@clisp.org>
66748
66749         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
66750         from mingw users.
66751
66752 2007-02-19  Bruno Haible  <bruno@clisp.org>
66753
66754         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
66755         warnings.
66756         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
66757
66758 2007-02-19  Jim Meyering  <jim@meyering.net>
66759
66760         Don't use FD after a successful "fdopendir (fd)".
66761         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
66762         Reset it by calling dirfd on the just-obtained DIR*.
66763
66764         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
66765         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
66766
66767 2007-02-18  Bruno Haible  <bruno@clisp.org>
66768
66769         * lib/readlink.c: Include <unistd.h>.
66770         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
66771         HAVE_READLINK.
66772         * modules/readlink (Depends-on): Add unistd.
66773         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
66774         (Include): Add <unistd.h>.
66775
66776         * lib/getlogin_r.h: Remove file.
66777         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
66778         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
66779         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
66780         HAVE_DECL_GETLOGIN_R.
66781         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
66782         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
66783         (Include): Use <unistd.h> instead of getlogin_r.h.
66784
66785         * lib/getcwd.h: Remove file.
66786         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
66787         * lib/xgetcwd.c: Likewise.
66788         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
66789         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
66790         * modules/getcwd (Files): Remove lib/getcwd.h.
66791         (Depends-on): Add unistd.
66792         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
66793         (Include): Use <unistd.h> instad of getcwd.h.
66794
66795         * lib/ftruncate.c: Include <unistd.h> first.
66796         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
66797         Set HAVE_FTRUNCATE.
66798         * modules/ftruncate (Depends-on): Add unistd.
66799         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
66800
66801         * lib/fchdir.c: Include <unistd.h> first.
66802         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
66803         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
66804         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
66805         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
66806         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
66807
66808         * lib/dup2.c: Include <unistd.h> first.
66809         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
66810         HAVE_DUP2.
66811         * modules/dup2 (Depends-on): Add unistd.
66812         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
66813
66814         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
66815         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
66816         REPLACE_CHOWN. Don't define chown as a macro here.
66817         * modules/chown (Depends-on): Add unistd.
66818         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
66819
66820         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
66821         Add definition for GL_LINK_WARNING.
66822         (chown, dup2): New declarations.
66823         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
66824         link warning.
66825         (ftruncate): New declaration.
66826         (getcwd): New declaration, taken from old getcwd.h.
66827         (getlogin_r): New declaration, taken from old getlogin_r.h.
66828         (readlink): New declaration.
66829         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
66830         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
66831         (gl_PREREQ_UNISTD): Remove macro.
66832         (gl_UNISTD_MODULE_INDICATOR): New macro.
66833         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
66834         many new variables. Don't set UNISTD_H.
66835         * modules/unistd (Description): Change.
66836         (Depends-on): Add link-warning.
66837         (configure.ac): Update.
66838         (Makefile.am): Create unistd.h always. Substitute many new variables
66839         into it.
66840
66841 2007-02-18  Bruno Haible  <bruno@clisp.org>
66842
66843         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
66844         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
66845         HAVE_GETSUBOPT.
66846         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
66847         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
66848         * lib/getsubopt.h: Remove file.
66849         * modules/getsubopt (Files): Remove lib/getsubopt.h.
66850         (Depends-on): Add stdlib.
66851         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
66852         (Includes): Use <stdlib.h> instead of getsubopt.h.
66853         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
66854         Set HAVE_GETSUBOPT.
66855         * lib/getsubopt.c: Don't include getsubopt.h.
66856
66857 2007-02-18  Bruno Haible  <bruno@clisp.org>
66858
66859         * modules/fchdir (Depends-on): Add dup2.
66860
66861 2007-02-18  Bruno Haible  <bruno@clisp.org>
66862
66863         * lib/stdlib_.h: Handle glibc's special invocation convention
66864         specially.
66865
66866 2007-02-18  Bruno Haible  <bruno@clisp.org>
66867
66868         * modules/stdlib-tests: New file.
66869         * tests/test-stdlib.c: New file.
66870
66871         * modules/mkstemp (Files): Remove lib/mkstemp.h.
66872         (Depends-on): Add stdlib.
66873         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
66874         (Includes): Use <stdlib.h> instead of mkstemp.h.
66875         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
66876         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
66877         * lib/mkstemp.c: Don't include mkstemp.h.
66878         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
66879         * lib/stdlib--.h: Don't include mkstemp.h.
66880
66881         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
66882         (Depends-on): Add stdlib.
66883         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
66884         (Includes): Use <stdlib.h> instead of mkdtemp.h.
66885         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
66886         HAVE_MKDTEMP.
66887         * lib/mkdtemp.c: Don't include mkdtemp.h.
66888         * lib/clean-temp.c: Don't include mkdtemp.h.
66889
66890         * modules/exit (Files): Remove lib/exit.h.
66891         (Depends-on): Add stdlib.
66892         (Makefile.am): Remove lib_SOURCES.
66893         (Include): Use <stdlib.h> instead of exit.h.
66894         * lib/argmatch.c: Don't include exit.h.
66895         * lib/execute.c: Likewise.
66896         * lib/pagealign_alloc.c: Likewise.
66897         * lib/pipe.c: Likewise.
66898         * lib/wait-process.c: Likewise.
66899         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
66900         * lib/exitfail.c: Likewise.
66901         * lib/savewd.c: Likewise.
66902         * lib/xsetenv.c: Likewise.
66903
66904         * modules/stdlib: New file.
66905         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
66906         and extra comments about mkstemp().
66907         * lib/exit.h: Remove file.
66908         * lib/mkdtemp.h: Remove file.
66909         * lib/mkstemp.h: Remove file.
66910         * m4/stdlib_h.m4: New file.
66911         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
66912
66913 2007-02-18  Bruno Haible  <bruno@clisp.org>
66914
66915         * modules/math-tests: New file.
66916         * tests/test-math.c: New file.
66917
66918         * modules/math: New file.
66919         * modules/mathl (Files): Remove lib/mathl.h.
66920         (Depends-on): Add math.
66921         (Makefile.am): Don't mention mathl.h.
66922         (Include): Use <math.h> instead of mathl.h.
66923         * lib/math_.h: New file.
66924         * lib/mathl.h: Remove file.
66925         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
66926         mathl.h.
66927         * lib/asinl.c: Likewise.
66928         * lib/atanl.c: Likewise.
66929         * lib/ceill.c: Likewise.
66930         * lib/cosl.c: Likewise.
66931         * lib/expl.c: Likewise.
66932         * lib/floorl.c: Likewise.
66933         * lib/frexpl.c: Likewise.
66934         * lib/ldexpl.c: Likewise.
66935         * lib/logl.c: Likewise.
66936         * lib/sincosl.c: Likewise.
66937         * lib/sinl.c: Likewise.
66938         * lib/sqrtl.c: Likewise.
66939         * lib/tanl.c: Likewise.
66940         * lib/trigl.c: Likewise.
66941         * m4/math_h.m4: New file.
66942         * MODULES.html.sh (Mathematics): Add math.
66943
66944 2007-02-17  Bruno Haible  <bruno@clisp.org>
66945
66946         * modules/wctype-tests: New file.
66947         * tests/test-wctype.c: New file.
66948
66949         * modules/wchar-tests: New file.
66950         * tests/test-wchar.c: New file.
66951
66952         * modules/unistd-tests: New file.
66953         * tests/test-unistd.c: New file.
66954
66955         * modules/time-tests: New file.
66956         * tests/test-time.c: New file.
66957
66958         * modules/sysexits-tests: New file.
66959         * tests/test-sysexits.c: New file.
66960
66961         * modules/sys_time-tests: New file.
66962         * tests/test-sys_time.c: New file.
66963
66964         * modules/sys_stat-tests: New file.
66965         * tests/test-sys_stat.c: New file.
66966
66967         * modules/sys_socket-tests: New file.
66968         * tests/test-sys_socket.c: New file.
66969
66970         * modules/sys_select-tests: New file.
66971         * tests/test-sys_select.c: New file.
66972
66973         * modules/string-tests: New file.
66974         * tests/test-string.c: New file.
66975
66976         * modules/stdbool-tests: New file.
66977         * tests/test-stdbool.c: New file.
66978
66979         * modules/netinet_in-tests: New file.
66980         * tests/test-netinet_in.c: New file.
66981
66982         * modules/inttypes-tests: New file.
66983         * tests/test-inttypes.c: New file.
66984
66985         * modules/fcntl-tests: New file.
66986         * tests/test-fcntl.c: New file.
66987
66988         * modules/byteswap-tests: New file.
66989         * tests/test-byteswap.c: New file.
66990
66991         * modules/arpa_inet-tests: New file.
66992         * tests/test-arpa_inet.c: New file.
66993
66994 2007-02-17  Bruno Haible  <bruno@clisp.org>
66995
66996         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
66997         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
66998         if the corresponding module is not enabled. Emit link warnings if
66999         the function is used nevertheless.
67000         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
67001         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
67002         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
67003         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
67004         * modules/inttypes (Depends-on): Add link-warning.
67005         (Makefile.am): Copy the contents of build-aux/link-warning.h into
67006         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
67007         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
67008         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
67009         * modules/imaxdiv (configure.ac): Likewise.
67010         * modules/strtoimax (configure.ac): Likewise.
67011         * modules/strtoumax (configure.ac): Likewise.
67012
67013 2007-02-17  Bruno Haible  <bruno@clisp.org>
67014
67015         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
67016         gl_STRING_MODULE_INDICATOR_DEFAULTS.
67017         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
67018         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
67019
67020 2007-02-17  Bruno Haible  <bruno@clisp.org>
67021
67022         * modules/link-warning: New file.
67023         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
67024         * lib/string_.h (GL_LINK_WARNING): Remove definition.
67025         * modules/string (Depends-on): Add link-warning.
67026         (Makefile.am): Copy the contents of build-aux/link-warning.h into
67027         string.h.
67028         * MODULES.html.sh (Support for building libraries and executables): Add
67029         link-warning.
67030
67031 2007-02-17  Bruno Haible  <bruno@clisp.org>
67032
67033         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
67034         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
67035         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
67036         long lines.
67037
67038 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
67039             Bruno Haible  <bruno@clisp.org>
67040
67041         * modules/tmpfile: New file.
67042         * lib/tmpfile.c: New file.
67043         * m4/tmpfile.m4: New file.
67044         * MODULES.html.sh (func_all_modules): New section "Input/output".
67045
67046 2007-02-15  Bruno Haible  <bruno@clisp.org>
67047
67048         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
67049         (supports_delete_on_close): New function.
67050         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
67051
67052 2007-02-14  Bruno Haible  <bruno@clisp.org>
67053
67054         * modules/mbspcasecmp-tests: New file.
67055         * tests/test-mbspcasecmp.sh: New file.
67056         * tests/test-mbspcasecmp.c: New file.
67057
67058         New module mbspcasecmp.
67059         * modules/mbspcasecmp: New file.
67060         * lib/mbspcasecmp.c: New file.
67061         * lib/string_.h (strncasecmp): Change warning message.
67062         (mbspcasecmp): New declaration.
67063         * m4/mbspcasecmp.m4: New file.
67064         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67065         GNULIB_MBSPCASECMP.
67066         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
67067         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
67068
67069 2007-02-14  Bruno Haible  <bruno@clisp.org>
67070
67071         * modules/mbsncasecmp-tests: New file.
67072         * tests/test-mbsncasecmp.sh: New file.
67073         * tests/test-mbsncasecmp.c: New file.
67074
67075         New module mbsncasecmp.
67076         * modules/mbsncasecmp: New file.
67077         * lib/mbsncasecmp.c: New file.
67078         * lib/string_.h (mbsncasecmp): New declaration.
67079         * m4/mbsncasecmp.m4: New file.
67080         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67081         GNULIB_MBSNCASECMP.
67082         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
67083         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
67084
67085 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
67086
67087         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
67088         Verify that it doesn't overlap with our flags.
67089         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
67090         do not have the desired effect in multibyte locales; instead, use
67091         mbscasecmp.
67092         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
67093         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
67094         we don't require GNU fnmatch ourselves (if our users require it, they
67095         should do so explicitly).
67096
67097         Fix regex code so it doesn't rely on strcasecmp.
67098         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
67099         Otherwise, include gnulib's langinfo.h.
67100         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
67101         undesirable behavior in non-C locales.  Instead, rely on localecharset.
67102         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
67103         * modules/regex (FILES): Remove m4/codeset.m4.
67104         (Depends-on): Add localcharset.  Remove strcase.
67105
67106 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67107
67108         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
67109         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
67110
67111 2007-02-13  Bruno Haible  <bruno@clisp.org>
67112
67113         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
67114         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
67115
67116 2007-02-12  Bruno Haible  <bruno@clisp.org>
67117
67118         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
67119         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
67120         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
67121         time warning rather than a link error.
67122
67123 2007-02-12  Bruno Haible  <bruno@clisp.org>
67124
67125         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
67126         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
67127         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
67128
67129 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
67130
67131         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
67132         args, not 2.
67133
67134 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
67135
67136         New module 'time', so that apps can include <time.h> as per
67137         POSIX and GNU instead of separate include files like time_r.h
67138         and timegm.h.  This implementation tries out a simpler approach
67139         for replacing decls in standard include files (as compared to
67140         the string module), somewhat as an experiment.
67141
67142         * config/srclist.txt: Comment out mktime.c for now.
67143         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
67144         since it doesn't apply any more.  Use generic wording instead.
67145         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
67146         'time'.
67147         * lib/time_.h, m4/time_h.m4, modules/time: New files.
67148         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
67149         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
67150         Don't include <sys/types.h>; no longer needed since we assume C89.
67151         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
67152         * lib/strftime.c: Likewise.
67153         * lib/time_r.c: Likewise.
67154         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
67155         * lib/nanosleep.c: Include <time.h> first, to check interface.
67156         * lib/strptime.c: Likewise.
67157         * lib/time_r.c: Likewise.
67158         * lib/timegm.c: Likewise.
67159         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
67160         needed.
67161         * lib/timegm.c: Don't include timegm.h; no longer needed.
67162         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
67163         time.h now handles any problems in that area.
67164         (struct timespec, nanosleep): Remove; time.h now arranges for these.
67165         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
67166         that time.h defines struct timespec.
67167         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
67168         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
67169         handles that.
67170         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
67171         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
67172         needed.  Set REPLACE_LOCALTIME.
67173         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
67174         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
67175         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
67176         nanosleep; time_h.m4 now does that.  Don't require
67177         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
67178         module handles this now.
67179         * modules/getdate (Depends-on): Remove timespec.  Add time.
67180         * modules/nanosleep (Depends-on): Likewise.
67181         * modules/stat-time (Depends-on): Likewise.
67182         * modules/nanosleep (Include): Include time.h, not timespec.h.
67183         * modules/strptime (Files): Remove lib/strptime.h.
67184         (Depends-on): Add extensions, time.
67185         (Include): Include time.h, not strptime.h.
67186         * modules/time_r (Files): Remove lib/time_r.h.
67187         (Depends-on): Add time.
67188         (Include): Include time.h, not time_r.h.
67189         * modules/timegm: Likewise.
67190         * modules/timespec (Description): Now does timespec-related decls
67191         of our own, instead of struct timespec itself.
67192         (Depends-on): Add time; remove extensions.
67193         (Maintainer): Add self.
67194         * modules/utimecmp (Depends-on): Add time; remove timespec.
67195         * modules/utimens (Depends-on): Likewise.
67196         * modules/xnanosleep (Depends-on): Likewise.
67197
67198 2007-02-11  Bruno Haible  <bruno@clisp.org>
67199
67200         * lib/c-strstr.c: Include allocsa.h.
67201         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
67202         * lib/c-strcasestr.c: Include allocsa.h.
67203         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
67204         * lib/strcasestr.c: Include allocsa.h.
67205         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
67206         * lib/mbsstr.c: Include allocsa.h.
67207         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
67208         allocsa/freesa instead of malloc/free.
67209         * lib/mbscasestr.c: Include allocsa.h.
67210         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
67211         allocsa/freesa instead of malloc/free.
67212         * modules/c-strstr (Depends-on): Add allocsa.
67213         * modules/c-strcasestr (Depends-on): Likewise.
67214         * modules/strcasestr (Depends-on): Likewise.
67215         * modules/mbsstr (Depends-on): Likewise.
67216         * modules/mbscasestr (Depends-on): Likewise.
67217
67218 2007-02-11  Bruno Haible  <bruno@clisp.org>
67219
67220         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
67221
67222         * modules/mbsspn-tests: New file.
67223         * tests/test-mbsspn.sh: New file.
67224         * tests/test-mbsspn.c: New file.
67225
67226 2007-02-11  Bruno Haible  <bruno@clisp.org>
67227
67228         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
67229
67230         * modules/mbspbrk-tests: New file.
67231         * tests/test-mbspbrk.sh: New file.
67232         * tests/test-mbspbrk.c: New file.
67233
67234 2007-02-11  Bruno Haible  <bruno@clisp.org>
67235
67236         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
67237         unneeded cast.
67238
67239         * modules/mbscspn-tests: New file.
67240         * tests/test-mbscspn.sh: New file.
67241         * tests/test-mbscspn.c: New file.
67242
67243 2007-02-11  Bruno Haible  <bruno@clisp.org>
67244
67245         * modules/mbscasecmp-tests: New file.
67246         * tests/test-mbscasecmp.sh: New file.
67247         * tests/test-mbscasecmp.c: New file.
67248
67249 2007-02-11  Bruno Haible  <bruno@clisp.org>
67250
67251         Ensure O(n) worst-case complexity of mbscasestr.
67252         * lib/mbscasestr.c: Include stdbool.h.
67253         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
67254         functions.
67255         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
67256         the bookkeeping indicates that it's worth it.
67257         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
67258
67259         * modules/mbscasestr-tests: New file.
67260         * tests/test-mbscasestr1.c: New file.
67261         * tests/test-mbscasestr2.sh: New file.
67262         * tests/test-mbscasestr2.c: New file.
67263         * tests/test-mbscasestr3.sh: New file.
67264         * tests/test-mbscasestr3.c: New file.
67265         * tests/test-mbscasestr4.sh: New file.
67266         * tests/test-mbscasestr4.c: New file.
67267         * m4/locale-tr.m4: New file.
67268
67269 2007-02-11  Bruno Haible  <bruno@clisp.org>
67270
67271         Ensure O(n) worst-case complexity of mbsstr.
67272         * lib/mbsstr.c: Include stdbool.h.
67273         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
67274         functions.
67275         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
67276         bookkeeping indicates that it's worth it.
67277         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
67278
67279         * modules/mbsstr-tests: New file.
67280         * tests/test-mbsstr1.c: New file.
67281         * tests/test-mbsstr2.sh: New file.
67282         * tests/test-mbsstr2.c: New file.
67283         * tests/test-mbsstr3.sh: New file.
67284         * tests/test-mbsstr3.c: New file.
67285         * m4/locale-fr.m4: New file.
67286
67287 2007-02-11  Bruno Haible  <bruno@clisp.org>
67288
67289         * lib/mbsrchr.c (mbsrchr): Fix bug.
67290
67291         * modules/mbsrchr-tests: New file.
67292         * tests/test-mbsrchr.sh: New file.
67293         * tests/test-mbsrchr.c: New file.
67294
67295 2007-02-11  Bruno Haible  <bruno@clisp.org>
67296
67297         * lib/mbschr.c (mbschr): Fix bug.
67298
67299         * modules/mbschr-tests: New file.
67300         * tests/test-mbschr.sh: New file.
67301         * tests/test-mbschr.c: New file.
67302         * m4/locale-zh.m4: New file.
67303
67304 2007-02-11  Bruno Haible  <bruno@clisp.org>
67305
67306         Support for copying multibyte string iterators.
67307         * lib/mbiter.h: Include <string.h>.
67308         (mbiter_multi_copy): New function.
67309         (mbi_copy): New macro.
67310         * lib/mbuiter.h: Include <string.h>.
67311         (mbuiter_multi_copy): New function.
67312         (mbui_copy): New macro.
67313
67314 2007-02-11  Bruno Haible  <bruno@clisp.org>
67315
67316         New module mbslen.
67317         * modules/mbslen: New file.
67318         * lib/mbslen.c: New file.
67319         * lib/string_.h (mbslen): New declaration.
67320         * m4/mbslen.m4: New file.
67321         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67322         GNULIB_MBSLEN.
67323         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
67324         * MODULES.html.sh (Internationalization functions): Add mbslen.
67325
67326 2007-02-11  Bruno Haible  <bruno@clisp.org>
67327
67328         Ensure O(n) worst-case complexity of strcasestr substitute.
67329         * lib/strcasestr.c: Include stdbool.h.
67330         (knuth_morris_pratt): New function.
67331         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
67332         bookkeeping indicates that it's worth it.
67333         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
67334
67335         * modules/strcasestr-tests: New file.
67336         * tests/test-strcasestr.c: New file.
67337
67338 2007-02-11  Bruno Haible  <bruno@clisp.org>
67339
67340         Ensure O(n) worst-case complexity of c_strcasestr.
67341         * lib/c-strcasestr.c: Include stdbool.h, string.h.
67342         (knuth_morris_pratt): New function.
67343         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
67344         the bookkeeping indicates that it's worth it.
67345         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
67346
67347         * modules/c-strcasestr-tests: New file.
67348         * tests/test-c-strcasestr.c: New file.
67349
67350 2007-02-11  Bruno Haible  <bruno@clisp.org>
67351
67352         Ensure O(n) worst-case complexity of c_strstr.
67353         * lib/c-strstr.c: Include stdbool.h, string.h.
67354         (knuth_morris_pratt): New function.
67355         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
67356         bookkeeping indicates that it's worth it.
67357         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
67358
67359         * lib/c-strstr.c: Complete rewrite for maintainability.
67360
67361         * modules/c-strstr-tests: New file.
67362         * tests/test-c-strstr.c: New file.
67363
67364 2007-02-11  Bruno Haible  <bruno@clisp.org>
67365
67366         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
67367         5.2.1 and earlier, whereby \055 was treated just like the range
67368         delimiter '-'.
67369         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
67370
67371 2007-02-08  Bruno Haible  <bruno@clisp.org>
67372
67373         * modules/regex (Depends-on): Add stdbool.
67374         Reported by Dalibor Topic <robilad@kaffe.org>.
67375
67376 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
67377
67378         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
67379         Prefer returning from main to exiting from it.
67380         Remove unnecessary parens after sizeof.
67381
67382 2007-02-05  Bruno Haible  <bruno@clisp.org>
67383
67384         New module mbssep.
67385         * modules/mbssep: New file.
67386         * lib/mbssep.c: New file.
67387         * lib/string_.h (strsep): Add a conditional link warning.
67388         (mbssep): New declaration.
67389         * m4/mbssep.m4: New file.
67390         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67391         GNULIB_MBSSEP.
67392         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
67393         * MODULES.html.sh (Internationalization functions): Add mbssep.
67394
67395 2007-02-05  Bruno Haible  <bruno@clisp.org>
67396
67397         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
67398         Optimize search in case of 1 delimiter.
67399
67400 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
67401
67402         * lib/acl.h: Include sys/types.h before sys/acl.h.
67403
67404 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
67405
67406         Merge upstream fix for glibc bugzilla #3957:
67407
67408         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
67409
67410         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
67411         bit for RE_HAT_LISTS_NOT_NEWLINE.
67412         (build_charclass_op): Remove bogus comment.
67413
67414 2007-02-05  Simon Josefsson  <simon@josefsson.org>
67415
67416         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
67417
67418 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
67419
67420         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
67421         * lib/memmem.c [!defined _LIBC]: Include config.h.
67422
67423 2007-02-04  Bruno Haible  <bruno@clisp.org>
67424
67425         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
67426         warning message.
67427
67428 2007-02-04  Bruno Haible  <bruno@clisp.org>
67429
67430         New module mbstok_r.
67431         * modules/mbstok_r: New file.
67432         * lib/mbstok_r.c: New file.
67433         * lib/string_.h (strtok_r): Change argument names to match the
67434         comments. Add a conditional link warning.
67435         (mbstok_r): New declaration.
67436         * m4/mbstok_r.m4: New file.
67437         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67438         GNULIB_MBSTOK_R.
67439         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
67440         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
67441
67442 2007-02-04  Bruno Haible  <bruno@clisp.org>
67443
67444         New module mbsspn.
67445         * modules/mbsspn: New file.
67446         * lib/mbsspn.c: New file.
67447         * lib/string_.h (strspn): Add a conditional link warning.
67448         (mbsspn): New declaration.
67449         * m4/mbsspn.m4: New file.
67450         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67451         GNULIB_MBSSPN.
67452         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
67453         * MODULES.html.sh (Internationalization functions): Add mbsspn.
67454
67455 2007-02-04  Bruno Haible  <bruno@clisp.org>
67456
67457         New module mbspbrk.
67458         * modules/mbspbrk: New file.
67459         * lib/mbspbrk.c: New file.
67460         * lib/string_.h (strpbrk): Add a conditional link warning.
67461         (mbspbrk): New declaration.
67462         * m4/mbspbrk.m4: New file.
67463         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67464         GNULIB_MBSPBRK.
67465         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
67466         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
67467
67468 2007-02-04  Bruno Haible  <bruno@clisp.org>
67469
67470         New module mbscspn.
67471         * modules/mbscspn: New file.
67472         * lib/mbscspn.c: New file.
67473         * lib/string_.h (strcspn): Add a conditional link warning.
67474         (mbscspn): New declaration.
67475         * m4/mbscspn.m4: New file.
67476         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67477         GNULIB_MBSCSPN.
67478         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
67479         * MODULES.html.sh (Internationalization functions): Add mbscspn.
67480
67481 2007-02-04  Bruno Haible  <bruno@clisp.org>
67482
67483         New module mbscasestr, reduced goal of strcasestr.
67484         * modules/mbscasestr: New file.
67485         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
67486         (mbscasestr): Renamed from strcasestr.
67487         * lib/strcasestr.c: Don't include mbuiter.h.
67488         (strcasestr): Remove support for multibyte locales.
67489         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
67490         Change the conditional link warning.
67491         (mbscasestr): New declaration.
67492         * m4/mbscasestr.m4: New file.
67493         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
67494         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
67495         REPLACE_STRCASESTR.
67496         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
67497         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
67498         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
67499         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
67500         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
67501         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
67502         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
67503         (Depends-on): Remove mbuiter.
67504         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
67505
67506 2007-02-04  Bruno Haible  <bruno@clisp.org>
67507
67508         Simplify handling of strncasecmp.
67509         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
67510         the conditional link warning.
67511         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
67512         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
67513         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
67514         * modules/strcase (configure.ac): Don't invoke
67515         gl_STRING_MODULE_INDICATOR.
67516         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
67517
67518 2007-02-04  Bruno Haible  <bruno@clisp.org>
67519
67520         New module mbscasecmp, reduced goal of strcasecmp.
67521         * modules/mbscasecmp: New file.
67522         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
67523         (mbscasecmp): Renamed from strcasecmp.
67524         * lib/strcasecmp.c: Don't include mbuiter.h.
67525         (strcasecmp): Remove support for multibyte locales.
67526         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
67527         Change the conditional link warning.
67528         (mbscasecmp): New declaration.
67529         * m4/mbscasecmp.m4: New file.
67530         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
67531         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
67532         REPLACE_STRCASECMP.
67533         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
67534         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67535         GNULIB_MBSCASECMP.
67536         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
67537         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
67538         * modules/strcase (Files): Remove m4/mbrtowc.m4.
67539         (Depends-on): Remove mbuiter.
67540         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
67541
67542 2007-02-04  Bruno Haible  <bruno@clisp.org>
67543
67544         New module mbsstr. Remove module strstr.
67545         * modules/mbsstr: New file.
67546         * modules/strstr: Remove file.
67547         * lib/mbsstr.c: Renamed from lib/strstr.c.
67548         (mbsstr): Renamed from strstr.
67549         * lib/string_.h (strstr): Remove declaration. Change the conditional
67550         link warning.
67551         (mbsstr): New declaration.
67552         * m4/mbsstr.m4: New file.
67553         * m4/strstr.m4: Remove file.
67554         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
67555         REPLACE_STRSTR.
67556         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
67557         Don't initialize GNULIB_STRSTR.
67558         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
67559         substitute GNULIB_STRSTR and REPLACE_STRSTR.
67560         * MODULES.html.sh (Internationalization functions): Add mbsstr.
67561         (Support for systems lacking ANSI C 89): Remove strstr.
67562
67563 2007-02-04  Bruno Haible  <bruno@clisp.org>
67564
67565         New module mbsrchr.
67566         * modules/mbsrchr: New file.
67567         * lib/mbsrchr.c: New file.
67568         * lib/string_.h (strrchr): Add a conditional link warning.
67569         (mbsrchr): New declaration.
67570         * m4/mbsrchr.m4: New file.
67571         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67572         GNULIB_MBSRCHR.
67573         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
67574         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
67575
67576 2007-02-04  Bruno Haible  <bruno@clisp.org>
67577
67578         New module mbschr.
67579         * modules/mbschr: New file.
67580         * lib/mbschr.c: New file.
67581         * lib/string_.h (strchr): Add a conditional link warning.
67582         (mbschr): New declaration.
67583         * m4/mbschr.m4: New file.
67584         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67585         GNULIB_MBSCHR.
67586         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
67587         * MODULES.html.sh (Internationalization functions): Add mbschr.
67588
67589 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
67590
67591         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
67592
67593         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
67594
67595 2007-02-04  Bruno Haible  <bruno@clisp.org>
67596
67597         New module description section 'configure.ac-early'.
67598         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
67599         (func_get_autoconf_early_snippet): New function.
67600         (func_import, func_create_testdir): Use it. Remove special cases for
67601         modules 'extensions' and 'lock'.
67602         * modules/extensions (configure.ac-early): Require
67603         gl_USE_SYSTEM_EXTENSIONS.
67604         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
67605
67606 2007-02-04  Bruno Haible  <bruno@clisp.org>
67607
67608         Make use of gcj-4.3's -fsource and -ftarget option.
67609         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
67610         and if so try the options -fsource and -ftarget.
67611         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
67612         source_version, ftarget_option, target_version arguments.
67613         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
67614         (is_envjavac_oldgcj_14_14_usable): Renamed from
67615         is_envjavac_gcj_14_14_usable.
67616         (is_envjavac_oldgcj_14_13_usable): Renamed from
67617         is_envjavac_gcj_14_13_usable.
67618         (is_gcj_present): Update.
67619         (is_gcj_43, is_gcj43_usable): New functions.
67620         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
67621         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
67622         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
67623         try the options -fsource and -ftarget.
67624
67625 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
67626
67627         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
67628         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
67629         larger value.
67630
67631 2007-02-03  Jim Meyering  <jim@meyering.net>
67632
67633         Give tools a better chance to allocate space for very large buffers.
67634         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
67635
67636         Make pwd and readlink work also when run with an unreadable parent dir
67637         on systems with openat support.
67638         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
67639         provided getcwd function, even when we have openat support.
67640         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
67641
67642 2007-02-02  Bruno Haible  <bruno@clisp.org>
67643
67644         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
67645         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
67646         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
67647         portability problems if one of these functions is only used on specific
67648         platforms.
67649         Reported by Paul Eggert.
67650
67651 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
67652
67653         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
67654         is causing more trouble than it's curing.
67655         * lib/regex_internal.h (__mempcpy): Remove.
67656         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
67657         (and make the code a tad smaller to boot).
67658         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
67659
67660 2007-02-02  Jim Meyering  <jim@meyering.net>
67661
67662         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
67663         section, not in the Makefile.am: one.
67664
67665 2007-02-02  Eric Blake  <ebb9@byu.net>
67666
67667         * lib/strchrnul.c: Always include config.h first.
67668
67669         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
67670         gnulib strstr is not necessary here.
67671
67672 2007-02-02  Simon Josefsson  <simon@josefsson.org>
67673
67674         * m4/socklen.m4: Fix typo.
67675
67676 2007-02-02  Eric Blake  <ebb9@byu.net>
67677
67678         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
67679         * modules/netinet_in (Makefile.am): Likewise.
67680
67681 2007-02-01  Bruno Haible  <bruno@clisp.org>
67682
67683         * lib/string_.h (GL_LINK_WARNING): New macro.
67684         (strcasecmp, strstr, strcasestr): If provided by the system,
67685         conditionally define as a macro that leads to a warning instead of to
67686         an error.
67687         (strncasecmp): Conditionally define as a macro that leads to a warning.
67688
67689 2007-02-01  Karl Berry  <karl@gnu.org>
67690
67691         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
67692
67693 2007-02-01  Bruno Haible  <bruno@clisp.org>
67694
67695         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
67696         renamings.
67697
67698 2007-02-01  Eric Blake  <ebb9@byu.net>
67699
67700         * modules/regex (Depends-on): Revert dependence on mempcpy.
67701         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
67702         module's definition of mempcpy.
67703         Reported by Paul Eggert.
67704
67705 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
67706
67707         * lib/string_.h: If the gnulib module XYZ is not present, undefine
67708         the symbol XYZ before redefining it.  This fixes a problem with
67709         programs that don't use XYZ, when compiled on systems that define
67710         XYZ to something else.
67711
67712 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
67713
67714         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
67715         occurs when "mkdir -m foo" creates a setgid directory that is (1)
67716         writeable to group or other and (2) is intended to have a special
67717         mode bit that is set or cleared.  In such a case, the directory
67718         should be neither group- nor other-writeable until the special
67719         mode bits are right.
67720
67721 2007-01-31  Eric Blake  <ebb9@byu.net>
67722
67723         * modules/mountlist (Depends-on): Add strstr.
67724
67725         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
67726         bug.
67727         * modules/string (Makefile.am): Remove redundant replacement.
67728         * modules/regex (Depends-on): Add mempcpy.
67729
67730 2007-01-31  Bruno Haible  <bruno@clisp.org>
67731
67732         New module description field 'Link'.
67733         * gnulib-tool (func_usage): Document --extract-link-directive.
67734         (sed_extract_prog): Recognize 'Link' directive.
67735         (func_get_link_directive): New function.
67736         (func_import): Show summary of link directives.
67737         Handle --extract-link-directive option.
67738         * modules/acl (Link): New section.
67739         * modules/clock-time (Link): New section.
67740         * modules/euidaccess (Link): New section.
67741         * modules/gettext (Link): New section.
67742         * modules/iconv (Link): New section.
67743         * modules/lock (Link): New section.
67744         * modules/nanosleep (Link): New section.
67745         * modules/readline (Link): New section.
67746
67747 2007-01-27  Bruno Haible  <bruno@clisp.org>
67748
67749         Enforce the use of gnulib modules for unportable <string.h> functions.
67750         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
67751         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
67752         (gl_HEADER_STRING_H_BODY): Require it.
67753         * lib/string_.h: If the gnulib module XYZ is not present, redefine
67754         the symbol XYZ to one that gives a link error.
67755         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
67756         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
67757         * modules/mempcpy (configure.ac): Likewise.
67758         * modules/memrchr (configure.ac): Likewise.
67759         * modules/stpcpy (configure.ac): Likewise.
67760         * modules/stpncpy (configure.ac): Likewise.
67761         * modules/strcase (configure.ac): Likewise.
67762         * modules/strcasestr (configure.ac): Likewise.
67763         * modules/strchrnul (configure.ac): Likewise.
67764         * modules/strdup (configure.ac): Likewise.
67765         * modules/strndup (configure.ac): Likewise.
67766         * modules/strnlen (configure.ac): Likewise.
67767         * modules/strpbrk (configure.ac): Likewise.
67768         * modules/strsep (configure.ac): Likewise.
67769         * modules/strstr (configure.ac): Likewise.
67770         * modules/strtok_r (configure.ac): Likewise.
67771
67772 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
67773
67774         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
67775
67776 2007-01-30  Jim Meyering  <jim@meyering.net>
67777
67778         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
67779
67780 2007-01-29  Bruno Haible  <bruno@clisp.org>
67781
67782         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
67783         * lib/execute.c: Likewise.
67784         * lib/pipe.c: Likewise.
67785         * lib/printf-args.h: Likewise.
67786         * lib/printf-args.c: Likewise.
67787         * lib/printf-parse.c: Likewise.
67788         * lib/vasnprintf.c: Likewise.
67789
67790 2007-01-29  Eric Blake  <ebb9@byu.net>
67791
67792         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
67793         declaration.
67794
67795 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
67796
67797         * lib/strptime.h (strptime): Use 'restrict' for args where
67798         POSIX requires this.
67799         * lib/strptime.c (strptime): Likewise.
67800         Change license notice from LGPL to GPL, since gnulib-tool will
67801         change this as needed.
67802         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
67803         defined.
67804         Include "strptime.h" first, to check interface.
67805         Do not #undef _LIBC and _NL_CURRENT.
67806         Do not include <stdlib.h>; no longer needed.
67807         Include "time_r.h" and declare ptime_locale_status
67808         only if _LIBC is not defined.
67809         (__P): Remove unused macro.
67810         (match_string): Bring back glibc version, but use it only if _LIBC
67811         is defined.
67812         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
67813         Remove unnecessary assertion and abort() call.
67814         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
67815         * m4/strptime.m4: Fix serial number comment.
67816         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
67817         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
67818         (Depends-on): Add time_r.
67819
67820 2007-01-29  Bruno Haible  <bruno@clisp.org>
67821
67822         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
67823         strptime.
67824         * modules/strptime (Depends-on): Add stdbool.
67825         * lib/strptime.h: Include <time.h> always. Add comments.
67826
67827 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
67828
67829         * modules/strptime: New file.
67830         * lib/strptime.h: New file.
67831         * lib/strptime.c: New file.
67832         * m4/strptime.m4: New file.
67833
67834 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
67835
67836         * MODULES.html.sh: New module mpsort.
67837         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
67838
67839         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
67840         a circularity problem with HP-UX ia64 reported by Bob Proulx in
67841         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
67842         All uses changed.
67843         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
67844         All uses changed.
67845         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
67846         to _Restrict_.
67847         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
67848         the parameter matches the prototype.
67849
67850 2007-01-28  Jim Meyering  <jim@meyering.net>
67851
67852         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
67853         sys/time.h here, reverting that part of the previous patch:
67854         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
67855
67856 2007-01-28  Bruno Haible  <bruno@clisp.org>
67857
67858         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
67859         value of $(SYS_TIME_H).
67860         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
67861         remove it conditionally, too. [added by Jim Meyering]
67862         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
67863         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
67864         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
67865         GETTIMEOFDAY_REPLACEMENT to 1.
67866
67867 2007-01-28  Bruno Haible  <bruno@clisp.org>
67868
67869         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
67870         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
67871         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
67872         Set UNISTD_H instead of UNISTD_H2.
67873         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
67874
67875 2007-01-28  Bruno Haible  <bruno@clisp.org>
67876
67877         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
67878         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
67879
67880 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67881
67882         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
67883         (func_create_testdir): Ensure C locale for `grep' and `tr'
67884         character ranges.
67885         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
67886         ACLOCAL_AMFLAGS parsing state machine.
67887
67888 2007-01-27  Bruno Haible  <bruno@clisp.org>
67889
67890         * modules/unistr/base: Update.
67891
67892 2007-01-27  Bruno Haible  <bruno@clisp.org>
67893
67894         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
67895         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
67896         * modules/unistr/u32-mbtouc-unsafe: Renamed from
67897         modules/unistr/u32-mbtouc.
67898         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
67899         * lib/unistr.h: Update.
67900         * lib/linebreak.c: Update.
67901         * modules/unistr/u32-mbtouc: Renamed from
67902         modules/unistr/u32-mbtouc-safe.
67903         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
67904         * lib/unistr.h: Update.
67905         * lib/unistr/u32-to-u8.c: Update.
67906         * lib/unistr/u32-to-u16.c: Update.
67907
67908 2007-01-27  Bruno Haible  <bruno@clisp.org>
67909
67910         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
67911         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
67912         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
67913         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
67914         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
67915         * modules/unistr/u16-mbtouc-unsafe: Renamed from
67916         modules/unistr/u16-mbtouc.
67917         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
67918         * lib/unistr.h: Update.
67919         * lib/linebreak.c: Update.
67920         * modules/linebreak: Update.
67921         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
67922         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
67923         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
67924         * modules/unistr/u16-mbtouc: Renamed from
67925         modules/unistr/u16-mbtouc-safe.
67926         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
67927         * lib/unistr.h: Update.
67928         * lib/unistr/u16-to-u8.c: Update.
67929         * modules/unistr/u16-to-u8: Update.
67930         * lib/unistr/u16-to-u32.c: Update.
67931         * modules/unistr/u16-to-u32: Update.
67932
67933 2007-01-27  Bruno Haible  <bruno@clisp.org>
67934
67935         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
67936         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
67937         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
67938         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
67939         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
67940         * modules/unistr/u8-mbtouc-unsafe: Renamed from
67941         modules/unistr/u8-mbtouc.
67942         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
67943         * lib/unistr.h: Update.
67944         * lib/striconveh.c: Update.
67945         * modules/striconveh: Update.
67946         * lib/linebreak.c: Update.
67947         * modules/linebreak: Update.
67948         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
67949         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
67950         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
67951         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
67952         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
67953         * lib/unistr.h: Update.
67954         * lib/striconveh.c: Update.
67955         * modules/striconveh: Update.
67956         * lib/unistr/u8-to-u16.c: Update.
67957         * modules/unistr/u8-to-u16: Update.
67958         * lib/unistr/u8-to-u32.c: Update.
67959         * modules/unistr/u8-to-u32: Update.
67960
67961 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67962
67963         Sync from Libtool.
67964         * lib/argz.c: Do not include strings.h nor memory.h, include
67965         string.h unconditionally.  Patch by Simon Josefsson.
67966
67967 2007-01-27  Bruno Haible  <bruno@clisp.org>
67968
67969         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
67970         from gl_HEADER_STRING_H_BODY.
67971         (gl_HEADER_STRING_H_BODY): Require it.
67972         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
67973         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
67974         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
67975         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
67976         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
67977         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
67978         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
67979         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
67980         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
67981         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
67982         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
67983         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
67984         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
67985         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
67986         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
67987
67988 2007-01-27  Bruno Haible  <bruno@clisp.org>
67989
67990         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
67991         check_PROGRAMS into noinst_PROGRAMS.
67992         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
67993         check_PROGRAMS in this case.
67994         (func_import): Set for_test to false.
67995         (func_create_testdir): Set for_test to true.
67996
67997 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
67998             Bruno Haible  <bruno@clisp.org>
67999
68000         * modules/strcasestr (Files): Remove lib/strcasestr.h.
68001         (Depends-on): Add string.
68002         (Includes): Use <string.h> instead of strcasestr.h.
68003         * modules/string (Makefile.am): Also substitute the value of
68004         REPLACE_STRCASESTR.
68005         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
68006         assume strcasestr is declared in <string.h> not <strings.h>. Also
68007         set REPLACE_STRCASESTR.
68008         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
68009         REPLACE_STRCASESTR.
68010         * lib/strcasestr.h: Remove file.
68011         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
68012         * lib/string_.h (strcasestr): New declaration.
68013
68014 2007-01-27  Bruno Haible  <bruno@clisp.org>
68015
68016         * lib/string_.h: Use 'extern'.
68017
68018 2007-01-27  Jim Meyering  <jim@meyering.net>
68019
68020         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
68021         of set-but-not-used local, "q".
68022
68023         * lib/mempcpy.c: Include <config.h> before <string.h>.
68024         This fixes a compilation error on HP-UX, due to the system's
68025         "restrict"-using mempcpy prototype.
68026
68027 2007-01-26  Bruno Haible  <bruno@clisp.org>
68028
68029         Small optimization.
68030         * lib/javacomp.c: Include c-strstr.h.
68031          (is_envjavac_gcj): Use c_strstr instead of strstr.
68032         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
68033
68034 2007-01-26  Bruno Haible  <bruno@clisp.org>
68035
68036         * MODULES.html.sh (Unicode string functions): Add the new modules.
68037
68038         * modules/uniconv/u32-strconv-to-locale: New file.
68039         * lib/uniconv/u32-strconv-to-locale.c: New file.
68040
68041         * modules/uniconv/u16-strconv-to-locale: New file.
68042         * lib/uniconv/u16-strconv-to-locale.c: New file.
68043
68044         * modules/uniconv/u8-strconv-to-locale: New file.
68045         * lib/uniconv/u8-strconv-to-locale.c: New file.
68046
68047         * modules/uniconv/u32-strconv-from-locale: New file.
68048         * lib/uniconv/u32-strconv-from-locale.c: New file.
68049
68050         * modules/uniconv/u16-strconv-from-locale: New file.
68051         * lib/uniconv/u16-strconv-from-locale.c: New file.
68052
68053         * modules/uniconv/u8-strconv-from-locale: New file.
68054         * lib/uniconv/u8-strconv-from-locale.c: New file.
68055
68056         * modules/uniconv/u32-strconv-to-enc: New file.
68057         * lib/uniconv/u32-strconv-to-enc.c: New file.
68058         * modules/uniconv/u32-strconv-to-enc-tests: New file.
68059         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
68060
68061         * modules/uniconv/u16-strconv-to-enc: New file.
68062         * lib/uniconv/u16-strconv-to-enc.c: New file.
68063         * lib/uniconv/u-strconv-to-enc.h: New file.
68064         * modules/uniconv/u16-strconv-to-enc-tests: New file.
68065         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
68066
68067         * modules/uniconv/u8-strconv-to-enc: New file.
68068         * lib/uniconv/u8-strconv-to-enc.c: New file.
68069         * modules/uniconv/u8-strconv-to-enc-tests: New file.
68070         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
68071
68072         * modules/uniconv/u32-strconv-from-enc: New file.
68073         * lib/uniconv/u32-strconv-from-enc.c: New file.
68074         * modules/uniconv/u32-strconv-from-enc-tests: New file.
68075         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
68076
68077         * modules/uniconv/u16-strconv-from-enc: New file.
68078         * lib/uniconv/u16-strconv-from-enc.c: New file.
68079         * modules/uniconv/u16-strconv-from-enc-tests: New file.
68080         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
68081
68082         * modules/uniconv/u8-strconv-from-enc: New file.
68083         * lib/uniconv/u8-strconv-from-enc.c: New file.
68084         * lib/uniconv/u-strconv-from-enc.h: New file.
68085         * modules/uniconv/u8-strconv-from-enc-tests: New file.
68086         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
68087
68088         * modules/uniconv/u32-conv-from-enc: New file.
68089         * lib/uniconv/u32-conv-from-enc.c: New file.
68090         * modules/uniconv/u32-conv-from-enc-tests: New file.
68091         * tests/uniconv/test-u32-conv-from-enc.c: New file.
68092
68093         * modules/uniconv/u16-conv-from-enc: New file.
68094         * lib/uniconv/u16-conv-from-enc.c: New file.
68095         * lib/uniconv/u-conv-from-enc.h: New file.
68096         * modules/uniconv/u16-conv-from-enc-tests: New file.
68097         * tests/uniconv/test-u16-conv-from-enc.c: New file.
68098
68099         * modules/uniconv/u8-conv-from-enc: New file.
68100         * lib/uniconv/u8-conv-from-enc.c: New file.
68101         * modules/uniconv/u8-conv-from-enc-tests: New file.
68102         * tests/uniconv/test-u8-conv-from-enc.c: New file.
68103
68104         * modules/uniconv/base: New file.
68105         * lib/uniconv.h: New file.
68106
68107 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
68108
68109         * doc/gnulib-tool.texi (Initial import): Update to match current
68110         behavior with strdup module.
68111         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
68112         * lib/memmem.h: Remove; all uses removed.  This is now done
68113         by <string.h>.
68114         * lib/mempcpy.h: Likewise.
68115         * lib/memrchr.h: Likewise.
68116         * lib/stpcpy.h: Likewise.
68117         * lib/stpncpy.h: Likewise.
68118         * lib/strcase.h: Likewise.
68119         * lib/strchrnul.h: Likewise.
68120         * lib/strdup.h: Likewise.
68121         * lib/strndup.h: Likewise.
68122         * lib/strnlen.h: Likewise.
68123         * lib/strpbrk.h: Likewise.
68124         * lib/strsep.h: Likewise.
68125         * lib/strstr.h: Likewise.
68126         * lib/strtok_r.h: Likewise.
68127         * lib/string_.h: New file.
68128         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
68129         Rely on <string.h> instead.
68130         * lib/canon-host.c: Likewise.
68131         * lib/chdir-long.c: Likewise.
68132         * lib/concatpath.c: Likewise.
68133         * lib/exclude.c: Likewise.
68134         * lib/fchdir.c: Likewise.
68135         * lib/getaddrinfo.c: Likewise.
68136         * lib/getcwd.c: Likewise.
68137         * lib/getsubopt.c: Likewise.
68138         * lib/glob.c: Likewise.
68139         * lib/hard-locale.c: Likewise.
68140         * lib/iconvme.c: Likewise.
68141         * lib/javacomp.c: Likewise.
68142         * lib/mempcpy.c: Likewise.
68143         * lib/memrchr.c: Likewise.
68144         * lib/regex_internal.h: Likewise.
68145         * lib/stpncpy.c: Likewise.
68146         * lib/strcasecmp.c: Likewise.
68147         * lib/strchrnul.c: Likewise.
68148         * lib/strdup.c: Likewise.
68149         * lib/striconv.c: Likewise.
68150         * lib/striconveh.c: Likewise.
68151         * lib/striconveha.c: Likewise.
68152         * lib/strncasecmp.c: Likewise.
68153         * lib/strndup.c: Likewise.
68154         * lib/strnlen.c: Likewise.
68155         * lib/strsep.c: Likewise.
68156         * lib/strstr.c: Likewise.
68157         * lib/strtok_r.c: Likewise.
68158         * lib/userspec.c: Likewise.
68159         * lib/w32spawn.h: Likewise.
68160         * lib/xstrndup.c: Likewise.
68161         * lib/mountlist.c (strstr): Remove decl.
68162         * m4/string_h.m4: New file.
68163         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
68164         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
68165         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
68166         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
68167         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
68168         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
68169         Set REPLACE_STRCASECMP if necessary.
68170         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
68171         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
68172         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
68173         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
68174         HAVE_DECL_STRDUP if necessary.
68175         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
68176         since gl_FUNC_STRNDUP does that now.
68177         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
68178         Check for decl here...
68179         (gl_PREREQ_STRNLEN): ... not here.
68180         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
68181         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
68182         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
68183         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
68184         necessary.
68185         * modules/string: New file.
68186         * modules/memmem (Files): Remove special-purpose include file.
68187         (Depends-on): Add string.
68188         (Include): Include <string.h>, not the removed file.
68189         * modules/mempcpy: Likewise.
68190         * modules/memrchr: Likewise.
68191         * modules/stpcpy: Likewise.
68192         * modules/stpncpy: Likewise.
68193         * modules/strcase: Likewise.
68194         * modules/strchrnul: Likewise.
68195         * modules/strdup: Likewise.
68196         * modules/strndup: Likewise.
68197         * modules/strnlen: Likewise.
68198         * modules/strpbrk: Likewise.
68199         * modules/strsep: Likewise.
68200         * modules/strstr: Likewise.
68201         * modules/strtok_r: Likewise.
68202         * tests/test-dirname.c: Don't include "strdup.h", since
68203         <string.h> now suffices.
68204         * tests/test-memmem.c: Don't include "memmem.h", since
68205         <string.h> now suffices.
68206
68207 2007-01-25  Bruno Haible  <bruno@clisp.org>
68208
68209         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
68210         *resultp is 0.
68211
68212         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
68213         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
68214         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
68215         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
68216
68217         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
68218         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
68219         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
68220         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
68221         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
68222         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
68223
68224 2007-01-24  Bruno Haible  <bruno@clisp.org>
68225
68226         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
68227         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
68228         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
68229         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
68230         gl_FUNC_FTS_CORE.
68231         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
68232         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
68233         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
68234         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
68235         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
68236         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
68237         gl_FUNC_FCHOWNAT.
68238         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
68239         gl_FUNC_STRFTIME.
68240         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
68241         Reported by Ralf Wildenhues.
68242
68243 2007-01-24  Bruno Haible  <bruno@clisp.org>
68244
68245         Drop AC_REQUIRE calls that are redundant with the module dependencies.
68246         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
68247         gl_GETADDRINFO.
68248         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
68249         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
68250         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
68251
68252 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
68253
68254         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
68255         Don't use 'exit'; just return from 'main'.
68256         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
68257
68258         * lib/fnmatch_.h: Readjust white space and comments to match
68259         glibc, to avoid spurious diffs.
68260
68261 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
68262
68263         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
68264         2004-12-01 change by Jakub Jelinek, since this code won't compile
68265         if !LIBC.  Problem reported by Bob Proulx.
68266
68267 2007-01-23  Bruno Haible  <bruno@clisp.org>
68268
68269         * lib/striconveh.c: Include c-strcaseeq.h.
68270         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
68271         * modules/striconveh (Depends-on): Add c-strcaseeq.
68272
68273 2007-01-23  Bruno Haible  <bruno@clisp.org>
68274
68275         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
68276
68277         * modules/c-strcaseeq: New file.
68278         * lib/c-strcaseeq.h: New file.
68279
68280         * modules/streq: New file.
68281         * lib/streq.h: New file.
68282
68283 2007-01-23  Bruno Haible  <bruno@clisp.org>
68284
68285         * modules/striconveha-tests: New file.
68286         * tests/test-striconveha.c: New file.
68287
68288         * lib/striconveha.h: Include <stdbool.h>.
68289         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
68290         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
68291         (mem_iconveha_notranslit): Renamed from mem_iconveha.
68292         (mem_iconveha): New function.
68293         (str_iconveha_notranslit): Renamed from str_iconveha.
68294         (str_iconveha): New function.
68295         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
68296         c-strcase.
68297
68298 2007-01-23  Bruno Haible  <bruno@clisp.org>
68299
68300         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
68301         encodings without forgiving before trying any encoding with handler.
68302         (str_iconveha): Try all encodings without forgiving before trying any
68303         encoding with handler.
68304
68305 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
68306
68307         Import the following changes from libc.
68308
68309         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
68310
68311         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
68312
68313         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
68314
68315         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
68316         normal_bracket label.
68317
68318         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
68319
68320         [BZ #361]
68321         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
68322         to normal_bracket after fetching the next character.
68323
68324 2007-01-22  Bruno Haible  <bruno@clisp.org>
68325
68326         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
68327         argument.
68328         * lib/striconveh.c (iconv_carefully_1): New function.
68329         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
68330         argument.
68331         (str_cd_iconveh): Update.
68332         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
68333         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
68334         * tests/test-striconveh.c (MAGIC): New macro.
68335         (new_offsets): New function.
68336         (main): Test call with and without offsets.
68337
68338 2007-01-22  Bruno Haible  <bruno@clisp.org>
68339
68340         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
68341         * modules/sys_select (Makefile.am): Likewise.
68342         * modules/sys_socket (Makefile.am): Likewise.
68343         * modules/sys_time (Makefile.am): Likewise.
68344
68345 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
68346
68347         * modules/gettimeofday (License): Change from GPL to LGPL, since
68348         gettimeofday is a library function.
68349
68350 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
68351
68352         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
68353
68354 2007-01-21  Bruno Haible  <bruno@clisp.org>
68355
68356         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
68357
68358 2007-01-21  Bruno Haible  <bruno@clisp.org>
68359
68360         * modules/striconveha: New file.
68361         * lib/striconveha.h: New file.
68362         * lib/striconveha.c: New file.
68363         * MODULES.html.sh (Internationalization functions): Add striconveha.
68364         * lib/striconv.c (str_iconv): Optimize the case of an empty input
68365         string.
68366         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
68367
68368 2007-01-21  Bruno Haible  <bruno@clisp.org>
68369
68370         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
68371         * lib/striconveh.c (str_iconveh): Likewise.
68372
68373 2007-01-21  Bruno Haible  <bruno@clisp.org>
68374
68375         * lib/striconveh.h (mem_iconveh): New declaration.
68376         * lib/striconveh.c (mem_iconveh): New function.
68377         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
68378
68379 2007-01-21  Bruno Haible  <bruno@clisp.org>
68380
68381         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
68382
68383         * lib/striconveh.h (mem_cd_iconveh): Change specification.
68384         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
68385         original result buffer.
68386         (str_cd_iconveh): Update.
68387         * tests/test-striconveh.c (main): Update.
68388
68389         * lib/striconv.h (mem_cd_iconv): Change specification.
68390         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
68391         result buffer.
68392         (str_cd_iconv): Update.
68393         * tests/test-striconv.c (main): Update.
68394
68395 2007-01-21  Bruno Haible  <bruno@clisp.org>
68396
68397         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
68398
68399 2007-01-20  Jim Meyering  <jim@meyering.net>
68400
68401         * lib/userspec.c (parse_with_separator): If a user or group string
68402         starts with "+", skip the corresponding name-to-ID look-up, since
68403         such a look-up must fail: user and group names may not include "+".
68404
68405 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
68406
68407         * lib/poll.c: Include sys/time.h and time.h unconditionally,
68408         since we now assume the sys_time module.
68409         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
68410         check for sys/time.h; no longer needed.
68411         * modules/poll (Depends-on): Depend on sys_time.
68412
68413 2007-01-18  Bruno Haible  <bruno@clisp.org>
68414
68415         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
68416         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
68417
68418         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
68419         gettimeofday.
68420
68421         * tests/test-gettimeofday.c: Include <time.h>.
68422         (dummy): Remove variable.
68423
68424         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
68425         gl_HEADER_SYS_TIME_H.
68426         (gl_HEADER_SYS_TIME_H): New macro.
68427
68428         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
68429         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
68430         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
68431         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
68432         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
68433         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
68434         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
68435         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
68436         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
68437         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
68438         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
68439
68440         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
68441         last change; it caused a compilation error when cross-compiling to
68442         Cygwin.
68443
68444 2007-01-18  Jim Meyering  <jim@meyering.net>
68445
68446         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
68447         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
68448         than the race-prone "test -d sys || mkdir sys".
68449         (configure.ac): Use AC_PROG_MKDIR_P.
68450         * modules/sys_select: Likewise.
68451         * modules/sys_socket: Likewise.
68452         * modules/sys_time: Likewise.
68453
68454 2007-01-18  Eric Blake  <ebb9@byu.net>
68455
68456         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
68457         replace gettimeofday.
68458         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
68459         name, to avoid infinite recursion.
68460
68461 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
68462
68463         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
68464         module sys_time.
68465         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
68466         assume timespec.h defines struct timeval.
68467         * lib/settime.c: Likewise.
68468         * lib/utimens.c: Likewise.
68469         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
68470         since we now assume the gettimeofday module.
68471         * lib/tempname.c (__gen_tempname): Likewise.
68472         * lib/gettimeofday.h: Remove.
68473         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
68474         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
68475         Include <time.h>, for 'time()'.
68476         (localtime_buffer_addr): Also use this workaround if
68477         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
68478         to simplify the uses.  All uses changed.
68479         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
68480         that #undef is inside {}, and 'const' follows type name consistently.
68481         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
68482         (gettimeofday): Do not use the maximum possible value for
68483         tv->tv_usec, since that might break usages other than ls.c.
68484         Instead, we'll leave ls.c alone.  This undoes today's patch
68485         by Bruno.  Add a compile-time warning for 1s-clock resolution;
68486         we've never observed the problem but might as well keep the
68487         canary.
68488         * lib/nanosleep.c: Include timespec.h first, for interface check.
68489         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
68490         now assume the sys_time module.
68491         * lib/tempname.c: Likewise.
68492         * lib/timespec.h: Likewise.
68493         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
68494         needed.
68495         * lib/strftime.c: Likewise.
68496         * lib/timespec.h: Likewise.
68497         * lib/posixtm.c: Include posixtm.h first, for interface check.
68498         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
68499         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
68500         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
68501         * lib/sys_time_.h: New file.
68502         * lib/timespec.h (struct timespec): Use long int, not long.
68503         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
68504         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
68505         Remove obsolescent call to AC_HEADER_TIME.
68506         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
68507         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
68508         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
68509         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
68510         Likewise.
68511         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
68512         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
68513         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
68514         into the sys_time module.  Check for gettimeofday just once.
68515         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
68516         for gettimeofday signature to just check the signature.  Merely
68517         compile it, since linking doesn't test signature.  Improve test for
68518         whether gettimeofday.o is actually needed.
68519         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
68520         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
68521         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
68522         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
68523         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
68524         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
68525         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
68526         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
68527         than worrying about sys/time.h.
68528         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
68529         Don't bother worrying about TIME_WITH_SYS_TIME.
68530         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
68531         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
68532         * m4/sys_time_h.m4: New file.
68533         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
68534         Don't include sys/time.h.  Return from main rather than exiting.
68535         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
68536         all uses changed.
68537         * modules/gethrxtime (Depends-on): Add sys_time.
68538         * modules/gettime (Depends-on): Likewise.
68539         * modules/gettimeofday (Depends-on): Likewise.
68540         * modules/nanosleep (Depends-on): Likewise.
68541         * modules/settime (Depends-on): Likewise.
68542         * modules/tempname (Depends-on): Likewise.
68543         * modules/utimens (Depends-on): Likewise.
68544         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
68545         (Include): Change back to <sys/time.h>.
68546         (Maintainer): Add self.
68547         * modules/sys_time: New file.
68548         * modules/tempname (Depends-on): Add gettimeofday.
68549         * tests/test-gettimeofday.c: Include <sys/time.h>
68550         rather than gettimeofday.h.
68551
68552 2007-01-17  Bruno Haible  <bruno@clisp.org>
68553
68554         * gnulib-tool (func_get_license): Revert last patch. Instead, let
68555         the license default to GPL.
68556         (func_create_testdir): Don't complain if a module is LGPL and its
68557         tests module depends on GPLed modules.
68558
68559 2007-01-17  Bruno Haible  <bruno@clisp.org>
68560
68561         * lib/gettimeofday.c (gettimeofday): Add code for the case
68562         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
68563         maximum possible value for tv->tv_usec, rather than the minimum one.
68564
68565 2005-10-08  Martin Lambers  <marlam@marlam.de>
68566 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
68567 2007-01-16  Bruno Haible  <bruno@clisp.org>
68568
68569         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
68570         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
68571         gl_FUNC_GETTIMEOFDAY.
68572         (Include): Add gettimeofday.h.
68573         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
68574         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
68575         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
68576         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
68577         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
68578         * lib/gettimeofday.h: New file.
68579         * lib/gettimeofday.c: Include <sys/timeb.h>.
68580         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
68581         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
68582         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
68583         fall back on time().
68584
68585         * tests/test-gettimeofday.c: New file.
68586         * modules/gettimeofday-tests: New file.
68587
68588 2007-01-16  Eric Blake  <ebb9@byu.net>
68589
68590         * modules/fnmatch (Depends-on): Depend on wchar.
68591         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
68592         * m4/fnmatch.m4: Likewise.
68593         * modules/mbchar (Makefile.am): Assume <wchar.h>.
68594         * m4/mbchar.m4: Likewise.
68595         * modules/mbswidth (Depends-on): Depend on wchar.
68596         * lib/mbswidth.c: Assume <wchar.h>.
68597         * m4/mbswidth.m4: Likewise.
68598         * modules/quotearg (Depends-on): Depend on wchar.
68599         * lib/quotearg.c: Assume <wchar.h>.
68600         * m4/quotearg.m4: Likewise.
68601         * modules/regex (Depends-on): Depend on wchar.
68602         * lib/regex_internal.h: Assume <wchar.h>.
68603         * m4/regex.m4: Likewise.
68604         * modules/stdint (Depends-on): Depend on wchar.
68605         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
68606         * m4/stdint.m4: Likewise.
68607         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
68608         * modules/strftime (Depends-on): Depend on wchar.
68609         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
68610         * modules/strtol (Depends-on): Depend on wchar.
68611         * lib/strtol.c: Assume <wchar.h>.
68612         * modules/wcwidth (Depends-on): Depend on wchar.
68613         * lib/wcwidth.h: Assume <wchar.h>.
68614         * m4/wcwidth.m4: Likewise.
68615
68616 2007-01-16  Bruno Haible  <bruno@clisp.org>
68617
68618         * modules/csharpexec-script: New, created from...
68619         * modules/csharpexec: ... this.
68620
68621 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
68622
68623         * modules/javaexec-script: New, created from...
68624         * modules/javaexec: ... this.
68625
68626 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
68627
68628         * modules/poll (Dependencies): Add sys_select.
68629
68630 2007-01-15  Jim Meyering  <jim@meyering.net>
68631
68632         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
68633         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
68634         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
68635         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
68636
68637 2007-01-15  Bruno Haible  <bruno@clisp.org>
68638
68639         * modules/striconveh: New file.
68640         * lib/striconveh.h: New file.
68641         * lib/striconveh.c: New file.
68642         * MODULES.html.sh (Internationalization functions): Add striconveh.
68643
68644         * modules/striconveh-tests: New file.
68645         * tests/test-striconveh.c: New file.
68646
68647 2007-01-15  Bruno Haible  <bruno@clisp.org>
68648
68649         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
68650         not from GNU libiconv or GNU libc.
68651
68652 2007-01-15  Bruno Haible  <bruno@clisp.org>
68653
68654         * doc/gnulib-intro.texi (Copyright): Explain the different license
68655         terms for module descriptions, autoconf macros, tests, documentation.
68656
68657 2007-01-14  Bruno Haible  <bruno@clisp.org>
68658
68659         * modules/striconv-tests: New file.
68660         * tests/test-striconv.c: New file.
68661
68662 2007-01-14  Bruno Haible  <bruno@clisp.org>
68663
68664         * modules/iconv-tests: New file.
68665         * tests/test-iconv.c: New file.
68666
68667 2007-01-14  Bruno Haible  <bruno@clisp.org>
68668
68669         * gnulib-tool (func_get_license): For test modules, use the license of
68670         the main module.
68671
68672 2007-01-14  Bruno Haible  <bruno@clisp.org>
68673
68674         * modules/iconv (Include): Clarify that <iconv.h> can only be included
68675         if iconv is found to exist.
68676
68677 2007-01-14  Bruno Haible  <bruno@clisp.org>
68678
68679         * modules/c-ctype-tests: New file.
68680         * tests/test-c-ctype.c: New file.
68681
68682 2007-01-14  Bruno Haible  <bruno@clisp.org>
68683
68684         * modules/binary-io-tests: New file.
68685         * tests/test-binary-io.sh: New file.
68686         * tests/test-binary-io.c: New file.
68687
68688 2007-01-14  Bruno Haible  <bruno@clisp.org>
68689
68690         * modules/array-oset-tests: New file.
68691         * tests/test-array_oset.c: New file.
68692
68693 2007-01-14  Bruno Haible  <bruno@clisp.org>
68694
68695         * modules/array-list-tests: New file.
68696         * tests/test-array_list.c: New file.
68697
68698 2007-01-14  Bruno Haible  <bruno@clisp.org>
68699
68700         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
68701         and make.
68702         Reported by Simon Josefsson in
68703         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
68704
68705 2007-01-14  Bruno Haible  <bruno@clisp.org>
68706
68707         * modules/allocsa-tests: New file.
68708         * tests/test-allocsa.c: New file.
68709
68710 2007-01-14  Bruno Haible  <bruno@clisp.org>
68711
68712         * modules/fchdir (Depends-on): Add absolute-header.
68713         * modules/unistd (Depends-on): Likewise.
68714
68715 2006-12-30  Bruno Haible  <bruno@clisp.org>
68716
68717         * modules/fchdir: New file.
68718         * modules/unistd (Files): Add lib/unistd_.h.
68719         (Makefile.am): Generate unistd.h from unistd_.h.
68720         * lib/fchdir.c: New file.
68721         * lib/dirent_.h: New file.
68722         * lib/unistd_.h: New file.
68723         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
68724         * m4/fchdir.m4: New file.
68725         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
68726         (gl_HEADER_UNISTD): Invoke it.
68727         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
68728         function.
68729         * lib/backupfile.c (opendir, closedir): Undefine.
68730         * lib/chown.c (open, close): Undefine.
68731         * lib/clean-temp.c (open, close): Undefine.
68732         * lib/copy-file.c (open, close): Undefine.
68733         * lib/execute.c (open, close): Undefine.
68734         * lib/fsusage.c (open, close): Undefine.
68735         * lib/gc-gnulib.c (open, close): Undefine.
68736         * lib/getcwd.c (opendir, closedir): Undefine.
68737         * lib/glob.c (opendir, closedir): Undefine.
68738         * lib/javacomp.c (open, close): Undefine.
68739         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
68740         * lib/openat-proc.c (open, close): Undefine.
68741         * lib/pagealign_alloc.c (open, close): Undefine.
68742         * lib/pipe.c (open, close): Undefine.
68743         * lib/progreloc.c (open, close): Undefine.
68744         * lib/savedir.c (opendir, closedir): Undefine.
68745         * lib/utime.c (open, close): Undefine.
68746         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
68747
68748 2007-01-10  Bruno Haible  <bruno@clisp.org>
68749
68750         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
68751
68752 2007-01-12  Eric Blake  <ebb9@byu.net>
68753
68754         Provide a robust <wchar.h>.  Further simplifications are now
68755         possible in other modules, but not included here.
68756         * modules/wchar: New module.
68757         * m4/wchar.m4: New file.
68758         * lib/wchar_.h: Likewise.
68759         * modules/mbchar (Depends-on): Depend on wchar, as the first use
68760         of the new module.
68761         * MODULES.html.sh (Extended multibyte and wide character utilities):
68762         New section.
68763
68764 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
68765
68766         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
68767         to a reasonable default for memory allocation.
68768         (xreadlink): Don't allocate a huge buffer, to work around a buggy
68769         file system that reports garbage st_size values for symlinks.
68770         Problem reported by Liyang Hu.
68771
68772 2007-01-11  Simon Josefsson  <simon@josefsson.org>
68773
68774         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
68775         Emacs .#* auto-save files).
68776
68777 2007-01-11  Bruno Haible  <bruno@clisp.org>
68778
68779         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
68780         directory.
68781
68782 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
68783
68784         Use @...@ consistently in lib/wctype_.h.
68785         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
68786         on it being set to 1 or 0.
68787         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
68788         go back to AC_SUBSTing it.
68789         * modules/wctype (Makefile.am): Undo previous change.
68790
68791 2007-01-10  Eric Blake  <ebb9@byu.net>
68792
68793         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
68794         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
68795         * modules/wctype (Makefile.am): Likewise.
68796         Reported by Chris McGuire.
68797
68798 2007-01-10  Jim Meyering  <jim@meyering.net>
68799
68800         fts.c: a small readability/maintainability improvement
68801         * lib/fts.c (fts_read): Make this code slightly more readable and
68802         maintainable by hoisting the "sp->fts_cur = p" assignments to
68803         immediately follow the statements that set P.  Derived from
68804         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
68805
68806 2007-01-10  Eric Blake  <ebb9@byu.net>
68807
68808         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
68809         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
68810         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
68811         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
68812         Reported by Chris McGuire.
68813
68814 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68815
68816         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
68817         in sed script.
68818
68819 2007-01-09  Bruno Haible  <bruno@clisp.org>
68820
68821         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
68822         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
68823         variables.
68824         (func_module): Use them.
68825
68826 2007-01-09  Bruno Haible  <bruno@clisp.org>
68827
68828         * modules/unistr/base: New file.
68829         * lib/unistr.h: New file.
68830
68831         * modules/unistr/u8-to-u16: New file.
68832         * lib/unistr/u8-to-u16.c: New file.
68833
68834         * modules/unistr/u8-to-u32: New file.
68835         * lib/unistr/u8-to-u32.c: New file.
68836
68837         * modules/unistr/u16-to-u8: New file.
68838         * lib/unistr/u16-to-u8.c: New file.
68839
68840         * modules/unistr/u16-to-u32: New file.
68841         * lib/unistr/u16-to-u32.c: New file.
68842
68843         * modules/unistr/u32-to-u8: New file.
68844         * lib/unistr/u32-to-u8.c: New file.
68845
68846         * modules/unistr/u32-to-u16: New file.
68847         * lib/unistr/u32-to-u16.c: New file.
68848
68849         * modules/unistr/u8-check: New file.
68850         * modules/unistr/u16-check: New file.
68851         * modules/unistr/u32-check: New file.
68852         * lib/unistr/u8-check.c: New file.
68853         * lib/unistr/u16-check.c: New file.
68854         * lib/unistr/u32-check.c: New file.
68855
68856         * modules/unistr/u8-chr: New file.
68857         * modules/unistr/u16-chr: New file.
68858         * modules/unistr/u32-chr: New file.
68859         * lib/unistr/u8-chr.c: New file.
68860         * lib/unistr/u16-chr.c: New file.
68861         * lib/unistr/u32-chr.c: New file.
68862
68863         * modules/unistr/u8-cmp: New file.
68864         * modules/unistr/u16-cmp: New file.
68865         * modules/unistr/u32-cmp: New file.
68866         * lib/unistr/u8-cmp.c: New file.
68867         * lib/unistr/u16-cmp.c: New file.
68868         * lib/unistr/u32-cmp.c: New file.
68869
68870         * modules/unistr/u8-cpy: New file.
68871         * modules/unistr/u16-cpy: New file.
68872         * modules/unistr/u32-cpy: New file.
68873         * lib/unistr/u8-cpy.c: New file.
68874         * lib/unistr/u16-cpy.c: New file.
68875         * lib/unistr/u32-cpy.c: New file.
68876         * lib/unistr/u-cpy.h: New file.
68877
68878         * modules/unistr/u8-cpy-alloc: New file.
68879         * modules/unistr/u16-cpy-alloc: New file.
68880         * modules/unistr/u32-cpy-alloc: New file.
68881         * lib/unistr/u8-cpy-alloc.c: New file.
68882         * lib/unistr/u16-cpy-alloc.c: New file.
68883         * lib/unistr/u32-cpy-alloc.c: New file.
68884         * lib/unistr/u-cpy-alloc.h: New file.
68885
68886         * modules/unistr/u8-endswith: New file.
68887         * modules/unistr/u16-endswith: New file.
68888         * modules/unistr/u32-endswith: New file.
68889         * lib/unistr/u8-endswith.c: New file.
68890         * lib/unistr/u16-endswith.c: New file.
68891         * lib/unistr/u32-endswith.c: New file.
68892         * lib/unistr/u-endswith.h: New file.
68893
68894         * modules/unistr/u8-mblen: New file.
68895         * modules/unistr/u16-mblen: New file.
68896         * modules/unistr/u32-mblen: New file.
68897         * lib/unistr/u8-mblen.c: New file.
68898         * lib/unistr/u16-mblen.c: New file.
68899         * lib/unistr/u32-mblen.c: New file.
68900
68901         * modules/unistr/u8-mbtouc: New file.
68902         * modules/unistr/u16-mbtouc: New file.
68903         * modules/unistr/u32-mbtouc: New file.
68904         * lib/unistr/u8-mbtouc.c: New file.
68905         * lib/unistr/u16-mbtouc.c: New file.
68906         * lib/unistr/u32-mbtouc.c: New file.
68907
68908         * modules/unistr/u8-mbtouc-safe: New file.
68909         * modules/unistr/u16-mbtouc-safe: New file.
68910         * modules/unistr/u32-mbtouc-safe: New file.
68911         * lib/unistr/u8-mbtouc-safe.c: New file.
68912         * lib/unistr/u16-mbtouc-safe.c: New file.
68913         * lib/unistr/u32-mbtouc-safe.c: New file.
68914
68915         * modules/unistr/u8-move: New file.
68916         * modules/unistr/u16-move: New file.
68917         * modules/unistr/u32-move: New file.
68918         * lib/unistr/u8-move.c: New file.
68919         * lib/unistr/u16-move.c: New file.
68920         * lib/unistr/u32-move.c: New file.
68921         * lib/unistr/u-move.h: New file.
68922
68923         * modules/unistr/u8-next: New file.
68924         * modules/unistr/u16-next: New file.
68925         * modules/unistr/u32-next: New file.
68926         * lib/unistr/u8-next.c: New file.
68927         * lib/unistr/u16-next.c: New file.
68928         * lib/unistr/u32-next.c: New file.
68929
68930         * modules/unistr/u8-prev: New file.
68931         * modules/unistr/u16-prev: New file.
68932         * modules/unistr/u32-prev: New file.
68933         * lib/unistr/u8-prev.c: New file.
68934         * lib/unistr/u16-prev.c: New file.
68935         * lib/unistr/u32-prev.c: New file.
68936
68937         * modules/unistr/u8-set: New file.
68938         * modules/unistr/u16-set: New file.
68939         * modules/unistr/u32-set: New file.
68940         * lib/unistr/u8-set.c: New file.
68941         * lib/unistr/u16-set.c: New file.
68942         * lib/unistr/u32-set.c: New file.
68943         * lib/unistr/u-set.h: New file.
68944
68945         * modules/unistr/u8-startswith: New file.
68946         * modules/unistr/u16-startswith: New file.
68947         * modules/unistr/u32-startswith: New file.
68948         * lib/unistr/u8-startswith.c: New file.
68949         * lib/unistr/u16-startswith.c: New file.
68950         * lib/unistr/u32-startswith.c: New file.
68951         * lib/unistr/u-startswith.h: New file.
68952
68953         * modules/unistr/u8-stpcpy: New file.
68954         * modules/unistr/u16-stpcpy: New file.
68955         * modules/unistr/u32-stpcpy: New file.
68956         * lib/unistr/u8-stpcpy.c: New file.
68957         * lib/unistr/u16-stpcpy.c: New file.
68958         * lib/unistr/u32-stpcpy.c: New file.
68959         * lib/unistr/u-stpcpy.h: New file.
68960
68961         * modules/unistr/u8-stpncpy: New file.
68962         * modules/unistr/u16-stpncpy: New file.
68963         * modules/unistr/u32-stpncpy: New file.
68964         * lib/unistr/u8-stpncpy.c: New file.
68965         * lib/unistr/u16-stpncpy.c: New file.
68966         * lib/unistr/u32-stpncpy.c: New file.
68967         * lib/unistr/u-stpncpy.h: New file.
68968
68969         * modules/unistr/u8-strcat: New file.
68970         * modules/unistr/u16-strcat: New file.
68971         * modules/unistr/u32-strcat: New file.
68972         * lib/unistr/u8-strcat.c: New file.
68973         * lib/unistr/u16-strcat.c: New file.
68974         * lib/unistr/u32-strcat.c: New file.
68975         * lib/unistr/u-strcat.h: New file.
68976
68977         * modules/unistr/u8-strchr: New file.
68978         * modules/unistr/u16-strchr: New file.
68979         * modules/unistr/u32-strchr: New file.
68980         * lib/unistr/u8-strchr.c: New file.
68981         * lib/unistr/u16-strchr.c: New file.
68982         * lib/unistr/u32-strchr.c: New file.
68983
68984         * modules/unistr/u8-strcmp: New file.
68985         * modules/unistr/u16-strcmp: New file.
68986         * modules/unistr/u32-strcmp: New file.
68987         * lib/unistr/u8-strcmp.c: New file.
68988         * lib/unistr/u16-strcmp.c: New file.
68989         * lib/unistr/u32-strcmp.c: New file.
68990
68991         * modules/unistr/u8-strcpy: New file.
68992         * modules/unistr/u16-strcpy: New file.
68993         * modules/unistr/u32-strcpy: New file.
68994         * lib/unistr/u8-strcpy.c: New file.
68995         * lib/unistr/u16-strcpy.c: New file.
68996         * lib/unistr/u32-strcpy.c: New file.
68997         * lib/unistr/u-strcpy.h: New file.
68998
68999         * modules/unistr/u8-strcspn: New file.
69000         * modules/unistr/u16-strcspn: New file.
69001         * modules/unistr/u32-strcspn: New file.
69002         * lib/unistr/u8-strcspn.c: New file.
69003         * lib/unistr/u16-strcspn.c: New file.
69004         * lib/unistr/u32-strcspn.c: New file.
69005         * lib/unistr/u-strcspn.h: New file.
69006
69007         * modules/unistr/u8-strdup: New file.
69008         * modules/unistr/u16-strdup: New file.
69009         * modules/unistr/u32-strdup: New file.
69010         * lib/unistr/u8-strdup.c: New file.
69011         * lib/unistr/u16-strdup.c: New file.
69012         * lib/unistr/u32-strdup.c: New file.
69013         * lib/unistr/u-strdup.h: New file.
69014
69015         * modules/unistr/u8-strlen: New file.
69016         * modules/unistr/u16-strlen: New file.
69017         * modules/unistr/u32-strlen: New file.
69018         * lib/unistr/u8-strlen.c: New file.
69019         * lib/unistr/u16-strlen.c: New file.
69020         * lib/unistr/u32-strlen.c: New file.
69021         * lib/unistr/u-strlen.h: New file.
69022
69023         * modules/unistr/u8-strmblen: New file.
69024         * modules/unistr/u16-strmblen: New file.
69025         * modules/unistr/u32-strmblen: New file.
69026         * lib/unistr/u8-strmblen.c: New file.
69027         * lib/unistr/u16-strmblen.c: New file.
69028         * lib/unistr/u32-strmblen.c: New file.
69029
69030         * modules/unistr/u8-strmbtouc: New file.
69031         * modules/unistr/u16-strmbtouc: New file.
69032         * modules/unistr/u32-strmbtouc: New file.
69033         * lib/unistr/u8-strmbtouc.c: New file.
69034         * lib/unistr/u16-strmbtouc.c: New file.
69035         * lib/unistr/u32-strmbtouc.c: New file.
69036
69037         * modules/unistr/u8-strncat: New file.
69038         * modules/unistr/u16-strncat: New file.
69039         * modules/unistr/u32-strncat: New file.
69040         * lib/unistr/u8-strncat.c: New file.
69041         * lib/unistr/u16-strncat.c: New file.
69042         * lib/unistr/u32-strncat.c: New file.
69043         * lib/unistr/u-strncat.h: New file.
69044
69045         * modules/unistr/u8-strncmp: New file.
69046         * modules/unistr/u16-strncmp: New file.
69047         * modules/unistr/u32-strncmp: New file.
69048         * lib/unistr/u8-strncmp.c: New file.
69049         * lib/unistr/u16-strncmp.c: New file.
69050         * lib/unistr/u32-strncmp.c: New file.
69051
69052         * modules/unistr/u8-strncpy: New file.
69053         * modules/unistr/u16-strncpy: New file.
69054         * modules/unistr/u32-strncpy: New file.
69055         * lib/unistr/u8-strncpy.c: New file.
69056         * lib/unistr/u16-strncpy.c: New file.
69057         * lib/unistr/u32-strncpy.c: New file.
69058         * lib/unistr/u-strncpy.h: New file.
69059
69060         * modules/unistr/u8-strnlen: New file.
69061         * modules/unistr/u16-strnlen: New file.
69062         * modules/unistr/u32-strnlen: New file.
69063         * lib/unistr/u8-strnlen.c: New file.
69064         * lib/unistr/u16-strnlen.c: New file.
69065         * lib/unistr/u32-strnlen.c: New file.
69066         * lib/unistr/u-strnlen.h: New file.
69067
69068         * modules/unistr/u8-strpbrk: New file.
69069         * modules/unistr/u16-strpbrk: New file.
69070         * modules/unistr/u32-strpbrk: New file.
69071         * lib/unistr/u8-strpbrk.c: New file.
69072         * lib/unistr/u16-strpbrk.c: New file.
69073         * lib/unistr/u32-strpbrk.c: New file.
69074         * lib/unistr/u-strpbrk.h: New file.
69075
69076         * modules/unistr/u8-strrchr: New file.
69077         * modules/unistr/u16-strrchr: New file.
69078         * modules/unistr/u32-strrchr: New file.
69079         * lib/unistr/u8-strrchr.c: New file.
69080         * lib/unistr/u16-strrchr.c: New file.
69081         * lib/unistr/u32-strrchr.c: New file.
69082
69083         * modules/unistr/u8-strspn: New file.
69084         * modules/unistr/u16-strspn: New file.
69085         * modules/unistr/u32-strspn: New file.
69086         * lib/unistr/u8-strspn.c: New file.
69087         * lib/unistr/u16-strspn.c: New file.
69088         * lib/unistr/u32-strspn.c: New file.
69089         * lib/unistr/u-strspn.h: New file.
69090
69091         * modules/unistr/u8-strstr: New file.
69092         * modules/unistr/u16-strstr: New file.
69093         * modules/unistr/u32-strstr: New file.
69094         * lib/unistr/u8-strstr.c: New file.
69095         * lib/unistr/u16-strstr.c: New file.
69096         * lib/unistr/u32-strstr.c: New file.
69097         * lib/unistr/u-strstr.h: New file.
69098
69099         * modules/unistr/u8-strtok: New file.
69100         * modules/unistr/u16-strtok: New file.
69101         * modules/unistr/u32-strtok: New file.
69102         * lib/unistr/u8-strtok.c: New file.
69103         * lib/unistr/u16-strtok.c: New file.
69104         * lib/unistr/u32-strtok.c: New file.
69105         * lib/unistr/u-strtok.h: New file.
69106
69107         * modules/unistr/u8-uctomb: New file.
69108         * modules/unistr/u16-uctomb: New file.
69109         * modules/unistr/u32-uctomb: New file.
69110         * lib/unistr/u8-uctomb.c: New file.
69111         * lib/unistr/u16-uctomb.c: New file.
69112         * lib/unistr/u32-uctomb.c: New file.
69113
69114         * MODULES.html.sh (Unicode string functions): Add the new modules.
69115
69116 2007-01-08  Bruno Haible  <bruno@clisp.org>
69117
69118         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
69119         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
69120         subdirectories.
69121
69122 2007-01-08  Karl Berry  <karl@gnu.org>
69123
69124         * doc/error.texi: mention that main() fns must set program_name
69125         when progname is used.
69126
69127 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
69128
69129         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
69130         WCTYPE_H is empty, for the benefit of builds from non-distclean
69131         directories.  Problem reported by Eric Blake in
69132         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
69133
69134 2007-01-08  Bruno Haible  <bruno@clisp.org>
69135
69136         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
69137         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
69138         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
69139         PROVIDE_CANONICALIZE_FILENAME_MODE.
69140         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
69141
69142 2007-01-08  Bruno Haible  <bruno@clisp.org>
69143
69144         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
69145         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
69146         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
69147         * lib/fts.c: Likewise.
69148         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
69149
69150 2006-12-25  Bruno Haible  <bruno@clisp.org>
69151
69152         * modules/utf8-ucs4-safe: New file.
69153         * lib/utf8-ucs4-safe.h: New file.
69154         * lib/unistr/utf8-ucs4-safe.c: New file.
69155
69156         * modules/utf16-ucs4-safe: New file.
69157         * lib/utf16-ucs4-safe.h: New file.
69158         * lib/unistr/utf16-ucs4-safe.c: New file.
69159
69160         * MODULES.html.sh (Unicode string functions): Add the new modules.
69161
69162 2007-01-08  Bruno Haible  <bruno@clisp.org>
69163
69164         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
69165         (Depends-on): Add unitypes.
69166         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
69167         (u8_mbtouc_aux): Move out to separate file.
69168         (u8_mbtouc): Use ucs4_t, uint8_t types.
69169         * lib/unistr/utf8-ucs4.c: New file.
69170
69171         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
69172         (Depends-on): Add unitypes.
69173         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
69174         (u16_mbtouc_aux): Move out to separate file.
69175         (u16_mbtouc): Use ucs4_t, uint16_t types.
69176         * lib/unistr/utf16-ucs4.c: New file.
69177
69178         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
69179         (Depends-on): Add unitypes.
69180         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
69181         (u8_uctomb_aux): Move out to separate file.
69182         (u8_uctomb): Use ucs4_t, uint8_t types.
69183         * lib/unistr/ucs4-utf8.c: New file.
69184
69185         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
69186         (Depends-on): Add unitypes.
69187         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
69188         (u16_uctomb_aux): Move out to separate file.
69189         (u16_uctomb): Use ucs4_t, uint16_t types.
69190         * lib/unistr/ucs4-utf16.c: New file.
69191
69192 2006-12-25  Bruno Haible  <bruno@clisp.org>
69193
69194         * modules/unitypes: New file.
69195         * lib/unitypes.h: New file.
69196         * MODULES.html.sh (func_all_modules): New section "Unicode string
69197         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
69198         this section. Add unitypes.
69199
69200 2007-01-08  Bruno Haible  <bruno@clisp.org>
69201
69202         Avoid variable names that conflict with those from libtool.
69203         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
69204         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
69205         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
69206         library_names_spec to acl_library_names_spec, hardcode_* to
69207         acl_hardcode_*.
69208         Reported by Ralf Wildenhues.
69209
69210 2007-01-08  Bruno Haible  <bruno@clisp.org>
69211
69212         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
69213         definition.
69214         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
69215         definition.
69216         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
69217         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
69218         definition.
69219         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
69220         definition.
69221         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
69222         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
69223         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
69224         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
69225         definition.
69226         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
69227         definition.
69228         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
69229         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
69230         GC_USE_<algorithm>.
69231         * lib/gc-libgcrypt.c: Likewise.
69232         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
69233         * modules/gc-arctwo (configure.ac): Likewise.
69234         * modules/gc-des (configure.ac): Likewise.
69235         * modules/gc-hmac-md5 (configure.ac): Likewise.
69236         * modules/gc-hmac-sha1 (configure.ac): Likewise.
69237         * modules/gc-md2 (configure.ac): Likewise.
69238         * modules/gc-md4 (configure.ac): Likewise.
69239         * modules/gc-md5 (configure.ac): Likewise.
69240         * modules/gc-random (configure.ac): Likewise.
69241         * modules/gc-rijndael (configure.ac): Likewise.
69242         * modules/gc-sha1 (configure.ac): Likewise.
69243
69244 2007-01-08  Bruno Haible  <bruno@clisp.org>
69245
69246         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
69247         macro definition.
69248         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
69249         definition.
69250         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
69251         definition.
69252         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
69253         * modules/fcntl-safer (configure.ac): Likewise.
69254         * modules/fopen-safer (configure.ac): Likewise.
69255         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
69256         GNULIB_FWRITEERROR macro definition.
69257
69258 2007-01-08  Bruno Haible  <bruno@clisp.org>
69259
69260         * m4/gnulib-common.m4: New file.
69261         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
69262         (func_get_filelist): Add m4/gnulib-common.m4.
69263
69264 2007-01-08  Bruno Haible  <bruno@clisp.org>
69265
69266         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
69267         command.
69268
69269 2007-01-08  Jim Meyering  <jim@meyering.net>
69270
69271         Use a more robust test for a "can't happen" condition.
69272         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
69273         narrowed the st_size value.  Presuming the "can't happen" condition
69274         is true, that narrowing could conceivably convert an invalid st_size
69275         value into a valid one.  Instead, use a change based on Matthew
69276         Woehlke's original patch.
69277
69278         Slight readability improvement: use an assert-like macro
69279         in place of literal "abort ()" uses.
69280         * lib/fts.c (fts_assert): Define.
69281         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
69282         Use this macro instead of a bare 'abort'.
69283
69284 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
69285
69286         Don't worry about using IRIX 5.3's wctype.h broken definitions;
69287         simply work around them.
69288         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
69289         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
69290         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
69291         declaring.
69292         Don't bother to define as macros, since the standard doesn't require it.
69293         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
69294         longer worry about IRIX 5.3.
69295         (HAVE_WCTYPE_CTMP_BUG): Remove.
69296
69297 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
69298
69299         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
69300         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
69301         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
69302         Problems reported by Georg Schwarz for IRIX 5.3.
69303
69304         * gnulib-tool (autoconf_minversion): Take the maximum version number
69305         found, not the minimum.  Problem reported by James Youngman.
69306
69307 2007-01-03  Karl Berry  <karl@gnu.org>
69308
69309         * doc/error.texi: new file, explaining interaction with progname.
69310         * doc/gnulib.texi: include it.  Update copyright.
69311
69312 2007-01-03  Simon Josefsson  <simon@josefsson.org>
69313
69314         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
69315         AC_CANONICAL_HOST, to improve autobuild outputs.
69316
69317 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
69318             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
69319
69320         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
69321         sockets, server sockets, and other file descriptors.  Count errors
69322         to compute the return value.  Reorder the code a bit to be easier
69323         to follow.  Don't set event bits that were not requested (except
69324         POLLERR and POLLHUP).
69325
69326 2007-01-01  Bruno Haible  <bruno@clisp.org>
69327
69328         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
69329
69330 2007-01-03  Jim Meyering  <jim@meyering.net>
69331
69332         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
69333
69334 2007-01-02  Bruno Haible  <bruno@clisp.org>
69335
69336         * modules/settime (Include): Require timespec.h.
69337         * modules/nanosleep (Include): Likewise.
69338
69339 2007-01-01  Bruno Haible  <bruno@clisp.org>
69340
69341         * gnulib-tool (func_emit_copyright_notice): Bump year.
69342         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
69343
69344 2007-01-01  Bruno Haible  <bruno@clisp.org>
69345
69346         Improve support for OpenBSD.
69347         * build-aux/config.rpath (libname_spec): Export.
69348         (library_names_spec): New variable. Export.
69349         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
69350         library_names_spec from the config.rpath output. Locate shared library
69351         through the name pattern in library_names_spec.
69352
69353 2007-01-01  Eric Blake  <ebb9@byu.net>
69354
69355         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
69356
69357 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
69358
69359         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
69360         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
69361         assume the C locale, and avoid an "eval" that could cause trouble.
69362         Problem with SORT reported by Bob Proulx.
69363
69364         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
69365         Define.  Trivial patch from Henning Nielsen Lund, originally
69366         sent to bug-grep@gnu.org today.
69367
69368 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
69369
69370         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
69371         struct stat.  Problem reported by Henning Nielsen Lund.
69372         * lib/acl.c: Include acl.h first, to check interface.  Don't
69373         bother to include sys/types.h and sys/stat.h again.
69374
69375 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
69376
69377         Import the following change from libc; problem reported by
69378         Sven Verdoolaege.
69379
69380         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
69381
69382         [BZ #1373]
69383         * lib/argp.h: Remove __NTH for __argp_usage inline function.
69384
69385 2006-12-28  Jim Meyering  <jim@meyering.net>
69386
69387         * build-aux/announce-gen: Do not assume that the package
69388         builds any of tar.gz, tar.bz2, and .xdelta files.
69389         Suggestion from Simon Josefsson.
69390
69391 2006-12-28  Simon Josefsson  <simon@josefsson.org>
69392
69393         * modules/announce-gen: New file.
69394
69395 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
69396
69397         * lib/mbchar.h: Just include <wctype.h>; the wctype module
69398         handles its gotchas now.
69399         * lib/mbswidth.c: Likewise.
69400         * lib/wcwidth.h: Likewise.
69401         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
69402         and iswcntrl; the wctype module does this stuff now.
69403         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
69404         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
69405         * modules/mbchar (Depends-on): Add wctype.
69406         * modules/mbswidth (Depends-on): Likewise.
69407         * modules/wcwidth (Depends-on): Likewise.
69408
69409 2006-12-27  Eric Blake  <ebb9@byu.net>
69410
69411         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
69412         module uses more than what <wctype.h> is required to provide.
69413
69414 2006-12-26  Eric Blake  <ebb9@byu.net>
69415
69416         * gnulib-tool (sed_extract_prog): Avoid space-tab.
69417
69418 2006-12-26  Eric Blake  <ebb9@byu.net>
69419
69420         * modules/absolute-header: New module.
69421         * modules/fcntl (Depends-on): Depend on it.
69422         * modules/inttypes (Depends-on): Likewise.
69423         * modules/stdint (Depends-on): Likewise.
69424         * modules/sys_stat (Depends-on): Likewise.
69425         * modules/wctype (Depends-on): Likewise.
69426         * MODULES.html.sh (Support for building libraries and
69427         executables): Document it.
69428
69429 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
69430
69431         * gnulib-tool (SED): Remove, undoing previous change.
69432         The problem was that it broke coreutils on Solaris, because
69433         "sed --posix" leaked into a makefile.
69434         (sed): New alias, if 'alias' and GNU sed.
69435
69436 2006-12-24  Jim Meyering  <jim@meyering.net>
69437
69438         Work around an fchownat bug in glibc-2.4:
69439         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
69440         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
69441         in spite of the -P option.
69442         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
69443         New macros.
69444         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
69445         * modules/openat (Files): Add lib/fchownat.c.
69446         * lib/openat.c (fchownat): Don't define here.  Move to...
69447         * lib/fchownat.c: ...this new file.
69448
69449 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
69450
69451         Fix bug reported by Bruno Haible in
69452         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
69453         where quotearg.c didn't compile on Mac OS X 10.2 because it
69454         lacks <wchar.h> and wint_t.
69455         * lib/wctype_.h (__wctype_wint_t): New type.
69456         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
69457         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
69458         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
69459         Arg is now of type __wctype_wint_t, not wint_t.
69460         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
69461         substitute HAVE_WINT_T.
69462         * modules/wctype (Files): Add m4/wint_t.m4.
69463         (wctype.h): Substitute HAVE_WINT_T.
69464
69465 2006-12-23  Bruno Haible  <bruno@clisp.org>
69466
69467         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
69468
69469 2006-12-23  Bruno Haible  <bruno@clisp.org>
69470
69471         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
69472         S_ISLNK.
69473         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
69474         mingw.
69475
69476 2006-12-22  Bruno Haible  <bruno@clisp.org>
69477
69478         * lib/copy-file.c: Include acl.h.
69479         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
69480         Close the file descriptors only after being done with copy_acl.
69481         * modules/copy-file (Depends-on): Add acl.
69482
69483 2006-12-22  Bruno Haible  <bruno@clisp.org>
69484
69485         * gnulib-tool (SED): New variable.
69486         Use $SED instead of sed everywhere.
69487
69488 2006-12-22  Bruno Haible  <bruno@clisp.org>
69489
69490         * modules/no-c++: New file.
69491         * m4/no-c++.m4: New file.
69492         * MODULES.html.sh (Support for building libraries and executables):
69493         Add no-c++.
69494
69495 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
69496
69497         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
69498         Include <limits.h>, and use its INT_MAX to rewrite the
69499         j loop so that it does not overflow 'int'.  Problem reported by
69500         Ralf Wildenhues in
69501         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
69502         Play it safe by shifting left by 1 rather than multiplying by 2,
69503         as GCC is less likely to optimize this away when the value
69504         is signed (when it assumes overflow leads to undefined behavior).
69505         Also, don't assume time_t uses two's complement.
69506
69507 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
69508
69509         * MODULES.html.sh: New module wctype.
69510         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
69511         * lib/fnmatch.c: Don't bother to include <wchar.h> before
69512         <wctype.h>, since the new wctype module should fix this.
69513         * lib/quotearg.c: Include <wctype.h> unconditionally, since
69514         the wctype module should arrange for it.
69515         * lib/regex_internal.h: Likewise.
69516         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
69517         since the wctype module should handle this now.
69518         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
69519         * modules/fnmatch (Depends-on): Add wctype.
69520         * modules/quotearg (Depends-on): Likewise.
69521         * modules/regex (Depends-on): Likewise.
69522
69523 2006-12-19  Bruno Haible  <bruno@clisp.org>
69524
69525         * lib/strdup.h [C++]: Wrap definitions in extern "C".
69526         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
69527
69528 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69529
69530         * modules/savewd (Depends-on): Fix dependency on fcntl.
69531
69532 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
69533
69534         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
69535         conforms to C99, rather than relying on the user's environment
69536         setting of STDINT_H.
69537
69538 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
69539         and Eric Blake  <ebb9@byu.net>
69540
69541         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
69542         This is more consistent with the other defines here.
69543         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
69544         Port to z/OS.  Problem reported by Paul Gilmartin.
69545         Change local vars to use gl_ prefix rather than ac_.
69546         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
69547         with other defines.
69548         * modules/double-slash-root: New module.
69549         * modules/dirname (Files): Remove m4/double-slash-root.m4.
69550         (Depends-on): Add double-slash-root.
69551         * MODULES.html.sh (File system functions): Mention new module.
69552
69553 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
69554
69555         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
69556         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
69557         This is for the benefit of gzip, which doesn't do i18n.
69558
69559 2006-12-12  Jim Meyering  <jim@meyering.net>
69560
69561         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
69562         Reported by Andreas Schwab <schwab@suse.de>.
69563
69564 2006-12-12  Bruno Haible  <bruno@clisp.org>
69565
69566         Merge these changes.
69567         2006-09-05  Bruno Haible  <bruno@clisp.org>
69568         * lib/iconvme.c (iconv_string): No need to save and restore errno when
69569         iconv_alloc succeeded.
69570         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
69571         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
69572         test for " && dest " at the end - dest is always != NULL there. Call
69573         iconv with 4xNULL arguments initially, to reset the state. Call iconv
69574         with 2xNULL arguments, also to flush the state storage. Handle the
69575         IRIX iconv behaviour. Realloc the final result, to throw away unused
69576         memory.
69577
69578 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
69579
69580         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
69581         and fchmodat unconditionally, since glibc 2.4 has them.
69582         Problem reported by Arkadiusz Miskiewicz.
69583
69584 2006-12-10  Bruno Haible  <bruno@clisp.org>
69585
69586         * gnulib-tool (func_import): Show the include files only for those
69587         modules that are copied and specified.
69588         Reported by Karl Berry.
69589
69590 2006-12-08  Jim Meyering  <jim@meyering.net>
69591
69592         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
69593         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
69594
69595         * build-aux/announce-gen: Add two new options, both optional:
69596         --bootstrap-tools=TOOL_LIST
69597               a comma-separated list of tools, e.g.,
69598               autoconf,automake,bison,gnulib
69599         --gnulib-snapshot-date=DATE
69600               if gnulib is in the bootstrap tool list,
69601               then report this as the snapshot date.
69602               If not specified, use the current date/time.
69603               If you specify a date here, be sure it's UTC.
69604
69605 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69606
69607         * tests/test-argp-2.sh: Fix test to match actual output.
69608         (func_compare): Fix sed script to be portable.
69609
69610 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
69611
69612         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
69613         workaround for this case.  It is not autoconfigured now; offhand
69614         it's hard to see how to autoconfigure it.
69615
69616 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
69617
69618         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
69619         a directory that is about to be chowned.  Such a directory's
69620         initial file permissions should permit the owner only and this
69621         should not be changed until after the chown, since the group and
69622         other bits would be incorrect if they granted permission before
69623         the chown.
69624
69625         Fix porting problem for iswctype reported by Georg Schwarz in:
69626         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
69627         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
69628         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
69629         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
69630         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
69631
69632 2006-12-03  Jim Meyering  <jim@meyering.net>
69633
69634         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
69635         p->fts_statp may not yet be defined.
69636         (fts_read): Instead, set it in the caller, once p->fts_statp is
69637         sure to be defined, and corresponds to a top-level directory.
69638         This bug made du -x fail.  Here's the coreutils test case:
69639         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
69640         Reported by Mike Frysinger.
69641
69642 2006-12-01  Jim Meyering  <jim@meyering.net>
69643
69644         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
69645         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
69646         Reported by Simon Josefsson.
69647
69648 2006-11-30  Jim Meyering  <jim@meyering.net>
69649
69650         * m4/warning.m4: Use the all-permissive copyright notice
69651         recommended by RMS (rather than LGPL).
69652         * m4/vararrays.m4: Likewise.
69653         * m4/flexmember.m4: Likewise.
69654
69655 2006-11-29  Bruno Haible  <bruno@clisp.org>
69656
69657         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
69658         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
69659         using +=.
69660         Reported by Simon Josefsson <simon@josefsson.org>.
69661
69662 2006-11-28  James Youngman <jay@gnu.org>
69663
69664         * README: Advise users that they might find the bug-gnulib@gnu.org
69665         and autotools-announce@gnu.org mailing lists useful.
69666
69667 2006-11-28  Bruno Haible  <bruno@clisp.org>
69668
69669         * m4/ptrdiff_max.m4: Remove file.
69670
69671 2006-11-21  Bruno Haible  <bruno@clisp.org>
69672
69673         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
69674         _AC_COMPUTE_INT.
69675         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
69676         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
69677         _AC_COMPUTE_INT.
69678         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
69679         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
69680         _AC_COMPUTE_INT.
69681         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
69682
69683 2006-11-28  Jim Meyering  <jim@meyering.net>
69684
69685         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
69686         warning from "gcc -Wshadow" about shadowing the builtin.
69687
69688 2006-11-27  Bruno Haible  <bruno@clisp.org>
69689
69690         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
69691         _AC_COMPUTE_INT.
69692         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
69693
69694 2006-11-27  Bruno Haible  <bruno@clisp.org>
69695             Paul Eggert  <eggert@cs.ucla.edu>
69696
69697         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
69698
69699 2006-11-26  Bruno Haible  <bruno@clisp.org>
69700
69701         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
69702         noinst_LTLIBRARIES.
69703
69704 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
69705             Bruno Haible  <bruno@clisp.org>
69706
69707         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
69708         if compiling with "gcc -ansi".
69709
69710 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
69711
69712         Fix some incompatibilities with gcc -ansi -pedantic.
69713         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
69714         if compiling pedantically with GCC, unless it's C99 or later.
69715         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
69716         it mishandles gcc -ansi -pedantic as well.
69717         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
69718         if gcc -pedantic.
69719         * lib/regexec.c (check_node_accept_bytes): Don't use auto
69720         initializers for struct if -pedantic, unless it's C99 or later.
69721
69722 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
69723
69724         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
69725         Don't close an fd more than once. Identical atimes indicate
69726         success, not failure.
69727
69728 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
69729
69730         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
69731
69732 2006-11-23  Jim Meyering  <jim@meyering.net>
69733
69734         * build-aux/announce-gen: New file.  From coreutils.
69735
69736 2006-11-22  Jim Meyering  <jim@meyering.net>
69737
69738         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
69739         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
69740         (fts_read): Use a temporary to narrow the overused st_size member
69741         before using it in a switch statement.  Reported by Matthew Woehlke.
69742
69743         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
69744         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
69745
69746 2006-11-20  Bruno Haible  <bruno@clisp.org>
69747
69748         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
69749         changequote instead of pairs of brackets.
69750         Reported by Andreas Schwab <schwab@suse.de>.
69751
69752 2006-11-21  Jim Meyering  <jim@meyering.net>
69753
69754         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
69755         so as to remain compatible with older compilers.
69756         Patch from Michael Deutschmann.
69757
69758 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
69759
69760         * MODULES.html.sh (File system functions): Add openat.
69761
69762         * lib/openat.h (rpl_fstatat): New macro, if
69763         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
69764         (fstatat): Define to rpl_fstatat under the same conditions,
69765         unless COMPILING_FSTATAT.
69766         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
69767         seems to have the bug.
69768         * lib/fstatat.c: New file.
69769         * modules/openat (Files): Add it.
69770
69771 2006-11-20  Bruno Haible  <bruno@clisp.org>
69772
69773         * Makefile: New file.
69774
69775 2006-11-20  Jim Meyering  <jim@meyering.net>
69776
69777         The beginnings of syntax-related checks for gnulib.
69778         * lib/Makefile: New file.
69779         * lib/t-idcache: New script.  Ensure that the two halves of
69780         idcache.c stay in sync.
69781
69782         * lib/idcache.c: Adjust comments in user- and group- portions to
69783         be more accurate, and to be consistent with one another.
69784
69785 2006-11-20  Jim Meyering  <jim@meyering.net>
69786
69787         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
69788         continue using the flexible array member (thus, this module performs
69789         half as many malloc calls), with the addition that...
69790         (getgroup, getuser): Consistently record a non-match via an empty
69791         "name" string, and map an empty string match to a NULL return value.
69792         * modules/idcache (Depends-on): Re-add flexmember.
69793
69794         * lib/idcache.c (getuser): Remove all uses of the register keyword.
69795         (getuidbyname, getgroup, getgidbyname): Likewise.
69796
69797         Use cleaner syntax: NULL rather than 0.
69798         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
69799
69800 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
69801
69802         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
69803         It mishandled the case where the group was missing.
69804         Problem reported by Greg Schafer.
69805         * modules/idcache: Likewise.
69806
69807 2006-11-18  Jim Meyering  <jim@meyering.net>
69808
69809         * check-module (%exempt_header): Add exception for some
69810         conditionally-included headers.
69811
69812         * modules/i-ring (Depends-on): Add verify.
69813         (License): Change to LGPL.
69814
69815 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
69816
69817         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
69818         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
69819         and inttostr.h.  Use snprintf rather than uinttostr, so that
69820         LGPLed code doesn't depend on GPLed.
69821
69822 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
69823
69824         * modules/inline (License): Change from GPL to LGPL.
69825
69826 2006-11-17  Jim Meyering  <jim@meyering.net>
69827
69828         * modules/d-type (License): Switch to LGPL.
69829
69830 2006-11-15  Bruno Haible  <bruno@clisp.org>
69831
69832         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
69833
69834 2006-11-15  Eric Blake  <ebb9@byu.net>
69835
69836         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
69837         the module dependency.
69838
69839 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
69840             Bruno Haible  <bruno@clisp.org>
69841
69842         * gnulib-tool (func_create_testdir): Add license consistency check.
69843
69844 2006-11-15  Eric Blake  <ebb9@byu.net>
69845
69846         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
69847         random "(cached)" in configure output.
69848
69849 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69850
69851         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
69852         test for conforming inttypes.h is both announced and cached.
69853
69854         * MODULES.html.sh (seen_modules, seen_files): New variables.
69855         (func_module): Rewrite to use a few less gnulib-tool and sed
69856         invocations.  Avoid a couple of quadratic algorithms for ...
69857         (missed_modules, missed_files): ... these, with ...
69858         (func_append, func_tmpdir): ... these new functions, from
69859         gnulib-tool.  Analogously, install traps for cleanup.
69860
69861         * tests/test-gc.c (main): Remove unused variables.
69862         * tests/test-read-file.c: Include stdlib.h, for 'free'.
69863
69864 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
69865
69866         * modules/inttostr (License): Change to LGPL.
69867
69868 2006-11-14  Eric Blake  <ebb9@byu.net>
69869
69870         * modules/tempname (License): Change to LGPL.
69871
69872 2006-11-14  Eric Blake  <ebb9@byu.net>
69873
69874         * doc/functions.texi (Function Portability): *printf functions on
69875         Cygwin now understand all POSIX size specifiers.
69876
69877 2006-11-14  Bruno Haible  <bruno@clisp.org>
69878
69879         * modules/c-ctype (License): Change to LGPL.
69880
69881 2006-11-12  Bruno Haible  <bruno@clisp.org>
69882
69883         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
69884         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
69885         for GNOME libraries, for which the include files are installed in
69886         subdirectories of $prefix/include.
69887
69888 2006-11-12  Bruno Haible  <bruno@clisp.org>
69889
69890         * m4/lib-link.m4: Require at least autoconf-2.54.
69891         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
69892         name to underscores for the --with option.
69893
69894 2006-11-13  Bruno Haible  <bruno@clisp.org>
69895
69896         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
69897         the tests directory.
69898         Reported by Ralf Wildenhues.
69899
69900 2006-11-13  Bruno Haible  <bruno@clisp.org>
69901
69902         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
69903         (func_emit_initmacro_end): Undo the override here.
69904         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
69905         Works around the famous automake error in coreutils.
69906
69907 2006-11-13  Eric Blake  <ebb9@byu.net>
69908
69909         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
69910         element, not its node.
69911
69912 2006-11-12  Bruno Haible  <bruno@clisp.org>
69913
69914         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
69915         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
69916
69917 2006-11-12  Bruno Haible  <bruno@clisp.org>
69918
69919         * gnulib-tool: New option --local-symlink.
69920         (func_usage): Document it.
69921         (lsymbolic): New variable.
69922         (func_import, func_create_testdir): If --symlink was not specified,
69923         test whether --local-symlink was specified and the file comes from
69924         the local_gnulib_dir.
69925
69926 2006-11-12  Bruno Haible  <bruno@clisp.org>
69927
69928         * gnulib-tool (func_ln): New function.
69929         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
69930
69931 2006-11-12  Bruno Haible  <bruno@clisp.org>
69932
69933         Finish support for source files in subdirectories.
69934         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
69935         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
69936         AUTOMAKE_OPTIONS.
69937         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
69938
69939 2006-11-12  Bruno Haible  <bruno@clisp.org>
69940
69941         * gnulib-tool (func_get_automake_snippet): Synthesize also an
69942         EXTRA_lib_SOURCES augmentation.
69943         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
69944
69945 2006-11-12  Jim Meyering  <jim@meyering.net>
69946
69947         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
69948         file descriptors.  This also averts a failure on systems with
69949         native openat support when a traversed directory lacks "x" access.
69950         * lib/fts_.h: Include "i-ring.h"
69951         (struct FTS) [fts_fd_ring]: New member.
69952         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
69953         (FCHDIR): Add parentheses.
69954         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
69955         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
69956         When descending, rather than simply closing the previous
69957         fts_cwd_fd value, push that file descriptor onto the ring.
69958         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
69959         (fts_open): Initialize the new fd_ring member.
69960         (fts_close): Clear the ring.
69961         (fts_safe_changedir): When possible, use our new fd_ring to skip
69962         the diropen and fstat and dev/ino comparison that would normally
69963         accompany a virtual `chdir ("..")'.
69964
69965         * modules/fts (Depends-on): Add i-ring.
69966         * modules/i-ring: New module.
69967         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
69968         * m4/i-ring.m4: New file.
69969
69970 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69971
69972         * gnulib-tool (func_create_testdir): Fix replacement of
69973         `build-aux' in configure.ac.  Run autotools in gltests
69974         subdirectory.
69975         (func_create_testdir, func_create_megatestdir, test): There is
69976         no need for '--force' in most autotool invocations in a new
69977         tree.  Actually fail the whole test if any of the tools, or the
69978         configure or make stages fail.
69979
69980         Sync from Automake.
69981         * build-aux/gnupload: Revert last change.  Add pointer to upload
69982         instructions of the GNU Maintenance Instructions.
69983         Suggestion by Karl Berry.
69984
69985 2006-11-10  Jim Meyering  <jim@meyering.net>
69986
69987         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
69988
69989 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
69990
69991         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
69992         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
69993         (bind_textdomain_codeset) [! ENABLE_NLS]:
69994         Evaluate all the arguments.  That way, callers get compatible behavior
69995         if the arguments have side effects.  Also, it avoids some GCC
69996         diagnostics in some cases; Joel E. Denny reported problems when Bison
69997         was configured with --enable-gcc-warnigs.
69998
69999 2006-11-10  Jim Meyering  <jim@meyering.net>
70000
70001         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
70002         relevant options in CFLAGS (like -O, -fno-inline) are taken into
70003         account.
70004
70005 2006-11-10  Jim Meyering  <jim@meyering.net>
70006
70007         * modules/inline: New file/module.
70008         * modules/xalloc (Files): Remove m4/inline.m4.
70009         (Depends-on): Add inline, instead.
70010         * modules/oset: Likewise.
70011         * modules/list: Likewise.
70012
70013 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
70014
70015         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
70016         Problem reported by Matthew Woehlke.
70017
70018 2006-11-09  Bruno Haible  <bruno@clisp.org>
70019
70020         * lib/tempname.c (gen_tempname): Remove variant that invokes
70021         __gen_tempname.
70022         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
70023         __gen_tempname.
70024
70025 2006-11-08  Bruno Haible  <bruno@clisp.org>
70026
70027         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
70028         to 'yes' instead of 'cross-compiling'.
70029
70030 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
70031
70032         * lib/quotearg.h (quotearg_free): New decl.
70033         * lib/quotearg.c (quotearg_free): New function.
70034         (slot0, nslots, slotvec0, slotvec):
70035         Now file-scope so that quotearg_free can get at them.
70036
70037 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70038
70039         Sync from Automake.
70040         * build-aux/gnupload: Add missing 'gnu' to example URL.
70041         Report by Karl Berry.
70042
70043 2006-11-08  Bruno Haible  <bruno@clisp.org>
70044
70045         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
70046         Suggested by Paul Eggert.
70047
70048 2006-11-08  Jim Meyering  <jim@meyering.net>
70049
70050         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
70051         It's already included if !_LIBC.
70052         (fts_safe_changedir): Add a comment.
70053
70054 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
70055
70056         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
70057         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
70058         Matthew Woehlke.
70059
70060         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
70061         definitions up, to avoid colliding with change below.
70062         (static_inline) [HAVE_INLINE]: New macro.
70063         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
70064         Provide extern decls when !HAVE_INLINE.  Do not define unless
70065         static_inline is defined, either by us or by xmalloc.c.  Use
70066         static_inline rather than static inline.
70067         (XCALLOC): Optimize sizeof(T) = 1 case.
70068         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
70069
70070 2006-11-07  Bruno Haible  <bruno@clisp.org>
70071
70072         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
70073         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
70074         AC_C_INLINE.
70075         * modules/xalloc (Files): Add m4/inline.m4.
70076
70077 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70078
70079         * README: Fix typo.
70080         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
70081         (Miscellanous Notes): ...from this.
70082
70083 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
70084
70085         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
70086         Mention that offsetof should be used instead of sizeof.
70087         From Bruno Haible.
70088
70089 2006-11-07  Bruno Haible  <bruno@clisp.org>
70090
70091         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
70092
70093 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
70094
70095         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
70096         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
70097         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
70098         (gl_tree_add_before, gl_tree_add_after):
70099         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
70100         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
70101         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
70102         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
70103         (gl_linked_add_after, gl_linked_add_at): Likewise.
70104         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
70105         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
70106         (gl_tree_add_before, gl_tree_add_after): Likewise.
70107         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
70108         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
70109         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
70110
70111 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70112
70113         * lib/gl_oset.h: Use C comment style, not C++ comment style.
70114
70115 2006-11-06  Bruno Haible  <bruno@clisp.org>
70116
70117         * m4/inline.m4: New file.
70118         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
70119         * modules/list (Files): Add m4/inline.m4.
70120         * modules/oset (Files): Likewise.
70121
70122 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
70123
70124         * lib/idcache.c: Include <stddef.h>, for offsetof.
70125         (struct userid.name): Change from char * to a flexible array member.
70126         All uses changed.
70127         * modules/idcache (Depends-on): Add flexmember.
70128
70129         * MODULES.html.sh (Core language properties): New module flexmember.
70130         * modules/flexmember, m4/flexmember.m4: New files.
70131
70132         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
70133         inline functions that are identical with the old xnmalloc_inline,
70134         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
70135         that we can avoid some unnecessary integer multiplications and
70136         divisions in the common case where the element size is known at
70137         compile time.
70138         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
70139         needed.
70140         (xnboundedmalloc): Remove.
70141         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
70142         arguments, for consistency with rest of this header.
70143         (xcharalloc): Rewrite using XNMALLOC.
70144         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
70145         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
70146         versions have been moved to lib/xalloc.h and renamed to be the
70147         non-*_inline versions.
70148         (xmalloc, xrealloc): Implement without reference to the xnmalloc
70149         and xnrealloc functions, since those functions are now inline and
70150         now call us.
70151         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
70152         renaming described above.
70153         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
70154         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
70155         captures the dependency in AC_C_INLINE.
70156
70157         New module canonicalize-lgpl, proposed by Charles Wilson in
70158         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
70159         with a few small changes afterwards.
70160         * MODULES.html.sh (File system functions): New module
70161         canonicalize-lgpl.
70162         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
70163         and canonicalize_file_name.
70164         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
70165         * modules/canonicalize-lgpl: New files.
70166
70167 2006-11-05  Bruno Haible  <bruno@clisp.org>
70168
70169         * gnulib-tool (func_import, func_create_testdir): Create directories
70170         also for files in subdirectories of lib/.
70171
70172 2006-11-05  Bruno Haible  <bruno@clisp.org>
70173
70174         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
70175         ANSI C compliant.
70176
70177 2006-11-03  Bruno Haible  <bruno@clisp.org>
70178
70179         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
70180         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
70181         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
70182         (xnboundedmalloc): New inline function.
70183         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
70184         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
70185         xmalloc.
70186         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
70187         xmalloc.
70188         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
70189         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
70190         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
70191         xmalloc.
70192         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
70193         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
70194         xmalloc.
70195         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
70196         gl_tree_add_after): Use XMALLOC instead of xmalloc.
70197         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
70198         xmalloc.
70199         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
70200         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
70201         gl_tree_add_after): Use XMALLOC instead of xmalloc.
70202         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
70203         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
70204         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
70205         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
70206
70207 2006-11-03  Bruno Haible  <bruno@clisp.org>
70208
70209         * lib/c-ctype.h [C++]: Define functions without name mangling.
70210         * lib/fwriteerror.h [C++]: Likewise.
70211         * lib/gcd.h [C++]: Likewise.
70212         * lib/linebreak.h [C++]: Likewise.
70213
70214 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
70215
70216         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
70217         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
70218         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
70219         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
70220         Check for functions and headers just once.
70221         Check for declaration of canonicalize_file_name.
70222         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
70223
70224 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
70225
70226         * gnulib-tool (func_import): Fix typo in actioncmd.
70227
70228 2006-11-02  Bruno Haible  <bruno@clisp.org>
70229
70230         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
70231         newline sequence in the Makefile.am snippet as a space, like "make"
70232         does.
70233         Reported by Roger Persson <perrog@gmail.com>.
70234
70235 2006-11-01  Bruno Haible  <bruno@clisp.org>
70236
70237         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
70238         already declared in <string.h>.
70239         * lib/strcase.h (strncasecmp): Don't declare it if yes.
70240
70241 2006-11-01  Bruno Haible  <bruno@clisp.org>
70242
70243         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
70244         * lib/strcase.h: Include <string.h>.
70245         (strcasecmp): Define to rpl_strcasecmp here.
70246
70247 2006-11-01  Bruno Haible  <bruno@clisp.org>
70248
70249         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
70250
70251 2006-11-01  Eric Blake  <ebb9@byu.net>
70252
70253         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
70254
70255         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
70256
70257 2006-10-29  Bruno Haible  <bruno@clisp.org>
70258
70259         Make it compile in C++ mode.
70260         * lib/full-write.c (full_rw): Add a cast.
70261
70262 2006-11-01  Bruno Haible  <bruno@clisp.org>
70263
70264         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
70265         be POSIX compliant.
70266         Reported by Roger Persson <perrog@gmail.com>.
70267
70268 2006-11-01  Eric Blake  <ebb9@byu.net>
70269
70270         * lib/getopt_.h: Fix comments.
70271
70272 2006-10-31  Eric Blake  <ebb9@byu.net>
70273
70274         * modules/tmpdir (Depends-on): Add sys_stat.
70275         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
70276         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
70277         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
70278         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
70279         tempname.
70280
70281 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
70282
70283         Avoid some C++ diagnostics reported by Bruno Haible.
70284         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
70285         xmalloc.
70286         (quotearg_alloc): Use xcharalloc rather than xmalloc.
70287         (struct slotvec): Move to top level.
70288         (quotearg_n_options): Rewrite to avoid xmalloc.
70289         * lib/xalloc.h (xcharalloc): New function.
70290         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
70291         [defined __cplusplus]: Add function template that provides result
70292         type propagation.  This part of the change is from Bruno Haible.
70293
70294 2006-10-29  Bruno Haible  <bruno@clisp.org>
70295
70296         Make it compile in C++ mode.
70297         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
70298         * lib/strnlen1.c (strnlen1): Cast memchr result.
70299         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
70300         * lib/clean-temp.c (string_equals, string_hash): Add casts.
70301         (create_temp_dir): Rename local variable 'template'.
70302         (compile_csharp_using_sscli): Add cast.
70303         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
70304         * lib/findprog.c (find_in_path): Likewise.
70305         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
70306         * lib/wait-process.c (register_slave_subprocess): Likewise.
70307
70308 2006-10-22  Bruno Haible  <bruno@clisp.org>
70309
70310         * modules/tsearch: New file.
70311         * lib/tsearch.h: New file.
70312         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
70313         * m4/tsearch.m4: New file.
70314         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
70315
70316 2006-10-29  Eric Blake  <ebb9@byu.net>
70317
70318         * lib/arcfour.c: Assume config.h.
70319         * lib/arctwo.c: Likewise.
70320         * lib/base64.c: Likewise.
70321         * lib/check-version.c: Likewise.
70322         * lib/crc.c: Likewise.
70323         * lib/des.c: Likewise.
70324         * lib/gc-gnulib.c: Likewise.
70325         * lib/gc-libgcrypt.c: Likewise.
70326         * lib/gc-pbkdf2-sha1.c: Likewise.
70327         * lib/getaddrinfo.c: Likewise.
70328         * lib/getdelim.c: Likewise.
70329         * lib/getline.c: Likewise.
70330         * lib/hmac-md5.c: Likewise.
70331         * lib/hmac-sha1.c: Likewise.
70332         * lib/iconvme.c: Likewise.
70333         * lib/md2.c: Likewise.
70334         * lib/md4.c: Likewise.
70335         * lib/memxor.c: Likewise.
70336         * lib/read-file.c: Likewise.
70337         * lib/readline.c: Likewise.
70338         * lib/rijndael-alg-fst.c: Likewise.
70339         * lib/rijndael-api-fst.c: Likewise.
70340         * lib/xgetdomainname.c: Likewise.
70341
70342 2006-10-28  Eric Blake  <ebb9@byu.net>
70343
70344         * lib/xstrndup.c: Assume config.h.
70345
70346 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
70347
70348         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
70349         stat-macros.h is now for our own macros, whereas stat_h is for
70350         macros in the <sys/stat.h> name space.
70351         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
70352         (STAT_MACROS_H): Remove.
70353         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
70354         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
70355         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
70356         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
70357         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
70358         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
70359         Move these macros to ...
70360         * lib/stat_.h: here.  Don't include stat-macros.h.
70361         * lib/canonicalize.c: Don't include stat-macros.h.
70362         * lib/chown.c: Likewise.
70363         * lib/euidaccess.c: Likewise.
70364         * lib/file-type.c: Likewise.
70365         * lib/filemode.c: Likewise.
70366         * lib/glob.c: Likewise.
70367         * lib/isapipe.c: Likewise.
70368         * lib/lchown.c: Likewise.
70369         * lib/lstat.c: Likewise.
70370         * lib/mkdir-p.c: Likewise.
70371         * lib/rmdir.c: Likewise.
70372         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
70373         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
70374         unless mkdir isn't declared, to speed up 'configure'.
70375         Always create sys/stat.h, since it's unlikely any real sys/stat.h
70376         would define all the S_* symbols.
70377         * modules/canonicalize (Depends-on):
70378         Depend on sys_stat, not stat-macros.
70379         * modules/chown: Likewise.
70380         * modules/euidaccess: Likewise.
70381         * modules/filemode: Likewise.
70382         * modules/file-type: Likewise.
70383         * modules/glob: Likewise.
70384         * modules/isapipe: Likewise.
70385         * modules/lchown: Likewise.
70386         * modules/lstat: Likewise.
70387         * modules/mkancesdirs: Likewise.
70388         * modules/rmdir: Likewise.
70389         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
70390         * modules/modechange: Likewise.
70391         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
70392         (configure.ac): Remove gl_STAT_MACROS.
70393         * modules/sys_stat (Depends-on): Remove stat-macros.
70394
70395 2006-10-27  Bruno Haible  <bruno@clisp.org>
70396
70397         * m4/signed.m4: Remove file.
70398         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
70399         invocation.
70400         * modules/vasnprintf (Files): Remove m4/signed.m4.
70401
70402 2006-10-27  Bruno Haible  <bruno@clisp.org>
70403
70404         Update to GNU gettext 0.16.
70405         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
70406         m4/inttypes-h.m4, m4/signed.m4.
70407         * m4/gettext.m4: Update to GNU gettext 0.16.
70408         * m4/intl.m4: New file, from GNU gettext.
70409         * m4/intldir.m4: New file, from GNU gettext.
70410         * config/srclist.txt: Update
70411
70412 2006-10-27  Eric Blake  <ebb9@byu.net>
70413
70414         * MODULES.html.sh: Document tempname.
70415         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
70416         dependencies.
70417         (Files): Move lib/tempname.c...
70418         * modules/tempname: ...to this new module.
70419         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
70420         (gl_PREREQ_TEMPNAME): Move...
70421         * m4/tempname.m4: ...to this new file.
70422         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
70423         * modules/sys_stat (Depends-on): Add stat-macros.
70424         * lib/stat_.h (includes): Pick up stat macros.
70425         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
70426         if stat macros are broken.
70427         * lib/tempname.c (includes): No need to include "stat-macros.h".
70428         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
70429         (direxists, __path_search) [!_LIBC]: Don't compile these in
70430         gnulib; the tmpdir module covers that.
70431         * lib/tempname.h: New file.
70432
70433 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
70434
70435         * COPYING: Explain how gnulib-tool converts licence headers.
70436         Almost all wording by Eric Blake.
70437
70438 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
70439
70440         * lib/mbchar.h (is_basic_table): Make read-only.
70441         * lib/mbchar.c (is_basic_table): Likewise.
70442         Reported by John Darrington.
70443
70444 2006-10-25  Bruno Haible  <bruno@clisp.org>
70445
70446         * lib/progname.h (set_program_name): Undefine before defining.
70447
70448 2006-10-25  Bruno Haible  <bruno@clisp.org>
70449
70450         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
70451         false for non-gcc C++ compilers.
70452         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
70453
70454 2006-10-24  Bruno Haible  <bruno@clisp.org>
70455
70456         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
70457         iconv implementations like Irix iconv.
70458
70459 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
70460
70461         * modules/vararrays: New file.
70462         * m4/vararrays.m4: New file, taken from diffutils.
70463         * MODULES.html.sh: New module vararrays.
70464
70465 2006-10-24  Karl Berry  <karl@gnu.org>
70466
70467         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
70468         Don't call GNU Unix.
70469
70470 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70471
70472         * users.txt: Add Libtool.
70473
70474         Sync from Libtool:
70475
70476         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
70477
70478         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
70479         to gnulib's policy of including config.h unconditionally.
70480
70481 2006-10-24  Bruno Haible  <bruno@clisp.org>
70482
70483         * modules/wcwidth (Files): Add m4/wint_t.m4.
70484         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
70485         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
70486
70487 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
70488
70489         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
70490         to pacify GCC with some -W flags enabled.  Problem reported by
70491         Bruno Haible.
70492
70493 2006-10-24  Jim Meyering  <jim@meyering.net>
70494
70495         * MODULES.html.sh: Remove uinttostr.  It's not a module.
70496         Reported by Karl Berry.
70497
70498 2006-10-23  Bruno Haible  <bruno@clisp.org>
70499
70500         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
70501
70502 2006-10-24  Bruno Haible  <bruno@clisp.org>
70503
70504         * lib/gl_list.h: Use C comment style, not C++ comment style.
70505
70506 2006-10-23  Eric Blake  <ebb9@byu.net>
70507
70508         * lib/getaddrinfo.c (includes): Add missing include.
70509
70510 2006-10-23  Bruno Haible  <bruno@clisp.org>
70511             Paul Eggert  <eggert@cs.ucla.edu>
70512
70513         Ability to rename obstack_free.
70514         * lib/obstack.h (__obstack_free): New macro. Declare instead of
70515         obstack_free.
70516         (obstack_free): Invoke the __obstack_free macro.
70517         * lib/obstack.c (obstack_free): Use __obstack_free macro.
70518
70519 2006-10-23  Bruno Haible  <bruno@clisp.org>
70520             Paul Eggert  <eggert@cs.ucla.edu>
70521
70522         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
70523         __argc, __argv from the declaration. (They are defined as macros on
70524         mingw.)
70525
70526 2006-10-22  Bruno Haible  <bruno@clisp.org>
70527
70528         * doc/gnulib-intro.texi: New file.
70529         * doc/gnulib.texi: Include it.
70530
70531 2006-10-21  Bruno Haible  <bruno@clisp.org>
70532
70533         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
70534         "Introduction", "Miscellanous Notes", "Particular Modules".
70535
70536 2006-10-21  Bruno Haible  <bruno@clisp.org>
70537
70538         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
70539         Change mostlyclean-local rule to avoid sh syntax error from bash
70540         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
70541
70542 2006-10-23  Jim Meyering  <jim@meyering.net>
70543
70544         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
70545         in place of snprintf.
70546
70547         * modules/inttostr (Files): Add lib/uinttostr.c.
70548         * lib/uinttostr.c (inttostr): New file/function.
70549         * lib/inttostr.h (uinttostr): Declare.
70550         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
70551         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
70552         Add uinttostr.
70553         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
70554
70555 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
70556
70557         * lib/canonicalize.c (ELOOP): Define if not already defined.
70558         Problem reported by Bruno Haible in
70559         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
70560
70561 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
70562
70563         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
70564         Problem reported by Perry Smith and Ville Laurikari.
70565
70566         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
70567         uses.
70568
70569 2006-10-19  Bruno Haible  <bruno@clisp.org>
70570
70571         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
70572         for mingw.
70573
70574 2006-10-19  Bruno Haible  <bruno@clisp.org>
70575
70576         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
70577         Needed for mingw.
70578
70579 2006-10-19  Bruno Haible  <bruno@clisp.org>
70580
70581         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
70582
70583 2006-10-19  Bruno Haible  <bruno@clisp.org>
70584
70585         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
70586         it.
70587
70588 2006-10-19  Bruno Haible  <bruno@clisp.org>
70589
70590         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
70591         invocation.
70592
70593 2006-10-19  Bruno Haible  <bruno@clisp.org>
70594
70595         * gnulib-tool (func_create_testdir): Don't include ftruncate and
70596         mountlist by default.
70597
70598 2006-10-16  Bruno Haible  <bruno@clisp.org>
70599
70600         * lib/c-strstr.c: Include c-strstr.h.
70601
70602 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
70603
70604         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
70605         in a slash.
70606
70607 2006-10-18  Bruno Haible  <bruno@clisp.org>
70608
70609         * lib/lock.h [C++]: Wrap definitions in extern "C".
70610
70611 2006-10-18  Bruno Haible  <bruno@clisp.org>
70612
70613         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
70614         gl_LIBOBJS list.
70615
70616 2006-10-18  Bruno Haible  <bruno@clisp.org>
70617
70618         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
70619
70620 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
70621
70622         * lib/xstrtol.h: Include gettext.h.
70623         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
70624         Problem reported by Eric Blake.
70625         * modules/xstrtol (Depends-on): Add gettext-h.
70626
70627 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
70628
70629         * lib/strftime.c (advance): New macro.
70630         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
70631         incomplete type, so you can't add 0 to it.  Problem and patch
70632         reported by Eelco Dolstra for dietlibc.
70633
70634 2006-10-18  Jim Meyering  <jim@meyering.net>
70635
70636         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
70637         type for a local, and rename it: s/up/user_proc/.
70638
70639 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
70640
70641         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
70642         READ_UTMP_USER_PROCESS.
70643         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
70644
70645 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
70646
70647         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
70648         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
70649
70650 2006-10-17  Eric Blake  <ebb9@byu.net>
70651
70652         * lib/sigprocmask.c (sigprocmask): Fix typo.
70653
70654         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
70655
70656         * modules/clean-temp (Makefile.am): Don't add to make output...
70657         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
70658         config.h.
70659
70660 2006-10-17  Bruno Haible  <bruno@clisp.org>
70661
70662         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
70663         differently if DEFAULT_TEXT_DOMAIN is set.
70664
70665 2006-10-16  Bruno Haible  <bruno@clisp.org>
70666
70667         * lib/clean-temp.c: Include fwriteerror.h.
70668
70669 2006-10-16  Bruno Haible  <bruno@clisp.org>
70670
70671         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
70672
70673 2006-10-16  Bruno Haible  <bruno@clisp.org>
70674
70675         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
70676         * lib/sigprocmask.h: Include <sys/types.h>.
70677         (sigset_t): Use the system's definition if present.
70678
70679 2006-10-17  Eric Blake  <ebb9@byu.net>
70680
70681         * lib/xvasprintf.c (includes): Assume config.h.
70682         * lib/xasprintf.c (includes): Likewise.
70683
70684 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
70685
70686         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
70687         at least as wide as intmax_t.
70688
70689 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
70690
70691         (Imported from Automake.)
70692         * build-aux/gnupload: Update to version 1.1 of directive file.
70693
70694 2006-10-16  Eric Blake  <ebb9@byu.net>
70695
70696         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
70697         match Automake 1.10a.
70698
70699 2006-10-14  Bruno Haible  <bruno@clisp.org>
70700
70701         * modules/sigprocmask: New file.
70702         * lib/sigprocmask.h: New file.
70703         * lib/sigprocmask.c: New file.
70704         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
70705         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
70706         request sigprocmask.o.
70707         (gl_PREREQ_SIGPROCMASK): New macro.
70708         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
70709         (Depends-on): Add sigprocmask.
70710         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
70711         gt_SIGNALBLOCKING. Test for 'raise' only once.
70712         * lib/fatal-signal.c: Include sigprocmask.h.
70713         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
70714         unblock_fatal_signals): Define always.
70715         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
70716         sigprocmask.
70717
70718 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
70719
70720         Sync from Automake.
70721         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
70722         which incorrectly sets the mode of an existing destination
70723         directory.  In some cases the unpatched install-sh could do the
70724         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
70725         system.  We hope this is rare in practice, but it's clearly worth
70726         fixing.  Problem reported by Alex Unleashed in
70727         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
70728         Also, don't bother to check for -m bugs unless we're using -m;
70729         suggested by Stepan Kasal.
70730
70731 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70732
70733         Sync from Automake.
70734         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
70735         `-c' flag, so they appear at the same position as in %FASTDEP%
70736         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
70737         which ignores unknown options only after the first non-option.
70738         Bug report against M4 by Nelson H. F. Beebe.
70739
70740 2006-10-13  Jim Meyering  <jim@meyering.net>
70741
70742         Fix a bug in yesterday's change.
70743         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
70744         p->fts_statp->st_dev would be used uninitialized.
70745         Ensures that we always call fts_stat on the very first entry.
70746         Miklos Szeredi reported that find -xdev stopped working.
70747
70748 2006-10-12  Bruno Haible  <bruno@clisp.org>
70749
70750         * gnulib-tool (func_get_automake_snippet): Append an automatically
70751         computed EXTRA_DIST augmentation.
70752         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
70753         * modules/alloca-opt (Makefile.am): Likewise.
70754         * modules/allocsa (Makefile.am): Likewise.
70755         * modules/arcfour (Makefile.am): Likewise.
70756         * modules/arctwo (Makefile.am): Likewise.
70757         * modules/argmatch (Makefile.am): Likewise.
70758         * modules/argz (Makefile.am): Likewise.
70759         * modules/atexit (Makefile.am): Likewise.
70760         * modules/backupfile (Makefile.am): Likewise.
70761         * modules/byteswap (Makefile.am): Likewise.
70762         * modules/c-strtod (Makefile.am): Likewise.
70763         * modules/c-strtold (Makefile.am): Likewise.
70764         * modules/calloc (Makefile.am): Likewise.
70765         * modules/canon-host (Makefile.am): Likewise.
70766         * modules/canonicalize (Makefile.am): Likewise.
70767         * modules/chdir-long (Makefile.am): Likewise.
70768         * modules/chdir-safer (Makefile.am): Likewise.
70769         * modules/check-version (Makefile.am): Likewise.
70770         * modules/chown (Makefile.am): Likewise.
70771         * modules/cloexec (Makefile.am): Likewise.
70772         * modules/close-stream (Makefile.am): Likewise.
70773         * modules/closeout (Makefile.am): Likewise.
70774         * modules/crc (Makefile.am): Likewise.
70775         * modules/csharpexec (Makefile.am): Likewise.
70776         * modules/cycle-check (Makefile.am): Likewise.
70777         * modules/des (Makefile.am): Likewise.
70778         * modules/dev-ino (Makefile.am): Likewise.
70779         * modules/dirfd (Makefile.am): Likewise.
70780         * modules/dirname (Makefile.am): Likewise.
70781         * modules/dup2 (Makefile.am): Likewise.
70782         * modules/eealloc (Makefile.am): Likewise.
70783         * modules/error (Makefile.am): Likewise.
70784         * modules/euidaccess (Makefile.am): Likewise.
70785         * modules/exclude (Makefile.am): Likewise.
70786         * modules/exitfail (Makefile.am): Likewise.
70787         * modules/fcntl-safer (Makefile.am): Likewise.
70788         * modules/fcntl (Makefile.am): Likewise.
70789         * modules/file-type (Makefile.am): Likewise.
70790         * modules/fileblocks (Makefile.am): Likewise.
70791         * modules/filemode (Makefile.am): Likewise.
70792         * modules/filenamecat (Makefile.am): Likewise.
70793         * modules/fnmatch (Makefile.am): Likewise.
70794         * modules/fopen-safer (Makefile.am): Likewise.
70795         * modules/fpending (Makefile.am): Likewise.
70796         * modules/fprintftime (Makefile.am): Likewise.
70797         * modules/free (Makefile.am): Likewise.
70798         * modules/fsusage (Makefile.am): Likewise.
70799         * modules/ftruncate (Makefile.am): Likewise.
70800         * modules/fts (Makefile.am): Likewise.
70801         * modules/gc-arcfour (Makefile.am): Likewise.
70802         * modules/gc-des (Makefile.am): Likewise.
70803         * modules/gc-hmac-md5 (Makefile.am): Likewise.
70804         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
70805         * modules/gc-md4 (Makefile.am): Likewise.
70806         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
70807         * modules/gc-sha1 (Makefile.am): Likewise.
70808         * modules/gc (Makefile.am): Likewise.
70809         * modules/getaddrinfo (Makefile.am): Likewise.
70810         * modules/getcwd (Makefile.am): Likewise.
70811         * modules/getdelim (Makefile.am): Likewise.
70812         * modules/getdomainname (Makefile.am): Likewise.
70813         * modules/getgroups (Makefile.am): Likewise.
70814         * modules/gethostname (Makefile.am): Likewise.
70815         * modules/gethrxtime (Makefile.am): Likewise.
70816         * modules/getline (Makefile.am): Likewise.
70817         * modules/getloadavg (Makefile.am): Likewise.
70818         * modules/getlogin_r (Makefile.am): Likewise.
70819         * modules/getndelim2 (Makefile.am): Likewise.
70820         * modules/getopt (Makefile.am): Likewise.
70821         * modules/getpagesize (Makefile.am): Likewise.
70822         * modules/getpass-gnu (Makefile.am): Likewise.
70823         * modules/getpass (Makefile.am): Likewise.
70824         * modules/getsubopt (Makefile.am): Likewise.
70825         * modules/gettime (Makefile.am): Likewise.
70826         * modules/gettimeofday (Makefile.am): Likewise.
70827         * modules/getugroups (Makefile.am): Likewise.
70828         * modules/getusershell (Makefile.am): Likewise.
70829         * modules/glob (Makefile.am): Likewise.
70830         * modules/group-member (Makefile.am): Likewise.
70831         * modules/hard-locale (Makefile.am): Likewise.
70832         * modules/hash (Makefile.am): Likewise.
70833         * modules/hmac-md5 (Makefile.am): Likewise.
70834         * modules/hmac-sha1 (Makefile.am): Likewise.
70835         * modules/human (Makefile.am): Likewise.
70836         * modules/idcache (Makefile.am): Likewise.
70837         * modules/imaxabs (Makefile.am): Likewise.
70838         * modules/imaxdiv (Makefile.am): Likewise.
70839         * modules/inet_ntop (Makefile.am): Likewise.
70840         * modules/inet_pton (Makefile.am): Likewise.
70841         * modules/intprops (Makefile.am): Likewise.
70842         * modules/inttostr (Makefile.am): Likewise.
70843         * modules/inttypes (Makefile.am): Likewise.
70844         * modules/isapipe (Makefile.am): Likewise.
70845         * modules/javaversion (Makefile.am): Likewise.
70846         * modules/lchmod (Makefile.am): Likewise.
70847         * modules/lchown (Makefile.am): Likewise.
70848         * modules/localcharset (Makefile.am): Likewise.
70849         * modules/long-options (Makefile.am): Likewise.
70850         * modules/lstat (Makefile.am): Likewise.
70851         * modules/malloc (Makefile.am): Likewise.
70852         * modules/mathl (Makefile.am): Likewise.
70853         * modules/mbchar (Makefile.am): Likewise.
70854         * modules/md2 (Makefile.am): Likewise.
70855         * modules/md4 (Makefile.am): Likewise.
70856         * modules/md5 (Makefile.am): Likewise.
70857         * modules/memcasecmp (Makefile.am): Likewise.
70858         * modules/memchr (Makefile.am): Likewise.
70859         * modules/memcmp (Makefile.am): Likewise.
70860         * modules/memcoll (Makefile.am): Likewise.
70861         * modules/memcpy (Makefile.am): Likewise.
70862         * modules/memmem (Makefile.am): Likewise.
70863         * modules/memmove (Makefile.am): Likewise.
70864         * modules/mempcpy (Makefile.am): Likewise.
70865         * modules/memrchr (Makefile.am): Likewise.
70866         * modules/memset (Makefile.am): Likewise.
70867         * modules/memxor (Makefile.am): Likewise.
70868         * modules/mkancesdirs (Makefile.am): Likewise.
70869         * modules/mkdir-p (Makefile.am): Likewise.
70870         * modules/mkdir (Makefile.am): Likewise.
70871         * modules/mkdtemp (Makefile.am): Likewise.
70872         * modules/mkstemp (Makefile.am): Likewise.
70873         * modules/mktime (Makefile.am): Likewise.
70874         * modules/modechange (Makefile.am): Likewise.
70875         * modules/mountlist (Makefile.am): Likewise.
70876         * modules/nanosleep (Makefile.am): Likewise.
70877         * modules/obstack (Makefile.am): Likewise.
70878         * modules/openat (Makefile.am): Likewise.
70879         * modules/pagealign_alloc (Makefile.am): Likewise.
70880         * modules/pathmax (Makefile.am): Likewise.
70881         * modules/physmem (Makefile.am): Likewise.
70882         * modules/poll (Makefile.am): Likewise.
70883         * modules/posixtm (Makefile.am): Likewise.
70884         * modules/posixver (Makefile.am): Likewise.
70885         * modules/putenv (Makefile.am): Likewise.
70886         * modules/quote (Makefile.am): Likewise.
70887         * modules/quotearg (Makefile.am): Likewise.
70888         * modules/raise (Makefile.am): Likewise.
70889         * modules/read-file (Makefile.am): Likewise.
70890         * modules/readline (Makefile.am): Likewise.
70891         * modules/readlink (Makefile.am): Likewise.
70892         * modules/readtokens (Makefile.am): Likewise.
70893         * modules/readutmp (Makefile.am): Likewise.
70894         * modules/realloc (Makefile.am): Likewise.
70895         * modules/regex (Makefile.am): Likewise.
70896         * modules/rename-dest-slash (Makefile.am): Likewise.
70897         * modules/rename (Makefile.am): Likewise.
70898         * modules/rijndael (Makefile.am): Likewise.
70899         * modules/rmdir (Makefile.am): Likewise.
70900         * modules/rpmatch (Makefile.am): Likewise.
70901         * modules/safe-read (Makefile.am): Likewise.
70902         * modules/safe-write (Makefile.am): Likewise.
70903         * modules/same-inode (Makefile.am): Likewise.
70904         * modules/same (Makefile.am): Likewise.
70905         * modules/save-cwd (Makefile.am): Likewise.
70906         * modules/savedir (Makefile.am): Likewise.
70907         * modules/setenv (Makefile.am): Likewise.
70908         * modules/settime (Makefile.am): Likewise.
70909         * modules/sha1 (Makefile.am): Likewise.
70910         * modules/sig2str (Makefile.am): Likewise.
70911         * modules/snprintf (Makefile.am): Likewise.
70912         * modules/stat-macros (Makefile.am): Likewise.
70913         * modules/stat-time (Makefile.am): Likewise.
70914         * modules/stdbool (Makefile.am): Likewise.
70915         * modules/stdint (Makefile.am): Likewise.
70916         * modules/stdlib-safer (Makefile.am): Likewise.
70917         * modules/stpcpy (Makefile.am): Likewise.
70918         * modules/stpncpy (Makefile.am): Likewise.
70919         * modules/strcase (Makefile.am): Likewise.
70920         * modules/strcasestr (Makefile.am): Likewise.
70921         * modules/strchrnul (Makefile.am): Likewise.
70922         * modules/strcspn (Makefile.am): Likewise.
70923         * modules/strdup (Makefile.am): Likewise.
70924         * modules/strerror (Makefile.am): Likewise.
70925         * modules/strftime (Makefile.am): Likewise.
70926         * modules/strndup (Makefile.am): Likewise.
70927         * modules/strnlen (Makefile.am): Likewise.
70928         * modules/strpbrk (Makefile.am): Likewise.
70929         * modules/strsep (Makefile.am): Likewise.
70930         * modules/strstr (Makefile.am): Likewise.
70931         * modules/strtod (Makefile.am): Likewise.
70932         * modules/strtoimax (Makefile.am): Likewise.
70933         * modules/strtok_r (Makefile.am): Likewise.
70934         * modules/strtol (Makefile.am): Likewise.
70935         * modules/strtoll (Makefile.am): Likewise.
70936         * modules/strtoul (Makefile.am): Likewise.
70937         * modules/strtoull (Makefile.am): Likewise.
70938         * modules/strtoumax (Makefile.am): Likewise.
70939         * modules/strverscmp (Makefile.am): Likewise.
70940         * modules/sys_socket (Makefile.am): Likewise.
70941         * modules/sys_stat (Makefile.am): Likewise.
70942         * modules/sysexits (Makefile.am): Likewise.
70943         * modules/time_r (Makefile.am): Likewise.
70944         * modules/timegm (Makefile.am): Likewise.
70945         * modules/timespec (Makefile.am): Likewise.
70946         * modules/tmpfile-safer (Makefile.am): Likewise.
70947         * modules/trim (Makefile.am): Likewise.
70948         * modules/unistd-safer (Makefile.am): Likewise.
70949         * modules/unlinkdir (Makefile.am): Likewise.
70950         * modules/unlocked-io (Makefile.am): Likewise.
70951         * modules/userspec (Makefile.am): Likewise.
70952         * modules/utime (Makefile.am): Likewise.
70953         * modules/utimecmp (Makefile.am): Likewise.
70954         * modules/utimens (Makefile.am): Likewise.
70955         * modules/vasnprintf (Makefile.am): Likewise.
70956         * modules/vasprintf (Makefile.am): Likewise.
70957         * modules/vsnprintf (Makefile.am): Likewise.
70958         * modules/xalloc (Makefile.am): Likewise.
70959         * modules/xgetcwd (Makefile.am): Likewise.
70960         * modules/xnanosleep (Makefile.am): Likewise.
70961         * modules/xreadlink (Makefile.am): Likewise.
70962         * modules/xstrtod (Makefile.am): Likewise.
70963         * modules/xstrtol (Makefile.am): Likewise.
70964         * modules/xstrtold (Makefile.am): Likewise.
70965         * modules/yesno (Makefile.am): Likewise.
70966         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
70967
70968 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
70969
70970         * modules/error (Makefile.am): Distribute files through
70971         EXTRA_DIST, not lib_SOURCES.
70972
70973 2006-10-12  Eric Blake  <ebb9@byu.net>
70974
70975         * modules/error (Makefile.am): Distribute files in /lib.
70976         * modules/obstack (Makefile.am): Likewise.
70977
70978 2006-10-12  Bruno Haible  <bruno@clisp.org>
70979
70980         * modules/acl (Makefile.am): Distribute all files in lib/ through
70981         EXTRA_DIST.
70982         * modules/arcfour (Makefile.am): Likewise.
70983         * modules/arctwo (Makefile.am): Likewise.
70984         * modules/argmatch (Makefile.am): Likewise.
70985         * modules/argz (Makefile.am): Likewise.
70986         * modules/atexit (Makefile.am): Likewise.
70987         * modules/backupfile (Makefile.am): Likewise.
70988         * modules/c-strtod (Makefile.am): Likewise.
70989         * modules/c-strtold (Makefile.am): Likewise.
70990         * modules/calloc (Makefile.am): Likewise.
70991         * modules/canon-host (Makefile.am): Likewise.
70992         * modules/canonicalize (Makefile.am): Likewise.
70993         * modules/chdir-long (Makefile.am): Likewise.
70994         * modules/chdir-safer (Makefile.am): Likewise.
70995         * modules/check-version (Makefile.am): Likewise.
70996         * modules/chown (Makefile.am): Likewise.
70997         * modules/cloexec (Makefile.am): Likewise.
70998         * modules/close-stream (Makefile.am): Likewise.
70999         * modules/closeout (Makefile.am): Likewise.
71000         * modules/crc (Makefile.am): Likewise.
71001         * modules/cycle-check (Makefile.am): Likewise.
71002         * modules/des (Makefile.am): Likewise.
71003         * modules/dirfd (Makefile.am): Likewise.
71004         * modules/dirname (Makefile.am): Likewise.
71005         * modules/dup2 (Makefile.am): Likewise.
71006         * modules/euidaccess (Makefile.am): Likewise.
71007         * modules/exclude (Makefile.am): Likewise.
71008         * modules/exitfail (Makefile.am): Likewise.
71009         * modules/fcntl-safer (Makefile.am): Likewise.
71010         * modules/file-type (Makefile.am): Likewise.
71011         * modules/fileblocks (Makefile.am): Likewise.
71012         * modules/filemode (Makefile.am): Likewise.
71013         * modules/filenamecat (Makefile.am): Likewise.
71014         * modules/fnmatch (Makefile.am): Likewise.
71015         * modules/fopen-safer (Makefile.am): Likewise.
71016         * modules/fpending (Makefile.am): Likewise.
71017         * modules/fprintftime (Makefile.am): Likewise.
71018         * modules/free (Makefile.am): Likewise.
71019         * modules/fsusage (Makefile.am): Likewise.
71020         * modules/ftruncate (Makefile.am): Likewise.
71021         * modules/fts (Makefile.am): Likewise.
71022         * modules/gc (Makefile.am): Likewise.
71023         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
71024         * modules/getaddrinfo (Makefile.am): Likewise.
71025         * modules/getcwd (Makefile.am): Likewise.
71026         * modules/getdelim (Makefile.am): Likewise.
71027         * modules/getdomainname (Makefile.am): Likewise.
71028         * modules/getgroups (Makefile.am): Likewise.
71029         * modules/gethostname (Makefile.am): Likewise.
71030         * modules/gethrxtime (Makefile.am): Likewise.
71031         * modules/getline (Makefile.am): Likewise.
71032         * modules/getloadavg (Makefile.am): Likewise.
71033         * modules/getlogin_r (Makefile.am): Likewise.
71034         * modules/getopt (Makefile.am): Likewise.
71035         * modules/getpass (Makefile.am): Likewise.
71036         * modules/getpass-gnu (Makefile.am): Likewise.
71037         * modules/getsubopt (Makefile.am): Likewise.
71038         * modules/gettime (Makefile.am): Likewise.
71039         * modules/gettimeofday (Makefile.am): Likewise.
71040         * modules/getugroups (Makefile.am): Likewise.
71041         * modules/getusershell (Makefile.am): Likewise.
71042         * modules/glob (Makefile.am): Likewise.
71043         * modules/group-member (Makefile.am): Likewise.
71044         * modules/hard-locale (Makefile.am): Likewise.
71045         * modules/hash (Makefile.am): Likewise.
71046         * modules/hmac-md5 (Makefile.am): Likewise.
71047         * modules/hmac-sha1 (Makefile.am): Likewise.
71048         * modules/human (Makefile.am): Likewise.
71049         * modules/idcache (Makefile.am): Likewise.
71050         * modules/imaxabs (Makefile.am): Likewise.
71051         * modules/imaxdiv (Makefile.am): Likewise.
71052         * modules/inet_ntop (Makefile.am): Likewise.
71053         * modules/inet_pton (Makefile.am): Likewise.
71054         * modules/inttostr (Makefile.am): Likewise.
71055         * modules/isapipe (Makefile.am): Likewise.
71056         * modules/lchown (Makefile.am): Likewise.
71057         * modules/long-options (Makefile.am): Likewise.
71058         * modules/lstat (Makefile.am): Likewise.
71059         * modules/malloc (Makefile.am): Likewise.
71060         * modules/mathl (Makefile.am): Likewise.
71061         * modules/mbchar (Makefile.am): Likewise.
71062         * modules/md2 (Makefile.am): Likewise.
71063         * modules/md4 (Makefile.am): Likewise.
71064         * modules/md5 (Makefile.am): Likewise.
71065         * modules/memcasecmp (Makefile.am): Likewise.
71066         * modules/memchr (Makefile.am): Likewise.
71067         * modules/memcmp (Makefile.am): Likewise.
71068         * modules/memcoll (Makefile.am): Likewise.
71069         * modules/memcpy (Makefile.am): Likewise.
71070         * modules/memmem (Makefile.am): Likewise.
71071         * modules/memmove (Makefile.am): Likewise.
71072         * modules/mempcpy (Makefile.am): Likewise.
71073         * modules/memrchr (Makefile.am): Likewise.
71074         * modules/memset (Makefile.am): Likewise.
71075         * modules/memxor (Makefile.am): Likewise.
71076         * modules/mkancesdirs (Makefile.am): Likewise.
71077         * modules/mkdir (Makefile.am): Likewise.
71078         * modules/mkdir-p (Makefile.am): Likewise.
71079         * modules/mkdtemp (Makefile.am): Likewise.
71080         * modules/mkstemp (Makefile.am): Likewise.
71081         * modules/mktime (Makefile.am): Likewise.
71082         * modules/modechange (Makefile.am): Likewise.
71083         * modules/mountlist (Makefile.am): Likewise.
71084         * modules/nanosleep (Makefile.am): Likewise.
71085         * modules/openat (Makefile.am): Likewise.
71086         * modules/pagealign_alloc (Makefile.am): Likewise.
71087         * modules/physmem (Makefile.am): Likewise.
71088         * modules/poll (Makefile.am): Likewise.
71089         * modules/posixtm (Makefile.am): Likewise.
71090         * modules/posixver (Makefile.am): Likewise.
71091         * modules/putenv (Makefile.am): Likewise.
71092         * modules/quote (Makefile.am): Likewise.
71093         * modules/quotearg (Makefile.am): Likewise.
71094         * modules/raise (Makefile.am): Likewise.
71095         * modules/read-file (Makefile.am): Likewise.
71096         * modules/readline (Makefile.am): Likewise.
71097         * modules/readlink (Makefile.am): Likewise.
71098         * modules/readtokens (Makefile.am): Likewise.
71099         * modules/readutmp (Makefile.am): Likewise.
71100         * modules/realloc (Makefile.am): Likewise.
71101         * modules/regex (Makefile.am): Likewise.
71102         * modules/rename (Makefile.am): Likewise.
71103         * modules/rename-dest-slash (Makefile.am): Likewise.
71104         * modules/rijndael (Makefile.am): Likewise.
71105         * modules/rmdir (Makefile.am): Likewise.
71106         * modules/rpmatch (Makefile.am): Likewise.
71107         * modules/safe-read (Makefile.am): Likewise.
71108         * modules/safe-write (Makefile.am): Likewise.
71109         * modules/same (Makefile.am): Likewise.
71110         * modules/save-cwd (Makefile.am): Likewise.
71111         * modules/savedir (Makefile.am): Likewise.
71112         * modules/setenv (Makefile.am): Likewise.
71113         * modules/settime (Makefile.am): Likewise.
71114         * modules/sha1 (Makefile.am): Likewise.
71115         * modules/sig2str (Makefile.am): Likewise.
71116         * modules/snprintf (Makefile.am): Likewise.
71117         * modules/stdlib-safer (Makefile.am): Likewise.
71118         * modules/stpcpy (Makefile.am): Likewise.
71119         * modules/stpncpy (Makefile.am): Likewise.
71120         * modules/strcase (Makefile.am): Likewise.
71121         * modules/strcasestr (Makefile.am): Likewise.
71122         * modules/strchrnul (Makefile.am): Likewise.
71123         * modules/strcspn (Makefile.am): Likewise.
71124         * modules/strdup (Makefile.am): Likewise.
71125         * modules/strerror (Makefile.am): Likewise.
71126         * modules/strftime (Makefile.am): Likewise.
71127         * modules/strndup (Makefile.am): Likewise.
71128         * modules/strnlen (Makefile.am): Likewise.
71129         * modules/strpbrk (Makefile.am): Likewise.
71130         * modules/strsep (Makefile.am): Likewise.
71131         * modules/strstr (Makefile.am): Likewise.
71132         * modules/strtod (Makefile.am): Likewise.
71133         * modules/strtoimax (Makefile.am): Likewise.
71134         * modules/strtok_r (Makefile.am): Likewise.
71135         * modules/strtol (Makefile.am): Likewise.
71136         * modules/strtoll (Makefile.am): Likewise.
71137         * modules/strtoul (Makefile.am): Likewise.
71138         * modules/strtoull (Makefile.am): Likewise.
71139         * modules/strtoumax (Makefile.am): Likewise.
71140         * modules/strverscmp (Makefile.am): Likewise.
71141         * modules/time_r (Makefile.am): Likewise.
71142         * modules/timegm (Makefile.am): Likewise.
71143         * modules/tmpfile-safer (Makefile.am): Likewise.
71144         * modules/unistd-safer (Makefile.am): Likewise.
71145         * modules/unlinkdir (Makefile.am): Likewise.
71146         * modules/userspec (Makefile.am): Likewise.
71147         * modules/utime (Makefile.am): Likewise.
71148         * modules/utimecmp (Makefile.am): Likewise.
71149         * modules/utimens (Makefile.am): Likewise.
71150         * modules/vasnprintf (Makefile.am): Likewise.
71151         * modules/vasprintf (Makefile.am): Likewise.
71152         * modules/vsnprintf (Makefile.am): Likewise.
71153         * modules/xalloc (Makefile.am): Likewise.
71154         * modules/xgetcwd (Makefile.am): Likewise.
71155         * modules/xnanosleep (Makefile.am): Likewise.
71156         * modules/xreadlink (Makefile.am): Likewise.
71157         * modules/xstrtod (Makefile.am): Likewise.
71158         * modules/xstrtol (Makefile.am): Likewise.
71159         * modules/xstrtold (Makefile.am): Likewise.
71160         * modules/yesno (Makefile.am): Likewise.
71161
71162 2006-10-12  Jim Meyering  <jim@meyering.net>
71163
71164         * m4/getloadavg.m4: Revert the change below.
71165
71166         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
71167         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
71168         fail with a symlink, which is what coreutils' ./bootstrap now
71169         creates by default.
71170
71171 2006-10-12  Bruno Haible  <bruno@clisp.org>
71172
71173         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
71174         mingw.
71175         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
71176         MSVC and mingw explicitly.
71177
71178 2006-10-11  Simon Josefsson  <jas@extundo.com>
71179             Bruno Haible  <bruno@clisp.org>
71180
71181         Add support for multiple gnulib-tool invocations in the scope of a
71182         single configure.ac file.
71183         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
71184         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
71185         with the same contents as the _LIBADD variable.
71186         (func_emit_initmacro_start, func_emit_initmacro_end,
71187         func_emit_initmacro_done): New functions.
71188         (func_import, func_create_testdir): Invoke them. Allow the identifiers
71189         gl_LIBOBJS and gl_LTLIBOBJS.
71190
71191 2006-10-11  Bruno Haible  <bruno@clisp.org>
71192
71193         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
71194         (func_create_testdir): Don't create po/Makefile.am, don't invoke
71195         autoreconf. Instead, invoke autopoint explicitly but move back the
71196         *.m4 files from gnulib.
71197
71198 2006-10-11  Bruno Haible  <bruno@clisp.org>
71199
71200         * gnulib-tool (func_usage): Make module names after --create-testdir
71201         optional.
71202         (func_create_testdir): If no module was specified, use nearly all
71203         modules.
71204
71205 2006-10-12  Jim Meyering  <jim@meyering.net>
71206
71207         Big performance improvement for fts-based tools that use FTS_NOSTAT.
71208         Avoid spurious inode-mismatch problems on non-POSIX file systems.
71209         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
71210         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
71211         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
71212         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
71213         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
71214         (fts_set_stat_required): New function.
71215         (fts_open): Defer the calls to fts_stat, if possible or requested.
71216         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
71217         into fts_stat itself.
71218         (fts_read): Perform any required (deferred) fts_stat call.
71219         (fts_build): Likewise, for the directory we're about to open and read.
71220         In the readdir loop, carefully decide whether each entry will require
71221         an eventual call to fts_stat, using dirent.d_type info if available.
71222         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
71223         a command line argument into this function.  Update all callers.
71224         Map a return value of FTS_DOT to FTS_D for a command line argument.
71225         * modules/fts (Depends-on): Add d-type.  Alphabetize.
71226         Thanks to Miklos Szeredi for his tenacity and for the initial
71227         bug report about "find" failing on a FUSE-based file system.
71228
71229         * lib/fts.c (fts_open): Use consistent indentation.
71230
71231 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
71232
71233         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
71234         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
71235         reported by Jim Meyering.  All uses of cache variables renamed
71236         to match Autoconf's.
71237         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
71238         the other one.
71239
71240         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
71241         Fix misspelling in diagnostic.
71242
71243 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
71244
71245         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
71246         defined.  Problem reported by Matthew Woehlke.
71247
71248         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
71249         Add support for Tandem NonStop R series.
71250         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
71251         Use new macro.
71252
71253         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
71254         (has_trailing_slash): Omit size arg; all callers changed.
71255         Omit 'inline', since it doesn't help performance and we'd
71256         need to configure it.
71257         Don't count //, ///, etc. as having a trailing slash.
71258         As a side effect, this removes a C99ism reported by Matthew Woehlke.
71259         (rpl_rename_dest_slash): On failure, use rename's errno rather
71260         than (in some cases) an incorrect or junk errno.
71261         Simplify code by removing need to compute length; this does
71262         cause it to make two passes instead of one over the file name,
71263         but it's worth it.
71264
71265         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
71266         change, since Autoconf's version may no longer be appropriate now
71267         that we are using CVS Autoconf's version.  Add support for Tandem.
71268
71269 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
71270             Bruno Haible  <bruno@clisp.org>
71271
71272         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
71273         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
71274         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
71275         gl_AC_TYPE_LONG_LONG.
71276
71277         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
71278         instead of HAVE_LONG_LONG.
71279         * lib/printf-args.c (printf_fetchargs): Likewise.
71280         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
71281         * lib/vasnprintf.c (VASNPRINTF): Likewise.
71282         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
71283         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
71284         gl_AC_TYPE_LONG_LONG.
71285
71286 2006-10-11  Bruno Haible  <bruno@clisp.org>
71287
71288         * m4/longlong.m4: Add comments.
71289         * m4/ulonglong.m4: Likewise.
71290
71291 2006-10-10  Bruno Haible  <bruno@clisp.org>
71292
71293         Make it possible to #define stpcpy, strdup to aliases.
71294         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
71295         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
71296
71297 2006-10-10  Bruno Haible  <bruno@clisp.org>
71298
71299         Make it possible to #define gcd to an alias.
71300         * lib/gcd.c: Include config.h.
71301
71302 2006-10-10  Bruno Haible  <bruno@clisp.org>
71303
71304         Make it possible to #define c_isascii to an alias.
71305         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
71306         defined. Undefine the macros before defining them, to avoid gcc
71307         warnings.
71308         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
71309         define NO_C_CTYPE_MACROS early.
71310
71311 2006-10-10  Bruno Haible  <bruno@clisp.org>
71312
71313         Make it possible to #define set_program_name to an alias.
71314         * lib/progname.c: Don't undefine set_program_name; instead, undefine
71315         ENABLE_RELOCATABLE early.
71316
71317 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
71318
71319         Port to Tandem NSK OSS, which has 64-bit signed int but at most
71320         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
71321         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
71322         More generally, don't assume that 64-bit signed int is available
71323         if unsigned int is, and vice versa.
71324         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
71325         unsigned symbols, not on their signed counterparts.
71326         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
71327         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
71328         (UINT64_C, UINTMAX_C):
71329         Likewise.
71330         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
71331         unsigned counterparts.
71332         (Have_long_long, Unsigned): New macros.
71333         (Int): Renamed from INT.
71334         (strtoimax): Use the new macros.
71335         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
71336         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
71337         * modules/inttypes (inttypes.h): Substitute
71338         HAVE_UNSIGNED_LONG_LONG_INT.
71339         * modules/stdint (stdint.h): Likewise.
71340         (Files): Add m4/ulonglong.m4.
71341
71342 2006-10-10  Bruno Haible  <bruno@clisp.org>
71343
71344         Fix a gcc -Wshadow warning.
71345         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
71346         to 'bucket'.
71347         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
71348         gl_linked_indexof_from_to): Likewise.
71349         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
71350         Likewise.
71351         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
71352         Likewise.
71353         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
71354         Reported by Eric Blake.
71355
71356 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
71357
71358         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
71359         for NetBSD.  Problem reported by Bruno Haible.
71360
71361 2006-10-09  Jim Meyering  <jim@meyering.net>
71362
71363         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
71364         Patch from Bruno Haible.
71365
71366 2006-10-09  Jim Meyering  <jim@meyering.net>
71367
71368         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
71369         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
71370         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
71371
71372 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
71373
71374         Don't include <config.h> twice; this doesn't work in some cases,
71375         e.g., when config.h has "#define intmax_t long long int" and
71376         we include <config.h>, <inttypes.h>, <config.h> in that order.
71377         Problem reported by Matthew Woehlke in:
71378         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
71379         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
71380         * lib/fts-cycle.c: Don't include config.h.
71381         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
71382         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
71383         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
71384         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
71385         inttypes.h.
71386         * lib/xstrtoumax.c: Likewise.
71387         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
71388         __strtol and the like, so that this module is more like its siblings.
71389         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
71390         Remove; no longer needed now that we assume gnulib inttypes.h.
71391
71392 2006-10-08  Bruno Haible  <bruno@clisp.org>
71393
71394         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
71395         option.
71396
71397 2006-10-07  Jim Meyering  <jim@meyering.net>
71398
71399         * modules/inttypes (inttypes.h): Revert what seems to have been
71400         an inadvertent part of today's change: use "|", not "/" in the
71401         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
71402
71403 2006-10-07  Bruno Haible  <bruno@clisp.org>
71404
71405         * modules/sublist: New file.
71406
71407 2006-10-07  Bruno Haible  <bruno@clisp.org>
71408
71409         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
71410         * modules/argz (argz.h): Likewise.
71411         * modules/arpa_inet (arpa/inet.h): Likewise.
71412         * modules/byteswap (byteswap.h): Likewise.
71413         * modules/configmake (configmake.h): Likewise.
71414         * modules/fcntl (fcntl.h): Likewise.
71415         * modules/fnmatch (fnmatch.h): Likewise.
71416         * modules/getopt (getopt.h): Likewise.
71417         * modules/glob (glob.h): Likewise.
71418         * modules/inttypes (inttypes.h): Likewise.
71419         * modules/netinet_in (netinet/in.h): Likewise.
71420         * modules/poll (poll.h): Likewise.
71421         * modules/stdbool (stdbool.h): Likewise.
71422         * modules/stdint (stdint.h): Likewise.
71423         * modules/sys_select (sys/select.h): Likewise.
71424         * modules/sys_socket (sys/socket.h): Likewise.
71425         * modules/sys_stat (sys/stat.h): Likewise.
71426         * modules/sysexits (sysexits.h): Likewise.
71427         * modules/unistd (unistd.h): Likewise.
71428         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
71429         Add a "DO NOT EDIT" comment to the generated file.
71430         (func_import): Likewise for gnulib-comp.m4.
71431
71432 2006-10-07  Bruno Haible  <bruno@clisp.org>
71433
71434         * lib/gl_sublist.h: New file.
71435         * lib/gl_sublist.c: New file.
71436
71437 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
71438
71439         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
71440         name (relative to the original working directory) and the file
71441         name component (relative to the temporary working directory).  All
71442         callers changed.
71443         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
71444         * lib/mkdir-p.c (make_dir_parents): Likewise.
71445         * lib/mkdir-p.h (make_dir_parents): Likewise.
71446
71447 2006-10-06  Eric Blake  <ebb9@byu.net>
71448
71449         Define several macros for use by the clean-temp module.
71450         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
71451         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
71452         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
71453
71454         * lib/clean-temp.h (close_stream_temp): New declaration.
71455         * lib/clean-temp.c (includes): Pull in headers according to what
71456         other modules are in use.
71457         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
71458
71459 2006-10-06  Bruno Haible  <bruno@clisp.org>
71460
71461         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
71462         instead of fopen, fwriteerror.
71463
71464 2006-10-06  Bruno Haible  <bruno@clisp.org>
71465
71466         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
71467         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
71468         int.
71469         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
71470         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
71471         Return an error indicator.
71472         Suggested by Eric Blake.
71473
71474 2006-10-06  Bruno Haible  <bruno@clisp.org>
71475
71476         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
71477         Reported by Eric Blake.
71478
71479 2006-10-06  Bruno Haible  <bruno@clisp.org>
71480
71481         * modules/closeout (Description): Mention stderr too.
71482
71483 2006-10-06  Bruno Haible  <bruno@clisp.org>
71484         and Paul Eggert  <eggert@cs.ucla.edu>
71485
71486         * lib/closeout.c (close_stdout): Also close stderr.
71487         * lib/closeout.h: Update comment.
71488
71489 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
71490
71491         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
71492         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
71493         * lib/dirchownmod.c: Include lchown.h.
71494         * lib/lchown.c: Don't include files that lchown.h now includes.
71495         Don't declare chown, since lchown.h now does that.
71496         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
71497         (lchown): Define to rpl_chown if lchown is declared but
71498         does not exist.  Declare using a prototype if lchown is not
71499         declared.  Add a copyright notice.
71500         * lib/mkstemp.h: Include <unistd.h>.
71501         * lib/openat.c: Include lchown.h.
71502
71503         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
71504         we now test for that separately.
71505         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
71506         rather than O_NOFOLLOW, when testing whether it's possible to
71507         avoid a race condition reliably.
71508         * lib/savewd.c (savewd_chdir): Likewise.
71509
71510         Remove macros that are no longer needed now that stdint.h is
71511         reliable.
71512         * lib/fsusage.c (UINTMAX_MAX): Remove.
71513         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
71514         * lib/utimecmp.c (SIZE_MAX): Remove.
71515
71516         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
71517
71518         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
71519         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
71520         O_NOATIME works.
71521
71522 2006-10-05  Bruno Haible  <bruno@clisp.org>
71523
71524         * lib/gl_list.h (gl_sortedlist_search_from_to,
71525         gl_sortedlist_indexof_from_to): New declarations.
71526         (gl_list_implementation): New fields sortedlist_search_from_to,
71527         sortedlist_indexof_from_to.
71528         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
71529         inline functions.
71530         * lib/gl_list.c (gl_sortedlist_search_from_to,
71531         gl_sortedlist_indexof_from_to): New functions.
71532         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
71533         function.
71534         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
71535         (gl_array_sortedlist_search_from_to): New function.
71536         (gl_array_list_implementation): Update.
71537         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
71538         function.
71539         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
71540         (gl_carray_sortedlist_search_from_to): New function.
71541         (gl_carray_list_implementation): Update.
71542         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
71543         gl_linked_sortedlist_indexof_from_to): New functions.
71544         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
71545         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
71546         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
71547         gl_tree_sortedlist_indexof_from_to): New functions.
71548         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
71549         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
71550         Update.
71551         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
71552         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
71553         Update.
71554
71555 2006-10-05  Bruno Haible  <bruno@clisp.org>
71556
71557         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
71558         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
71559         (struct gl_list_implementation): Add fields search_from_to,
71560         indexof_from_to. Remove fields search, indexof.
71561         (gl_list_search): Use the search_from_to method.
71562         (gl_list_search_from, gl_list_search_from_to): New functions.
71563         (gl_list_indexof): Use the indexof_from_to method.
71564         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
71565         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
71566         (gl_list_search_from, gl_list_search_from_to): New functions.
71567         (gl_list_indexof): Use the indexof_from_to method.
71568         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
71569         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
71570         gl_array_indexof. Add start_index, end_index arguments.
71571         (gl_array_search_from_to): Renamed from gl_array_search. Add
71572         start_index, end_index arguments.
71573         (gl_array_remove, gl_array_list_implementation): Update.
71574         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
71575         gl_carray_indexof. Add start_index, end_index arguments.
71576         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
71577         start_index, end_index arguments.
71578         (gl_carray_remove, gl_carray_list_implementation): Update.
71579         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
71580         gl_linked_search. Add start_index, end_index arguments.
71581         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
71582         start_index, end_index arguments.
71583         (gl_linked_remove): Update.
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_list1.h (iterstack_item_t): Change type of 'rightp'
71587         field to 'size_t'.
71588         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
71589         gl_tree_search. Add start_index, end_index arguments.
71590         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
71591         start_index, end_index arguments.
71592         (gl_tree_remove): Update.
71593         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
71594         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
71595         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
71596         function.
71597         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
71598         gl_tree_search. Add start_index, end_index arguments.
71599         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
71600         start_index, end_index arguments.
71601         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
71602         Update.
71603         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
71604
71605 2006-10-05  Bruno Haible  <bruno@clisp.org>
71606
71607         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
71608
71609         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
71610         fwriteerror_temp): New declarations.
71611         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
71612         (descriptors): New variable.
71613         (cleanup): First, close the descriptors.
71614         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
71615         fclose_temp, fwriteerror_temp): New functions.
71616
71617 2006-10-04  Jim Meyering  <jim@meyering.net>
71618
71619         * lib/fts.c (fts_open): Tiny comment change.
71620
71621 2006-10-04  Bruno Haible  <bruno@clisp.org>
71622
71623         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
71624         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
71625         gl_LOCK_BODY.
71626         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
71627         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
71628         gl_LOCK_EARLY_BODY.
71629         (gl_LOCK): Require gl_LOCK_BODY.
71630
71631 2006-10-04  Bruno Haible  <bruno@clisp.org>
71632
71633         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
71634         (gl_oset_search_atleast): New declaration.
71635         (struct gl_oset_implementation): Add field 'search_atleast'.
71636         (gl_oset_search_atleast): New inline function.
71637         * lib/gl_oset.c (gl_oset_search_atleast): New function.
71638         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
71639         (gl_array_oset_implementation): Update.
71640         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
71641         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
71642         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
71643
71644 2006-10-04  Bruno Haible  <bruno@clisp.org>
71645
71646         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
71647
71648 2006-10-03  Bruno Haible  <bruno@clisp.org>
71649
71650         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
71651         from gl_avltreehash_list_implementation.
71652
71653 2006-10-03  Bruno Haible  <bruno@clisp.org>
71654
71655         * lib/gl_oset.c (gl_oset_add): Fix return type.
71656
71657 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
71658
71659         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
71660
71661 2006-10-02  Eric Blake  <ebb9@byu.net>
71662
71663         * modules/strnlen (Depends-on): Add extensions.
71664
71665 2006-10-02  Eric Blake  <ebb9@byu.net>
71666
71667         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
71668         definition in 2.60+.
71669
71670 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
71671
71672         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
71673         checks.
71674
71675 2006-10-02  Bruno Haible  <bruno@clisp.org>
71676
71677         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
71678         to the AUTOMAKE_OPTIONS.
71679         Reported by Jim Meyering.
71680
71681 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
71682
71683         Work around bug in Solaris 10 /proc file system:
71684         /proc/self/fd/NNN/.. isn't the parent directory of
71685         the directory whose file descriptor is NNN.  This needs to
71686         be worked around at run time, not compile time, since a
71687         program might be built on Solaris 8, where things work, and
71688         run on Solaris 10.
71689         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
71690         to use the following interface instead:
71691         (OPENAT_BUFFER_SIZE): New macro.
71692         (openat_proc_name): New function.
71693         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
71694         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
71695         Likewise.
71696         * lib/openat-proc.c: New file.
71697         * modules/openat (Files): Add lib/openat-proc.c.
71698         (Depends-on): Add same-inode, stdbool.
71699         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
71700
71701 2006-09-29  Bruno Haible  <bruno@clisp.org>
71702
71703         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
71704         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
71705         argument. Set stdout_closed before testing for ferror, not after.
71706         (fwriteerror, fwriteerror_no_ebadf): New functions.
71707
71708 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71709
71710         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
71711
71712 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
71713
71714         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
71715         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
71716
71717 2006-09-28  Jim Meyering  <jim@meyering.net>
71718
71719         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
71720         Include <unistd.h>.
71721
71722 2006-09-28  Bruno Haible  <bruno@clisp.org>
71723
71724         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
71725         * modules/linkedhash-list (Depends-on): Likewise.
71726         * modules/rbtreehash-list (Depends-on): Likewise.
71727
71728 2006-09-28  Bruno Haible  <bruno@clisp.org>
71729
71730         * lib/strndup.h: Simplify the redefinition of strndup.
71731         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
71732         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
71733
71734 2006-09-28  Bruno Haible  <bruno@clisp.org>
71735
71736         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
71737         * lib/gl_linkedhash_list.c: Likewise.
71738         * lib/gl_rbtreehash_list.c: Likewise.
71739
71740 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
71741
71742         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
71743         getaddrinfo.
71744
71745         * lib/__fpending.h: Don't include <stdio_ext.h> unless
71746         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
71747         it causes <stdio_ext.h> to cause a compile-time error.
71748         Problem reported by Nelson H. F. Beebe.
71749         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
71750         of HAVE_DECL___PENDING.
71751
71752         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
71753         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
71754         declaration.
71755
71756 2006-09-27  Jim Meyering  <jim@meyering.net>
71757
71758         This file could end up with a definition for a function
71759         named __strndup, rather than rpl_strndup on a system with
71760         incomplete weak_alias support.
71761         * lib/strndup.c (strndup): Rename from __strndup.
71762         Remove #defines that used to map __strndup to strndup.
71763         Don't use K&R prototypes.
71764         Remove LIBC-related code, since this file is not sync'd with glibc.
71765         * lib/strndup.h: Revamp, accordingly.
71766         * m4/strndup.m4: Modernize.
71767
71768 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
71769
71770         * modules/savewd (Depends-on): Add 'raise'.
71771         * lib/savewd.c: Include <signal.h>, for 'raise'.
71772
71773 2006-09-26  Jim Meyering  <jim@meyering.net>
71774
71775         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
71776         when we detect Darwin 8.7.0's acl_get_file bug.
71777         Rearrange to perform the new (below) run-test while $LIBS
71778         contains any acl-related library.  Set USE_ACL at the end.
71779         (gl_ACL_GET_FILE): New function.
71780
71781 2006-09-26  Eric Blake  <ebb9@byu.net>
71782
71783         * lib/verror.c: Include <config.h> unconditionally.
71784
71785 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
71786
71787         * modules/clock-time (Maintainer): Add self.
71788         * modules/getlogin_r (Depends-on): Add extensions.
71789
71790 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71791
71792         * modules/clock-time: New module.
71793         * modules/nanosleep (Depends-on): Add clock-time.
71794         * modules/gethrxtime (Depends-on): Likewise.
71795         * modules/gettime (Depends-on): Likewise.
71796         * modules/settime (Depends-on): Likewise.
71797
71798         * modules/fts-lgpl: Depend on openat.
71799         * modules/mkancesdirs: Depend on savewd.
71800         * modules/mkdir-p: Likewise.
71801
71802 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71803
71804         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
71805
71806         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
71807         `gl_have_arbitrary_file_name_length_limit' to
71808         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
71809         actually works between configure runs.
71810
71811 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71812             Bruno Haible  <bruno@clisp.org>
71813
71814         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
71815
71816 2006-09-25  Jim Meyering  <jim@meyering.net>
71817
71818         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
71819         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
71820
71821 2006-09-25  Eric Blake  <ebb9@byu.net>
71822
71823         * gnulib-tool (func_import, func_create_testdir): Fix typos in
71824         exec's in 2006-09-18 patch when shuffling fds.
71825
71826 2006-09-25  Bruno Haible  <bruno@clisp.org>
71827
71828         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
71829         Reported by Jim Meyering.
71830
71831 2006-09-24  Jim Meyering  <jim@meyering.net>
71832
71833         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
71834         compare a pointer against a literal "0".  That caused failures with
71835         at least HP-UX's hpcc.
71836
71837 2006-09-22  Simon Josefsson  <jas@extundo.com>
71838
71839         * modules/gc-sha1:
71840         * modules/gc-md4:
71841         * modules/gc-hmac-sha1:
71842         * modules/gc-hmac-md5:
71843         * modules/gc-des:
71844         * modules/gc-arcfour: Distribute more files.
71845
71846 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71847
71848         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
71849         (gl_linked_iterator_from_to): Initialize struct completely.
71850         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
71851         (gl_tree_iterator_from_to): Likewise
71852         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
71853         * lib/gl_array_list.c [lint] (gl_array_iterator)
71854         (gl_array_iterator_from_to): Likewise.
71855         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
71856         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
71857         (gl_carray_iterator_from_to): Likewise.
71858
71859         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
71860         * lib/md4.c (md4_process_block): Remove unused variable.
71861         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
71862         parentheses for clarity.
71863
71864 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71865
71866         * modules/bison-i18n (Depends-on): Add gettext.
71867
71868 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71869
71870         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
71871         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
71872         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
71873         also add missing comma that caused broken test.
71874         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
71875         stdlib.h, for `abort'.
71876         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
71877         variables.
71878         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
71879         include unistd.h if present, for `rmdir'.
71880         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
71881         variables.
71882         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
71883         in the process include standard headers for prototypes.
71884         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
71885         gets declared on GNU/Linux.
71886         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
71887         unistd.h, for `rmdir'.
71888         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
71889
71890         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
71891         always true.
71892         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
71893
71894         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
71895
71896 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71897
71898         * gnulib-tool (func_version): Create output all at once.  This
71899         may help avoid triggering unnecessary SIGPIPEs, and at any
71900         rate it doesn't hurt.
71901
71902 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71903             Bruno Haible  <bruno@clisp.org>
71904
71905         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
71906         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
71907         * m4/signed.m4 (bh_C_SIGNED): Likewise.
71908
71909         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
71910         (gl_FUNC_VASPRINTF): Invoke it.
71911
71912 2006-09-22  Bruno Haible  <bruno@clisp.org>
71913
71914         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
71915         getloadavg.c as first argument.
71916
71917 2006-09-22  Bruno Haible  <bruno@clisp.org>
71918
71919         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
71920         at the beginning of the gl_INIT macro.
71921         * modules/getloadavg (configure.ac): Pass $gl_source_base to
71922         gl_GETLOADAVG.
71923
71924 2006-09-22  Bruno Haible  <bruno@clisp.org>
71925
71926         * gnulib-tool (func_create_megatestdir): Don't include the config-h
71927         module.
71928         Suggested by Ralf Wildenhues.
71929
71930 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
71931
71932         Import this patch from libc:
71933
71934         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
71935
71936         * lib/regex_internal.c (re_string_reconstruct): Handle
71937         offset < pstr->valid_raw_len && pstr->offsets_needed case.
71938         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
71939         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
71940         re_string_context_at.
71941
71942         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
71943         now requires it.
71944         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
71945         gl_REGEX now does it for us.
71946         (gl_REGEX): Add test taken from
71947         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
71948
71949         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
71950         Check that large offsets work.  Modernize Autoconf usages.
71951         Prefer "yes" to mean a good thing rather than a bad.
71952         Don't put "#define mkstemp" in config.h, as this might interfere
71953         with standard system headers that "#define mkstemp mkstemp64".
71954
71955         * modules/mkstemp (Depends-on): Add extensions, so that
71956         mkstemp is visible on some platforms.
71957         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
71958         (Include): Change to "mkstemp.h" from <stdlib.h>.
71959         (Files): Add mkstemp.h.
71960
71961         * lib/mkstemp.h: New file, since some standard headers
71962         #define mkstemp.
71963         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
71964         Include "mkstemp.h".
71965         Make the _LIBC code resemble glibc original more,
71966         e.g., use K&R style.
71967         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
71968         (mkstemp): Remove, since mkstemp.h does this for us.
71969         * lib/stdlib--.h: Include mkstemp.h.
71970
71971         Import this patch from libc:
71972
71973         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
71974
71975         * lib/tempname.c (__gen_tempname): Change attempts_min
71976         into a macro.  Use preprocessor to decide how to initialize
71977         attempts [Coverity CID 67].
71978
71979 2006-09-20  Bruno Haible  <bruno@clisp.org>
71980
71981         * lib/mkdtemp.c: Import from libc.
71982         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
71983                 * sysdeps/posix/tempname.c (__gen_tempname): Change
71984                 attempts_min into a macro.  Use preprocessor to decide how to
71985                 initialize attempts [Coverity CID 67].
71986         2001-11-27  Paul Eggert  <eggert@twinsun.com>
71987                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
71988                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
71989
71990 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71991
71992         * gnulib-tool (func_exit): New function, to allow to pass the
71993         exit status portably through the trap.  Use everywhere.
71994         (--help, --version): Signal a write error.
71995         (trap): catch SIGPIPE, for write errors.
71996         Exit at the end of the trap, with the correct exit status.
71997
71998 2006-09-19  Karl Berry  <karl@gnu.org>
71999
72000         * doc/gnulib.texi: note about the license texinfo files.
72001
72002 2006-09-19  Eric Blake  <ebb9@byu.net>
72003
72004         * gnulib-tool: Avoid space-tab.
72005
72006 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
72007
72008         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
72009         that prevented coreutils 6.1 from building.  Problem reported
72010         by Petter Reinholdtsen.
72011
72012 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
72013
72014         * gnulib-tool (avoidlist): Fix typo that broke options like
72015         --avoid=lock that are used by coreutils bootstrap.
72016
72017 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
72018
72019         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
72020         more systematically.
72021
72022 2006-09-18  Jim Meyering  <jim@meyering.net>
72023
72024         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
72025
72026 2006-09-18  Bruno Haible  <bruno@clisp.org>
72027
72028         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
72029
72030 2006-09-18  Bruno Haible  <bruno@clisp.org>
72031
72032         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
72033         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
72034         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
72035         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
72036         * m4/gettext.m4: Require autoconf >= 2.52.
72037         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
72038         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
72039         of gl_cv_header_inttypes_h.
72040
72041 2006-09-18  Bruno Haible  <bruno@clisp.org>
72042
72043         * lib/javaversion.c: Include configmake.h.
72044
72045 2006-09-18  Bruno Haible  <bruno@clisp.org>
72046
72047         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
72048         avoid that the while loops be executed in a subshell.
72049
72050 2006-09-18  Bruno Haible  <bruno@clisp.org>
72051
72052         * MODULES.html.sh (func_module): Break long lines.
72053         Suggested by Bruce Korb <bkorb@gnu.org>.
72054
72055 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72056
72057         Speed up by a factor of 1.12.
72058         * gnulib-tool (nl): New variable.
72059         (func_import): Rewrite include directive extraction to only read each
72060         directive once.
72061
72062 2006-09-17  Bruno Haible  <bruno@clisp.org>
72063
72064         * modules/javaversion (Makefile.am): Remove DEFS setting.
72065         (Depends-on): Add configmake, for PKGDATADIR definition.
72066
72067 2006-09-17  Bruno Haible  <bruno@clisp.org>
72068
72069         * gnulib-tool (func_create_testdir): Rewrite all files at once.
72070
72071 2006-09-17  Bruno Haible  <bruno@clisp.org>
72072
72073         * gnulib-tool (func_append): New function, stolen from libtool.m4.
72074         (func_modules_transitive_closure, func_modules_add_dummy,
72075         func_modules_to_filelist, func_import, func_create_testdir,
72076         func_create_megatestdir, ...): Use it wherever possible.
72077         Suggested by Ralf Wildenhues.
72078
72079 2006-09-16  Karl Berry  <karl@gnu.org>
72080
72081         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
72082         to avoid sectioning errors.
72083         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
72084         [ifinfo]: blank line after @center-ed titles.
72085         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
72086         Spell FSF address consistently with others.
72087         (These changes approved by rms.)
72088
72089 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72090
72091         Speed up by a factor of 1.61.
72092         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
72093         already checked module names again.
72094
72095 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72096
72097         Speed up by a factor of 1.13.
72098         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
72099         for new_files, and the input to func_add_or_update.
72100
72101 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72102
72103         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
72104         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
72105
72106 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
72107
72108         * modules/mkancesdirs (Depends-on): Add fcntl.
72109         * modules/savewd: New file.
72110         * MODULES.html.sh (File system functions): Add savewd.
72111
72112         * modules/configmake (Makefile.am): Add support for the
72113         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
72114
72115 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
72116
72117         * m4/savewd.m4: New file.
72118
72119 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
72120
72121         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
72122         (dirchownmod): New arg FD.  All callers changed.
72123         Use FD rather than opening the directory ourself, as opening is
72124         now the caller's responsibility.
72125         * lib/dirchownmod.h: Likewise.
72126         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
72127         hosts that require <sys/types.h> before <sys/stat.h>.  Include
72128         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
72129         (test_dir): Remove.
72130         (mkancesdirs): Return length of prefix of FILE that has already
72131         been made, or -2 if there is a child doing the work.  Redo
72132         algorithm so that it is O(N) rather than O(N**2).  Optimize away
72133         ".", and treat ".." specially since it might stray back into
72134         already-created areas.  Use a subprocess if necessary.  New arg
72135         WD; all users changed.  MAKE_DIR function should now return 1
72136         if it creates a directory that is not readable.  Return -2 if
72137         a child process is spun off.
72138         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
72139         Adjust signature to match code.
72140         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
72141         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
72142         all users changed.
72143         * lib/savewd.c, lib/savewd.h: New files.
72144
72145 2006-09-15  Jim Meyering  <jim@meyering.net>
72146
72147         * modules/rename-dest-slash: New module.
72148         * MODULES.html.sh (posix_compat): Add it here.
72149
72150         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
72151
72152 2006-09-15  Jim Meyering  <jim@meyering.net>
72153
72154         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
72155         file.
72156
72157         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
72158
72159 2006-09-15  Jim Meyering  <jim@meyering.net>
72160
72161         * lib/rename-dest-slash.c (has_trailing_slash): Use
72162         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
72163         (rpl_rename_dest_slash): Perform the cheaper trailing slash
72164         test before testing whether SRC is a directory.
72165         Suggestions from Bruno Haible.
72166
72167         Avoid a warning about an unused variable.
72168         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
72169         into the #ifdef block where it's used.
72170
72171         * lib/rename-dest-slash.c: New file.
72172
72173 2006-09-14  Bruno Haible  <bruno@clisp.org>
72174
72175         * lib/allocsa.c: Include <config.h> unconditionally.
72176         * lib/asnprintf.c: Likewise.
72177         * lib/asprintf.c: Likewise.
72178         * lib/c-strcasecmp.c: Likewise.
72179         * lib/c-strcasestr.c: Likewise.
72180         * lib/c-strncasecmp.c: Likewise.
72181         * lib/c-strstr.c: Likewise.
72182         * lib/classpath.c: Likewise.
72183         * lib/clean-temp.c: Likewise.
72184         * lib/concatpath.c: Likewise.
72185         * lib/copy-file.c: Likewise.
72186         * lib/csharpcomp.c: Likewise.
72187         * lib/csharpexec.c: Likewise.
72188         * lib/execute.c: Likewise.
72189         * lib/fatal-signal.c: Likewise.
72190         * lib/findprog.c: Likewise.
72191         * lib/fwriteerror.c: Likewise.
72192         * lib/gl_array_list.c: Likewise.
72193         * lib/gl_array_oset.c: Likewise.
72194         * lib/gl_avltree_list.c: Likewise.
72195         * lib/gl_avltree_oset.c: Likewise.
72196         * lib/gl_avltreehash_list.c: Likewise.
72197         * lib/gl_carray_list.c: Likewise.
72198         * lib/gl_linked_list.c: Likewise.
72199         * lib/gl_linkedhash_list.c: Likewise.
72200         * lib/gl_list.c: Likewise.
72201         * lib/gl_oset.c: Likewise.
72202         * lib/gl_rbtree_list.c: Likewise.
72203         * lib/gl_rbtree_oset.c: Likewise.
72204         * lib/gl_rbtreehash_list.c: Likewise.
72205         * lib/imaxabs.c: Likewise.
72206         * lib/imaxdiv.c: Likewise.
72207         * lib/javacomp.c: Likewise.
72208         * lib/javaexec.c: Likewise.
72209         * lib/javaversion.c: Likewise.
72210         * lib/linebreak.c: Likewise.
72211         * lib/localcharset.c: Likewise.
72212         * lib/lock.c: Likewise.
72213         * lib/mbchar.c: Likewise.
72214         * lib/mbswidth.c: Likewise.
72215         * lib/mkdtemp.c: Likewise.
72216         * lib/pipe.c: Likewise.
72217         * lib/printf-args.c: Likewise.
72218         * lib/printf-parse.c: Likewise.
72219         * lib/progname.c: Likewise.
72220         * lib/progreloc.c: Likewise.
72221         * lib/readlink.c: Likewise.
72222         * lib/sh-quote.c: Likewise.
72223         * lib/stpcpy.c: Likewise.
72224         * lib/stpncpy.c: Likewise.
72225         * lib/strcasecmp.c: Likewise.
72226         * lib/strcasestr.c: Likewise.
72227         * lib/strcspn.c: Likewise.
72228         * lib/striconv.c: Likewise.
72229         * lib/strncasecmp.c: Likewise.
72230         * lib/strnlen1.c: Likewise.
72231         * lib/strstr.c: Likewise.
72232         * lib/strtok_r.c: Likewise.
72233         * lib/tls.c: Likewise.
72234         * lib/tmpdir.c: Likewise.
72235         * lib/unicodeio.c: Likewise.
72236         * lib/unsetenv.c: Likewise.
72237         * lib/vasnprintf.c: Likewise.
72238         * lib/vasprintf.c: Likewise.
72239         * lib/wait-process.c: Likewise.
72240         * lib/xallocsa.c: Likewise.
72241         * lib/xsetenv.c: Likewise.
72242         * lib/xstriconv.c: Likewise.
72243
72244 2006-09-13  Simon Josefsson  <jas@extundo.com>
72245
72246         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
72247         that internally, suggested by Ralf Wildenhues
72248         <Ralf.Wildenhues@gmx.de>.
72249
72250 2006-09-13  Simon Josefsson  <jas@extundo.com>
72251
72252         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
72253         @LIBOBJS@.
72254         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72255
72256 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
72257
72258         * lib/_fpending.c: Include <config.h> unconditionally, since we no
72259         longer worry about uses that don't define HAVE_CONFIG_H.
72260         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
72261         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
72262         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
72263         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
72264         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
72265         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
72266         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
72267         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
72268         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
72269         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
72270         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
72271         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
72272         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
72273         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
72274         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
72275         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
72276         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
72277         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
72278         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
72279         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
72280         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
72281         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
72282         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
72283         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
72284         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
72285         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
72286         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
72287         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
72288         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
72289         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
72290         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
72291         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
72292         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
72293         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
72294         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
72295         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
72296         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
72297         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
72298         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
72299         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
72300         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
72301         Likewise.
72302
72303 2006-09-13  Eric Blake  <ebb9@byu.net>
72304
72305         * lib/getopt.c: Fix typo in last commit.
72306
72307 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
72308
72309         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
72310         dgettext.
72311
72312 2006-09-12  Jim Meyering  <jim@meyering.net>
72313
72314         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
72315         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
72316         Reported by Nelson H. F. Beebe.
72317
72318 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
72319
72320         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
72321         program_invocation_name and program_invocation_short_name are
72322         initialized.
72323         * lib/argp-namefrob.h: Move declarations of program_invocation_name
72324         and program_invocation_short_name to argp.h, so they are visible
72325         to user programs.
72326         * lib/argp.h: Likewise
72327
72328 2006-09-10  Bruno Haible  <bruno@clisp.org>
72329
72330         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
72331         m4/inttypes_h.m4, m4/uintmax_t.m4.
72332
72333 2006-09-10  Bruno Haible  <bruno@clisp.org>
72334
72335         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
72336         gl_AC_TYPE_UINTMAX_T.
72337
72338 2006-09-10  Bruno Haible  <bruno@clisp.org>
72339
72340         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
72341
72342 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
72343
72344         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
72345         convention.  Text proposed by Bruno Haible.
72346         (struct argp_option): Document the use of N_() wrappers.
72347
72348         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
72349         '\v', and translate the two parts separately, instead of feeding
72350         the whole string to gettext.  This allows to exclude
72351         '\v' from the strings visible to the translator by writing doc
72352         strings as N_("..") "\v" N_("..").
72353
72354 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
72355
72356         * config/srclist.txt: Undo latest change; the bug was fixed.
72357
72358 2006-09-09  Bruno Haible  <bruno@clisp.org>
72359
72360         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
72361         assignments if building a library without libtool.
72362         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
72363         in func_emit_lib_Makefile_am.
72364         (func_import): When building a static library libfoo.a, arrange to
72365         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
72366         (func_create_testdir): Likewise.
72367         * modules/gc (configure.ac, Makefile.am): If building statically,
72368         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
72369         * modules/iconvme (configure.ac, Makefile.am): Likewise.
72370         * modules/striconv (configure.ac, Makefile.am): Likewise.
72371         Based on a suggestion by Ralf Wildenhues.
72372
72373 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
72374
72375         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
72376         Check for unistd.h too, since Autoconf doesn't assume POSIX.
72377         Also:
72378
72379         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
72380         Add year_2050_test to catch glibc bug 2821
72381         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
72382
72383         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
72384         Prefer #ifdef to #if.
72385
72386         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
72387         Return from 'main' instead of calling 'exit'.
72388
72389 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
72390
72391         * lib/mktime.c (guess_time_tm): Fix bug where mktime
72392         returned the maximum time_t value rather than (time_t) -1.
72393         Problem originally reported by William Bardwell
72394         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
72395
72396         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
72397         Moved to here ...
72398         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
72399         ... from here.
72400
72401 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
72402
72403         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
72404         2821 is fixed.
72405
72406 2006-09-08  Jim Meyering  <jim@meyering.net>
72407
72408         Don't make generated files read-only.  That would bother too many
72409         people.  However, do retain the ability to work when targets are
72410         read-only: remove the destination and temporary files before writing
72411         them (when generated via sed or echo), or by using the -f option for
72412         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
72413         * modules/alloca-opt, modules/argz, modules/arpa_inet:
72414         * modules/byteswap, modules/configmake, modules/fcntl:
72415         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
72416         * modules/localcharset, modules/netinet_in, modules/poll:
72417         * modules/stdbool, modules/stdint, modules/sys_select:
72418         * modules/sys_socket, modules/sys_stat, modules/sysexits:
72419
72420 2006-09-08  Jim Meyering  <jim@meyering.net>
72421
72422         Avoid new build failure on FreeBSD 6.0.
72423         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
72424         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
72425         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
72426
72427 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72428
72429         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
72430
72431 2006-09-07  Jim Meyering  <jim@meyering.net>
72432
72433         Fix global typo in last change: use chmod u-w, not chmod u-x.
72434         Spotted by Paul Eggert and Bruce Korb.
72435         * modules/alloca-opt, modules/argz, modules/arpa_inet:
72436         * modules/byteswap, modules/configmake, modules/fcntl:
72437         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
72438         * modules/localcharset, modules/netinet_in, modules/poll:
72439         * modules/stdbool, modules/stdint, modules/sys_select:
72440         * modules/sys_socket, modules/sys_stat, modules/sysexits:
72441
72442 2006-09-06  Jim Meyering  <jim@meyering.net>
72443
72444         Make generated files be read-only.
72445         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
72446         Ensure that each generated file is now read-only.
72447         * modules/argz: Likewise.
72448         * modules/arpa_inet: Likewise.
72449         * modules/byteswap: Likewise.
72450         * modules/configmake: Likewise.
72451         * modules/fcntl: Likewise.
72452         * modules/fnmatch: Likewise.
72453         * modules/getopt: Likewise.
72454         * modules/glob: Likewise.
72455         * modules/inttypes: Likewise.
72456         * modules/netinet_in: Likewise.
72457         * modules/poll: Likewise.
72458         * modules/stdbool: Likewise.
72459         * modules/stdint: Likewise.
72460         * modules/sys_select: Likewise.
72461         * modules/sys_socket: Likewise.
72462         * modules/sys_stat: Likewise.
72463         * modules/sysexits: Likewise.
72464         * modules/localcharset: Same as above, but continue using temporary
72465         file named "t-$@" (why different?) rather than the "$@-t" used
72466         everywhere else.
72467
72468         * modules/sysexits (Makefile.am): Replace literal occurrences
72469         of "sysexit.h" more readable, and more consistent, "$@".
72470
72471 2006-09-06  Bruno Haible  <bruno@clisp.org>
72472
72473         * modules/striconv: New file.
72474         * modules/xstriconv: New file.
72475         * MODULES.html.sh (Internationalization functions): Add striconv,
72476         xstriconv.
72477
72478 2006-09-06  Bruno Haible  <bruno@clisp.org>
72479
72480         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
72481         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
72482         not using libtool correctly.
72483
72484 2006-09-06  Bruno Haible  <bruno@clisp.org>
72485
72486         * lib/striconv.h: New file.
72487         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
72488         iconvstring.c.
72489         * lib/xstriconv.h: New file.
72490         * lib/xstriconv.c: New file.
72491
72492 2006-09-06  Bruno Haible  <bruno@clisp.org>
72493
72494         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
72495         lib_..._LDFLAGS.
72496
72497 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72498
72499         * lib/argz_.h: Sync from Libtool.
72500
72501         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
72502                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
72503
72504         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
72505
72506 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
72507
72508         * modules/trim: New file.
72509
72510 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
72511
72512         * lib/trim.h: New file.
72513         * lib/trim.c: New file.
72514
72515 2006-09-05  Bruno Haible  <bruno@clisp.org>
72516
72517         * MODULES.html.sh (String handling): Add trim.
72518
72519 2006-09-04  Karl Berry  <karl@gnu.org>
72520
72521         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
72522         until next release.
72523
72524 2006-09-03  Bruno Haible  <bruno@clisp.org>
72525
72526         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
72527         correctly.
72528
72529 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
72530
72531         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
72532         not gl_GETLOADAVG.  Omit unneeded semicolons.
72533         Problems reported by Ralf Wildenhues in
72534         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
72535         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
72536         at the end, which is the usual gnulib style.
72537
72538         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
72539         of doing all the work ourselves.
72540         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
72541         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
72542
72543 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
72544
72545         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
72546         Problem reported by Ralf Wildenhues in
72547         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
72548
72549         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
72550         HAVE_STRUCT_STATFS_F_FSTYPENAME.
72551
72552 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
72553
72554         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
72555         yesterday's patch by changing test -n to test -z.
72556
72557 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
72558
72559         * modules/getloadavg (Files): Add m4/getloadavg.m4.
72560         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
72561         the former is now obsolescent.
72562
72563         * modules/chdir-long (Depends-on): Add fcntl.
72564
72565 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
72566
72567         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
72568         obsolescent, and programs should use gnulib instead.
72569         * m4/getloadavg.m4: New file, with contents taken from Autoconf
72570         but with prefixes changed.
72571
72572 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
72573
72574         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
72575         or stdbool.h, because they might not exist while configuring.
72576
72577         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
72578         Don't include unistd.h or limits.h; not needed, since chdir-long.h
72579         does that for us.
72580         (O_DIRECTORY): Remove.
72581
72582 2006-08-31  Eric Blake  <ebb9@byu.net>
72583
72584         * gnulib-tool: Don't let emacs change spaces to TAB.
72585
72586 2006-08-31  Bruno Haible  <bruno@clisp.org>
72587
72588         * gnulib-tool: When calling func_import more than once, do it in a
72589         subshell.
72590         Reported by Eric Blake <ebb9@byu.net>.
72591
72592 2006-08-31  Bruno Haible  <bruno@clisp.org>
72593
72594         * gnulib-tool (nl): Remove variable.
72595         (sed_transform_lib_file): Use more robust test for config-h module.
72596         (func_import): Fix typo in 2006-08-25 patch.
72597
72598 2006-08-31  Bruno Haible  <bruno@clisp.org>
72599
72600         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
72601         specified, augment Makefile.am variables instead of assigning them.
72602
72603 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
72604
72605         Work around a bug in both the Linux and SunOS 64-bit kernels:
72606         nanosleep mishandles sleeps for longer than 2**31 seconds.
72607         Problem reported by Frank v Waveren in
72608         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
72609         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
72610         Check for nanosleep bug.
72611         (LIB_NANOSLEEP): Append clock_gettime library if needed.
72612
72613 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
72614
72615         Work around a bug in both the Linux and SunOS 64-bit kernels:
72616         nanosleep mishandles sleeps for longer than 2**31 seconds.
72617         Problem reported by Frank v Waveren in
72618         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
72619         * lib/nanosleep.c (BILLION): New constant.
72620         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
72621         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
72622         implementation.
72623
72624 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
72625
72626         * modules/nanosleep (Depends-on): Add gettime.
72627
72628 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
72629         and Simon Josefsson  <jas@extundo.com>
72630         and Oskar Liljeblad  <oskar@osk.mine.nu>
72631
72632         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
72633         * gnulib-tool (func_import): New license type 'unmodifiable license
72634         text'.
72635         * modules/fdl: Use it.  Longer description.
72636         * module/gpl, module/lgpl: New files.
72637
72638 2006-08-30  Jim Meyering  <jim@meyering.net>
72639
72640         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
72641         shadowing the parameter.
72642
72643 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72644
72645         Sync from Libtool:
72646
72647         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72648
72649         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
72650         sharing with gnulib.  Report by Eric Blake.
72651
72652 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
72653
72654         * modules/isapipe: New file.
72655         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
72656
72657 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
72658
72659         * modules/configmake (Makefile.am): Add a comment, and omit
72660         the CONFIGMAKE_ prefix from generated macro names.  Suggested
72661         by Bruno Haible.
72662
72663 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
72664
72665         * m4/isapipe.m4: New file.
72666
72667 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
72668
72669         * lib/isapipe.c, lib/isapipe.h: New files.
72670
72671 2006-08-29  Jim Meyering  <jim@meyering.net>
72672
72673         * modules/configmake (Makefile.am): Make configmake.h depend on
72674         Makefile.  Otherwise, a stale configmake.h could hang around.
72675
72676 2006-08-29  Eric Blake  <ebb9@byu.net>
72677
72678         * lib/error.c (error_at_line, print_errno_message): Match libc, after
72679         resolution of upstream bug 3044.
72680
72681 2006-08-29  Bruno Haible  <bruno@clisp.org>
72682
72683         * modules/localcharset (Depends-on): Add configmake.
72684         (Makefile.am): Remove setting of LIBDIR through DEFS.
72685
72686 2006-08-29  Bruno Haible  <bruno@clisp.org>
72687
72688         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
72689         defined.
72690
72691 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
72692
72693         * modules/fcntl: New file.
72694         * modules/chdir-safer (Depends-on): Add fcntl.
72695         * modules/fts: Likewise.
72696         * modules/mkdir-p: Likewise.
72697
72698         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
72699         This undoes the most recent change, since we're now addressing the
72700         problem in a different way.
72701
72702         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
72703         into output, since the output might be called Makefile.am even
72704         if $makefile_name is something different.
72705         (func_import): Use $makefile_am rather than
72706         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
72707         empty.
72708
72709         * modules/inttypes (Files): Add m4/inttypes-h.m4.
72710
72711 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
72712
72713         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
72714         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
72715         recent change to stdint.m4, since we're now addressing the problem in a
72716         different way.
72717
72718 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
72719
72720         * m4/fcntl_h.m4: New file.
72721
72722 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
72723
72724         * lib/fcntl_.h: New file.
72725         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
72726         the fcntl module.
72727         * lib/dirchownmod.c: Likewise.
72728         * lib/fts.c: Likewise.
72729
72730         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
72731         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
72732         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
72733         just before including <inttypes.h>, to avoid circular inclusion.
72734
72735 2006-08-28  Jim Meyering  <jim@meyering.net>
72736
72737         * doc/visibility.texi: Actually read and correct the grammar of the
72738         sentence affected by yesterday's change.
72739
72740 2006-08-28  Eric Blake  <ebb9@byu.net>
72741
72742         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
72743         needs wrapper.
72744
72745 2006-08-28  Eric Blake  <ebb9@byu.net>
72746
72747         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
72748
72749 2006-08-28  Eric Blake  <ebb9@byu.net>
72750
72751         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
72752
72753 2006-08-28  Bruno Haible  <bruno@clisp.org>
72754
72755         * modules/c-strstr: New file, from GNU gettext.
72756         * MODULES.html.sh (String handling): Add c-strstr.
72757
72758 2006-08-28  Bruno Haible  <bruno@clisp.org>
72759
72760         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
72761         macros.
72762         Reported by Eric Blake.
72763
72764 2006-08-28  Bruno Haible  <bruno@clisp.org>
72765
72766         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
72767         (VASNPRINTF): Return a string of length > INT_MAX without failing.
72768         * lib/vasprintf.c: Include errno.h, limits.h.
72769         (EOVERFLOW): New fallback definition.
72770         (vasprintf): Test here whether the string length is > INT_MAX.
72771         * lib/vsnprintf.c: Include errno.h, limits.h.
72772         (EOVERFLOW): New fallback definition.
72773         (vsnprintf): Fix bug when generated string was too long for the buffer.
72774         Test here whether the string length is > INT_MAX.
72775
72776 2006-08-28  Bruno Haible  <bruno@clisp.org>
72777
72778         * lib/inttypes_.h (SCNX*): Remove definitions.
72779         Reported by Eric Blake.
72780
72781 2006-08-28  Bruno Haible  <bruno@clisp.org>
72782
72783         * lib/c-strstr.h: New file, from GNU gettext.
72784         * lib/c-strstr.c: New file, from GNU gettext.
72785
72786 2006-08-28  Bruno Haible  <bruno@clisp.org>
72787
72788         * gnulib-tool: Reorder some statements.
72789
72790 2006-08-28  Bruno Haible  <bruno@clisp.org>
72791
72792         * gnulib-tool: New option --makefile-name.
72793         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
72794         $makefile_name.
72795         (func_import): Write $makefile_name to the cache file, and read it from
72796         there unless explicitly specified. Use $makefile_name as file name
72797         instead of Makefile.am. Adjust the recommendations accordingly.
72798
72799 2006-08-28  Bruno Haible  <bruno@clisp.org>
72800
72801         * gnulib-tool (func_verify_module): Check against misapplying patch.
72802
72803 2006-08-28  Bruno Haible  <bruno@clisp.org>
72804
72805         * gnulib-tool (func_relativize, func_relconcat): New functions.
72806         Give an error if --local-dir is given with --update.
72807         Remove trailing slashes from $local_gnulib_dir.
72808         (func_import): Store the relativized $local_gnulib_dir in
72809         gnulib-cache.m4, and read it from there if not specified explicitly.
72810
72811 2006-08-28  Bruno Haible  <bruno@clisp.org>
72812
72813         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
72814         is the current directory. Respect also $local_gnulib_dir.
72815
72816 2006-08-28  Bruno Haible  <bruno@clisp.org>
72817             Simon Josefsson  <jas@extundo.com>
72818
72819         BeOS portability.
72820         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
72821
72822 2006-08-27  Jim Meyering  <jim@meyering.net>
72823
72824         * doc/visibility.texi: Remove duplicate word: "pointer".
72825
72826 2006-08-26  Bruno Haible  <bruno@clisp.org>
72827
72828         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
72829         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
72830         (Makefile.am): Create inttypes.h from inttypes_.h.
72831         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
72832
72833         * modules/imaxabs: New file.
72834
72835         * modules/imaxdiv: New file.
72836
72837 2006-08-26  Bruno Haible  <bruno@clisp.org>
72838
72839         * m4/inttypes.m4: New file.
72840         * m4/_inttypes_h.m4: Remove file.
72841         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
72842         PRI_MACROS_BROKEN.
72843         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
72844
72845         * m4/imaxabs.m4: New file.
72846
72847         * m4/imaxdiv.m4: New file.
72848
72849 2006-08-26  Bruno Haible  <bruno@clisp.org>
72850
72851         * lib/inttypes_.h: New file.
72852         * lib/inttypes.h: Remove file.
72853         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
72854
72855         * lib/imaxabs.c: New file.
72856
72857         * lib/imaxdiv.c: New file.
72858
72859 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
72860
72861         New config-h module, so that "make" output needn't be cluttered
72862         by -DHAVE_CONFIG_H.
72863         * MODULES.html.sh (Support for building libraries and executables):
72864         Add config-h.
72865         * modules/config-h: New file.
72866         * gnulib-tool (nl, sed_transform_lib_file): New vars.
72867         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
72868         the config-h module is used.
72869
72870         New configmake module, so that "make" output needn't be cluttered
72871         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
72872         * MODULES.html.sh (Support for building libraries and executables):
72873         Add configmake.
72874         * modules/configmake: New file.
72875
72876 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
72877
72878         * m4/config-h.m4: New file.
72879
72880 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
72881
72882         * config/srclist.txt: Add elisp-comp.
72883
72884 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
72885
72886         * MODULES.html.sh (Support for building libraries and executables):
72887         Add elisp-comp.
72888         * build-aux/elisp-comp: New file.
72889         * modules/elisp-comp: New file.
72890
72891 2006-08-24  Bruno Haible  <bruno@clisp.org>
72892
72893         * gnulib-tool (func_create_testdir): Use non-default values of
72894         sourcebase and m4base.
72895
72896 2006-08-24  Bruno Haible  <bruno@clisp.org>
72897
72898         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
72899         HTML structure.
72900
72901 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
72902
72903         * modules/openat (Depends-on): Add lchown.
72904
72905 2006-08-23  Bruno Haible  <bruno@clisp.org>
72906
72907         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
72908         of gl_LOCK_EARLY instead of gl_LOCK.
72909
72910 2006-08-23  Bruno Haible  <bruno@clisp.org>
72911
72912         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
72913         on OSF/1 to no.
72914         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
72915
72916 2006-08-23  Bruno Haible  <bruno@clisp.org>
72917
72918         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
72919         as unusable.
72920
72921         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
72922         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
72923         (gl_LOCK): New macro.
72924
72925 2006-08-22  Simon Josefsson  <jas@extundo.com>
72926
72927         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
72928         to md5 module.
72929
72930 2006-08-22  Simon Josefsson  <jas@extundo.com>
72931
72932         * MODULES.html.sh: Add "Support for maintaining and release
72933         projects".
72934
72935         * build-aux/gnupload: New file, from coreutils.
72936
72937 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
72938
72939         Avoid the need for AC_LIBSOURCES in m4 macros.
72940         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
72941         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
72942         * modules/check-version (EXTRA_DIST): Add check-version.h.
72943         * modules/crc (EXTRA_DIST): Add crc.h.
72944         * modules/des (EXTRA_DIST): Add des.h.
72945         * modules/gc (EXTRA_DIST): Add gc.h.
72946         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
72947         * modules/getline (EXTRA_DIST): Add getline.h.
72948         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
72949         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
72950         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
72951         * modules/md2 (EXTRA_DIST): Add md2.h.
72952         * modules/md4 (EXTRA_DIST): Add md4.h.
72953         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
72954         * modules/read-file (EXTRA_DIST): Add read-file.h.
72955         * modules/readline (EXTRA_DIST): Add readline.h.
72956         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
72957         rijndael-api-fst.h.
72958
72959 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
72960
72961         * m4/rijndael.m4 (gl_ARCFOUR):
72962         * m4/arctwo.m4 (gl_ARCTWO):
72963         * m4/check-version.m4 (gl_CHECK_VERSION):
72964         * m4/crc.m4 (gl_CRC):
72965         * m4/des.m4 (gl_DES):
72966         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
72967         * m4/gc.m4 (gl_GC):
72968         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
72969         * m4/getline.m4 (gl_FUNC_GETLINE):
72970         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
72971         * m4/hmac-md5.m4 (gl_HMAC_MD5):
72972         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
72973         * m4/md2.m4 (gl_MD2):
72974         * m4/md4.m4 (gl_MD4):
72975         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
72976         * m4/read-file.m4 (gl_FUNC_READ_FILE):
72977         * m4/readline.m4 (gl_FUNC_READLINE):
72978         * m4/rijndael.m4 (gl_RIJNDAEL):
72979         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
72980         to get the necessary .h files and whatnot.
72981
72982 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
72983
72984         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
72985         gnulib rather than the other way around.
72986         * config/srclistvars.sh (COREUTILS): Remove.
72987
72988 2006-08-22  Jim Meyering  <jim@meyering.net>
72989
72990         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
72991
72992         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
72993
72994 2006-08-22  Eric Blake  <ebb9@byu.net>
72995
72996         * modules/regexprops-generic: New file.
72997         * MODULES.html.sh (Support for building documentation): List it.
72998
72999 2006-08-22  Eric Blake  <ebb9@byu.net>
73000
73001         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
73002         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
73003         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
73004         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
73005
73006 2006-08-22  Bruno Haible  <bruno@clisp.org>
73007
73008         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
73009         and lib_LTLIBRARIES like the other lib_* variables.
73010
73011 2006-08-22  Bruno Haible  <bruno@clisp.org>
73012
73013         * build-aux/x-to-1.in: New file, from GNU gettext.
73014
73015 2006-08-22  Bruno Haible  <bruno@clisp.org>
73016
73017         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
73018         <utmpx.h> exists.
73019
73020 2006-08-22  Bruno Haible  <bruno@clisp.org>
73021
73022         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
73023         <utmpx.h> exists.
73024
73025 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
73026
73027         BeOS portability.
73028         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
73029         exist.
73030         Problem reported by Bruno Haible.
73031
73032 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
73033
73034         Avoid the need for AC_LIBSOURCES in m4 macros.
73035         * modules/acl (EXTRA_DIST): Add acl.h.
73036         * modules/argmatch (Files): Add m4/argmatch.m4.
73037         (configure.ac): Add gl_ARGMATCH.
73038         (EXTRA_DIST): Renamed from lib_SOURCES, for
73039         consistency with the other modules.  Remove argmatch.c.
73040         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
73041         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
73042         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
73043         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
73044         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
73045         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
73046         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
73047         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
73048         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
73049         * modules/closeout (EXTRA_DIST): Add closeout.h.
73050         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
73051         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
73052         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
73053         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
73054         dirname.h; remove basename.c and stripslash.c.
73055         * modules/exclude (EXTRA_DIST): Add exclude.h.
73056         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
73057         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
73058         * modules/file-type (EXTRA_DIST): Add file-type.h.
73059         * modules/filemode (EXTRA_DIST): Add filemode.h.
73060         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
73061         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
73062         * modules/fpending (EXTRA_DIST): Add __fpending.h.
73063         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
73064         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
73065         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
73066         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
73067         * modules/getdate (EXTRA_DIST): Add getdate.c.
73068         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
73069         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
73070         * modules/getpass (EXTRA_DIST): Add getpass.h.
73071         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
73072         * modules/group-member (EXTRA_DIST): Add group-member.h.
73073         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
73074         * modules/hash (EXTRA_DIST): Add hash.h.
73075         * modules/human (EXTRA_DIST): Add human.h.
73076         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
73077         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
73078         * modules/lchown (EXTRA_DIST): Add lchown.h.
73079         * modules/long-options (EXTRA_DIST): Add long-options.h.
73080         * modules/lstat (EXTRA_DIST): Add lstat.h.
73081         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
73082         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
73083         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
73084         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
73085         * modules/memxor (EXTRA_DIST): Add memxor.h.
73086         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
73087         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
73088         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
73089         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
73090         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
73091         * modules/physmem (EXTRA_DIST): Add physmem.h.
73092         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
73093         * modules/posixver (EXTRA_DIST): Add posixver.h.
73094         * modules/quote (EXTRA_DIST): Add quote.h.
73095         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
73096         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
73097         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
73098         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
73099         regex_internal.h regexec.c.
73100         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
73101         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
73102         * modules/same (EXTRA_DIST): Add same.h.
73103         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
73104         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
73105         * modules/savedir (EXTRA_DIST): Add savedir.h.
73106         * modules/sha1 (EXTRA_DIST): Add sha1.h.
73107         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
73108         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
73109         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
73110         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
73111         * modules/strdup (EXTRA_DIST): Add strdup.h.
73112         * modules/strftime (EXTRA_DIST): Add strftime.h.
73113         * modules/strndup (EXTRA_DIST): Add strndup.h.
73114         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
73115         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
73116         * modules/time_r (EXTRA_DIST): Add time_r.h.
73117         * modules/timespec (EXTRA_DIST): Add timespec.h.
73118         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
73119         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
73120         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
73121         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
73122         * modules/userspec (EXTRA_DIST): Add userspec.h.
73123         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
73124         * modules/utimens (EXTRA_DIST): Add utimens.h.
73125         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
73126         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
73127         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
73128         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
73129         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
73130         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
73131         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
73132         * modules/yesno (EXTRA_DIST): Add yesno.h.
73133
73134 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
73135
73136         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
73137
73138         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
73139         * m4/dev-ino.m4, same-inode.m4: Remove.
73140
73141         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
73142         * m4/acl.m4 (AC_FUNC_ACL):
73143         * m4/backupfile.m4 (gl_BACKUPFILE):
73144         * m4/c-strtod.m4 (gl_C99_STRTOLD):
73145         * m4/canon-host.m4 (gl_CANON_HOST):
73146         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
73147         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
73148         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
73149         * m4/cloexec.m4 (gl_CLOEXEC):
73150         * m4/close-stream.m4 (gl_CLOSE_STREAM):
73151         * m4/closeout.m4 (gl_CLOSEOUT):
73152         * m4/dirfd.m4 (gl_FUNC_DIRFD):
73153         * m4/dirname.m4 (gl_DIRNAME):
73154         * m4/exclude.m4 (gl_EXCLUDE):
73155         * m4/exitfail.m4 (gl_EXITFAIL):
73156         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
73157         * m4/file-type.m4 (gl_FILE_TYPE):
73158         * m4/filemode.m4 (gl_FILEMODE):
73159         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
73160         * m4/fpending.m4 (gl_FUNC_FPENDING):
73161         * m4/fprintftime.m4 (gl_FPRINTFTIME):
73162         * m4/fts.m4 (gl_FUNC_FTS):
73163         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
73164         * m4/getdate.m4 (gl_GETDATE):
73165         * m4/gethrxtime.m4 (gl_GETHRXTIME):
73166         * m4/getpagesize.m4 (gl_GETPAGESIZE):
73167         * m4/getpass.m4 (gl_FUNC_GETPASS):
73168         * m4/gettime.m4 (gl_GETTIME):
73169         * m4/getugroups.m4 (gl_GETUGROUPS):
73170         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
73171         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
73172         * m4/hard-locale.m4 (gl_HARD_LOCALE):
73173         * m4/hash.m4 (gl_HASH):
73174         * m4/idcache.m4 (gl_IDCACHE):
73175         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
73176         * m4/lchown.m4 (gl_FUNC_LCHOWN):
73177         * m4/long-options.m4 (gl_LONG_OPTIONS):
73178         * m4/lstat.m4 (gl_FUNC_LSTAT):
73179         * m4/md5.m4 (gl_MD5):
73180         * m4/memcasecmp.m4 (gl_MEMCASECMP):
73181         * m4/memcoll.m4 (gl_MEMCOLL):
73182         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
73183         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
73184         * m4/memxor.m4 (gl_MEMXOR):
73185         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
73186         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
73187         * m4/modechange.m4 (gl_MODECHANGE):
73188         * m4/mountlist.m4 (gl_MOUNTLIST):
73189         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
73190         * m4/openat.m4 (gl_FUNC_OPENAT):
73191         * m4/pathmax.m4 (gl_PATHMAX):
73192         * m4/physmem.m4 (gl_PHYSMEM):
73193         * m4/posixtm.m4 (gl_POSIXTM):
73194         * m4/posixver.m4 (gl_POSIXVER):
73195         * m4/quote.m4 (gl_QUOTE):
73196         * m4/quotearg.m4 (gl_QUOTEARG):
73197         * m4/readtokens.m4 (gl_READTOKENS):
73198         * m4/readutmp.m4 (gl_READUTMP):
73199         * m4/regex.m4 (gl_REGEX):
73200         * m4/safe-read.m4 (gl_SAFE_READ):
73201         * m4/safe-write.m4 (gl_SAFE_WRITE):
73202         * m4/same.m4 (gl_SAME):
73203         * m4/save-cwd.m4 (gl_SAVE_CWD):
73204         * m4/savedir.m4 (gl_SAVEDIR):
73205         * m4/settime.m4 (gl_SETTIME):
73206         * m4/sha1.m4 (gl_SHA1):
73207         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
73208         * m4/stat-macros.m4 (gl_STAT_MACROS):
73209         * m4/stat-time.m4 (gl_STAT_TIME):
73210         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
73211         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
73212         * m4/strdup.m4 (gl_FUNC_STRDUP):
73213         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
73214         * m4/strndup.m4 (gl_FUNC_STRNDUP):
73215         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
73216         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
73217         * m4/time_r.m4 (gl_TIME_R):
73218         * m4/timespec.m4 (gl_TIMESPEC):
73219         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
73220         * m4/unlinkdir.m4 (gl_UNLINKDIR):
73221         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
73222         * m4/userspec.m4 (gl_USERSPEC):
73223         * m4/utimecmp.m4 (gl_UTIMECMP):
73224         * m4/utimens.m4 (gl_UTIMENS):
73225         * m4/xalloc.m4 (gl_XALLOC):
73226         * m4/xgetcwd.m4 (gl_XGETCWD):
73227         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
73228         * m4/xreadlink.m4 (gl_XREADLINK):
73229         * m4/xstrtod.m4 (gl_XSTRTOD):
73230         * m4/yesno.m4 (gl_YESNO):
73231         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
73232         to get the necessary .h files and whatnot.
73233
73234 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
73235             Bruno Haible  <bruno@clisp.org>
73236
73237         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
73238         /bin/sh understanding of '!' conditional negation.
73239
73240 2006-08-21  Jim Meyering  <jim@meyering.net>
73241
73242         * modules/openat (Depends-on): Really alphabetize.
73243
73244         * modules/acl (Depends-on): Add error and quote.
73245
73246         * check-module (find_included_lib_files): Add at-func.c to the
73247         ok-to-include-more-than-once white list.
73248
73249         * modules/openat (Depends-on): Add lstat.  Alphabetize.
73250
73251 2006-08-21  Bruno Haible  <bruno@clisp.org>
73252
73253         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
73254         Emit a pkgdata_DATA variable only if some snippets add contents to it.
73255         Reported by Martin Lambers <marlam@marlam.de>.
73256
73257 2006-08-21  Bruno Haible  <bruno@clisp.org>
73258
73259         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
73260         specify an installation location, don't emit a noinst_LIBRARIES or
73261         noinst_LTLIBRARIES assignment.
73262
73263 2006-08-21  Bruno Haible  <bruno@clisp.org>
73264
73265         BeOS portability.
73266         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
73267         BeOS has mbrtowc() but no <wctype.h>.
73268
73269 2006-08-21  Bruno Haible  <bruno@clisp.org>
73270
73271         BeOS portability.
73272         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
73273         exist.
73274
73275 2006-08-21  Bruno Haible  <bruno@clisp.org>
73276
73277         BeOS portability.
73278         * lib/mbchar.h: Include <wctype.h> only if it exists.
73279
73280 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
73281
73282         Remove files that are no longer needed by their respective modules.
73283         * m4/obstack.m4: Remove.
73284         * m4/strerror_r.m4: Remove.
73285         * m4/uint32_t.m4: Remove.
73286         * m4/uintptr_t.m4: Remove.
73287         * m4/ullong_max.m4: Remove.
73288         * m4/xstrtoimax.m4: Remove.
73289         * m4/xstrtoumax.m4: Remove.
73290
73291         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
73292         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
73293         dependencies now capture this.
73294
73295         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
73296         Do not use AC_LIBSOURCES, since gnulib modules now do this.
73297         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
73298         * m4/human.m4 (gl_HUMAN): Likewise.
73299         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
73300         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
73301
73302         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
73303
73304         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
73305         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
73306         stdint.
73307         * m4/human.m4 (gl_HUMAN): Likewise.
73308         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
73309         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
73310         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
73311         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
73312         * m4/xstrtol (gl_XSTRTOL): Likewise.
73313
73314         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
73315         AC_TYPE_LONG_LONG_INT.
73316         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
73317         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
73318         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
73319         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
73320
73321         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
73322         on stdbool.
73323
73324         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
73325         (gl_PREREQ_XSTRTOUL): Remove.
73326
73327         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
73328
73329         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
73330         mode.
73331
73332 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
73333
73334         Add and change modules to make it easier for coreutils to use
73335         gnulib-tool.
73336         * modules/backupfile (Files): Remove m4/d-ino.m4.
73337         (Depends-on): Add d-ino.
73338         * modules/cycle-check (Depends-on): Add stdint.
73339         (lib_SOURCES): Add cycle-check.h.
73340         * modules/d-ino: New module.
73341         * modules/d-type: New module.
73342         * modules/error (Files): Remove m4/strerror_r.m4.
73343         * modules/filemode (Files): Add m4/st_dm_mode.m4.
73344         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
73345         m4/inttypes_h.m4, m4/uintmax_t.m4.
73346         (Depends-on): Add stdint.
73347         (lib_SOURCES): Add fsusage.h.
73348         * modules/getcwd (Files): Remove d-ino.m4.
73349         (Depends-on): Add d-ino.
73350         * modules/getndelim2 (Depends-on): Add stdint.
73351         * modules/glob (Files): Remove m4/d-type.m4.
73352         (Depends-on): Add d-type.
73353         * modules/host-os: New module.
73354         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
73355         m4/inttypes_h.m4, m4/uintmax_t.m4.
73356         * Depends-on: Add stdint.
73357         (lib_SOURCES): Add human.h.
73358         * modules/inttostr (Files): Remove m4/intmax_t.m4,
73359         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
73360         m4/uintmax_t.m4, m4/ulonglong.m4.
73361         (Depends-on): Add stdint.
73362         (EXTRA_DIST): Add inttostr.h.
73363         * modules/lchmod: New module.
73364         * modules/link-follow: New module.
73365         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
73366         (Depends-on): Add lchmod.
73367         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
73368         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
73369         (Depends-on): Add stdint.
73370         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
73371         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
73372         (Depends-on): Add stdint.
73373         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
73374         * modules/perl: New module.
73375         * modules/regex (Depends-on): Add stdint.
73376         * modules/rmdir-errno: New module.
73377         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
73378         m4/intmax_t.m4.
73379         (Depends-on): Add stdint.
73380         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
73381         m4/uintmax_t.m4.
73382         (Depends-on): Add stdint.
73383         * modules/unlink-busy: New module.
73384         * modules/utimecmp (Depends-on): Add stdint.
73385         * modules/uptime: New module.
73386         * modules/winsz-ioctl: New module.
73387         * modules/winsz-termios: New module.
73388         * modules/xnanosleep (Depends-on): Add nanosleep.
73389         * modules/ullong_max: Remove.
73390         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
73391         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
73392         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
73393         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
73394         (Depends-on): Add inttypes.
73395         (lib_SOURCES): Add xstrtol.h.
73396         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
73397         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
73398         * MODULES.html.sh: Move 'assert' into the assert section.
73399         Move 'dummy' into the linking section.
73400         Remove ullong_max.
73401         Add section for compatibility checks for POSIX:2001 functions,
73402         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
73403         winsz-ioctl, and winsz-termios into it.
73404         Add lchmod.
73405         Add top-level Misc section and put host-os, perl, and uptime
73406         into it.
73407
73408 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
73409
73410         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
73411         now assume the stdint module.  Do not include inttypes.h.
73412         * lib/fsusage.h: Likewise.
73413         * lib/getndelim2.c: Likewise.
73414         * lib/human.h: Likewise.
73415         * lib/inttostr.h: Likewise.
73416         * lib/obstack.c: Likewise.
73417         * lib/regex_internal.h: Likewise.
73418         * lib/tempname.c: Likewise.
73419         * lib/utimecmp.c: Likewise.
73420         * lib/xstrtol.h: Likewise.
73421
73422         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
73423
73424         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
73425         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
73426         * lib/xtime.h: Likewise.
73427
73428 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
73429
73430         * modules/openat (Files): Add lib/fchmodat.c.
73431         Fixes problem reported by Jay Youngman.
73432
73433 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
73434
73435         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
73436         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
73437
73438 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
73439             Bruno Haible  <bruno@clisp.org>
73440
73441         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
73442         and is a script that invokes bison. Tighten the code. Add comments.
73443
73444 2006-08-18  Jim Meyering  <jim@meyering.net>
73445
73446         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
73447         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
73448         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
73449         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
73450
73451 2006-08-18  Bruno Haible  <bruno@clisp.org>
73452
73453         * modules/bison-i18n: New file.
73454         * MODULES.html.sh (Internationalization functions): Add it.
73455
73456 2006-08-18  Bruno Haible  <bruno@clisp.org>
73457
73458         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
73459         sys/statvfs.h. When getmntinfo was found, check its declaration and
73460         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
73461
73462 2006-08-18  Bruno Haible  <bruno@clisp.org>
73463
73464         * m4/bison-i18n.m4: New file, from bison.
73465
73466 2006-08-18  Bruno Haible  <bruno@clisp.org>
73467
73468         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
73469         (ME_DUMMY): Treat "kernfs" as a dummy.
73470         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
73471
73472 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
73473
73474         Update from coreutils.
73475
73476         2006-08-15  Jim Meyering  <jim@meyering.net>
73477
73478         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
73479
73480         2006-01-17  Jim Meyering  <jim@meyering.net>
73481
73482         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
73483
73484         2006-01-11  Jim Meyering  <jim@meyering.net>
73485
73486         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
73487         Check for the lchmod function.
73488
73489 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
73490
73491         Update from coreutils.
73492
73493         * lib/__fpending.h: Add copyright notice.
73494         * lib/fprintftime.h: Likewise.
73495         * lib/savedir.c: Use (C) in copyright notice.
73496         * lib/savedir.h: Likewise.
73497
73498         2006-08-15  Jim Meyering  <jim@meyering.net>
73499
73500         * lib/at-func.c: New file, with the logic of all emulated at-functions.
73501         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
73502         in support of the EXPECTED_ERRNO macro.
73503         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
73504         definitions.  Instead, define the appropriate symbols and include
73505         "at-func.c".
73506         * lib/mkdirat.c (mkdirat): Likewise.
73507         * lib/fchmodat.c (fchmodat): Likewise.
73508         (ENOSYS): Remove definition.
73509         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
73510         it.  Don't include "unistd--.h" -- it wasn't ever used.
73511
73512         2006-01-17  Jim Meyering  <jim@meyering.net>
73513
73514         Rewrite fts.c not to change the current working directory,
73515         by using openat, fstatat, fdopendir, etc..
73516
73517         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
73518         (HAVE_OPENAT_SUPPORT): Define.
73519         [_LIBC] (fchdir): Don't undef or define; no longer used.
73520         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
73521         Now, this `function' always succeeds, and consumes its file descriptor
73522         parameter -- so callers must not close such FDs.  Update callers.
73523         (diropen_fd, opendirat, cwd_advance_fd): New functions.
73524         (diropen): Add parameter, SP.  Adjust all callers.
73525         Implement using diropen_fd, rather than open.
73526         (fts_open): Initialize new member, fts_cwd_fd.
73527         Remove fts_rft-setting code.
73528         (fts_close): Close fts_cwd_fd, if necessary.
73529         (__opendir2): Define in terms of opendir or opendirat,
73530         depending on whether the FST_NOCHDIR flag is set.
73531         (fts_build): Since fts_safe_changedir consumes its FD, and since
73532         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
73533         and close the dup'd file descriptor upon failure.
73534         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
73535         (fts_safe_changedir): Tweak semantics to reflect that this function
73536         now calls cwd_advance_fd and hence consumes its FD argument.
73537         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
73538         [struct FTS] (fts_rft): Remove now-unused member.
73539         [struct FTS] (fts_cycle.state): Improve comment.
73540
73541         * lib/openat.c (openat_needs_fchdir): New function.
73542         * lib/openat.h (openat_needs_fchdir): Declare it.
73543
73544 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
73545
73546         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
73547         Problem and fix reported by Pádraig Brady in
73548         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
73549
73550 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
73551
73552         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
73553
73554 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
73555
73556         * lib/memcoll.c (memcoll): Optimize for the common case where the
73557         arguments are bytewise equal.
73558
73559 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
73560
73561         * doc/regexprops-generic.texi: Add a copyright notice.
73562
73563 2006-08-15  Bruno Haible  <bruno@clisp.org>
73564
73565         * modules/tmpdir (License): Change to LGPL.
73566
73567 2006-08-15  Bruno Haible  <bruno@clisp.org>
73568
73569         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
73570         module.
73571
73572 2006-08-14  Simon Josefsson  <jas@extundo.com>
73573
73574         * config/srclist.txt: Add gnupload.
73575
73576 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
73577
73578         Change copyright notice from LGPL 2 to GPL 2, since that's the
73579         standard form used in the gnulib repository.
73580         * tests/test-lock.c: Likewise.
73581         * tests/test-stdint.c: Likewise.
73582         * tests/test-tls.c: Likewise.
73583
73584         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
73585         prelude-manager.  User shorter URLs for GNU projects, without '?'.
73586         Add copyright notice.
73587
73588         * check-module: Add copyright notice.  Output a copyright
73589         notice if "--version" is specified.
73590         * modules/COPYING: New file.
73591         * tests/test-getaddrinfo.c: Add copyright notice.
73592         * tests/test-verify.c: Likewise.
73593
73594 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
73595
73596         Change copyright notice from LGPL 2 to GPL 2, since that's the
73597         standard form used in the gnulib repository.
73598         * lib/lock.c: LGPL -> GPL.
73599         * lib/lock.h: Likewise.
73600         * lib/strnlen1.c: Likewise.
73601         * lib/strnlen1.h: Likewise.
73602         * lib/tls.c: Likewise.
73603         * lib/tls.h: Likewise.
73604         * lib/tmpdir.c: Likewise.
73605
73606         * lib/TODO: Remove; this belongs only in coreutils.
73607
73608 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
73609
73610         Add copyright notices to long-enough files that lack them, since
73611         otherwise the files aren't clearly free.  Use the same notice that
73612         getdate.texi already uses.
73613         * doc/alloca-opt.texi: Add copyright notice.
73614         * doc/alloca.texi: Likewise.
73615         * doc/ctime.texi: Likewise.
73616         * doc/functions.texi: Likewise.
73617         * doc/gcd.texi: Likewise.
73618         * doc/gnulib-tool.texi: Likewise.
73619         * doc/inet_ntoa.texi: Likewise.
73620         * doc/visibility.texi: Likewise.
73621
73622         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
73623         * doc/quote.texi: Add copyright notice.
73624
73625         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
73626         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
73627         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
73628         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
73629         is now obsolete, and give a pointer to the Sun list.
73630         Add copyright notice.
73631
73632 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
73633
73634         * config/srclistvars.sh: Add copyright notice.
73635
73636 2006-08-14  Eric Blake  <ebb9@byu.net>
73637
73638         Import the following change from libc:
73639
73640         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
73641
73642         Upstream bug 2997.
73643         * lib/misc/error.c: Add space between program name and message if file
73644         name is missing.
73645
73646 2006-08-12  Karl Berry  <karl@gnu.org>
73647
73648         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
73649         remove, these originate in gnulib now.
73650
73651 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73652
73653         * doc/Makefile (standards.info standards.html standards.dvi):
73654         Also depend on make-stds.texi.
73655
73656 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
73657
73658         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
73659         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
73660
73661         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
73662         in wchar_t.  Problem reported by Eric Blake.
73663
73664         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
73665         LEN is smaller than SIZE.  Suggested by Bruno Haible.
73666         Also, help the compiler to keep LEN in a register.
73667
73668 2006-08-11  Eric Blake  <ebb9@byu.net>
73669
73670         * users.txt: Sort.  Add tar.
73671
73672 2006-08-11  Bruno Haible  <bruno@clisp.org>
73673
73674         * users.txt: New file.
73675
73676 2006-08-11  Bruno Haible  <bruno@clisp.org>
73677
73678         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
73679         before <wchar.h>. Needed for OSF/1 and BSD/OS.
73680
73681 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
73682
73683         * modules/snprintf (Depends-on): Remove minmax.
73684         (Maintainer): Add self and Bruno.
73685
73686 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
73687
73688         * lib/.cppi-disable: Add snprintf.h, socket_.h.
73689         * lib/snprintf.c: Include <errno.h> and <limits.h>.
73690         (EOVERFLOW): Define if the system does not.
73691         Do not include "minmax.h"; it wasn't used.
73692         (snprintf): Don't assume size_t promotes to an unsigned type.
73693         Fix bug when generated string was too long for the buffer: the
73694         buffer's contents are supposed to be the initial prefix of the
73695         output.  Don't assume vasnprintf returns EOVERFLOW if the size
73696         exceeds INT_MAX; do the check ourselves.
73697
73698         Import the following changes from libc:
73699
73700         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
73701
73702         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
73703         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
73704         set wc to the byte which couldn't be converted.
73705         (re_string_reconstruct): Don't clear valid_raw_len before calling
73706         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
73707         tip_context using re_string_context_at.
73708
73709         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
73710
73711         * lib/posix/regex.h: g++ still cannot handled [restrict].
73712
73713         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
73714
73715         * lib/posix/regex.h: Remove special handling for VMS.
73716
73717 2006-08-10  Jim Meyering  <jim@meyering.net>
73718
73719         * modules/same-inode: New module.
73720         * modules/dev-ino: New module.
73721         * modules/cycle-check: Depend on these modules, rather than simply
73722         including their .h files.
73723         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
73724         required via m4/cycle-check.m4.
73725         * modules/same: Depend on new same-inode module, rather than
73726         including same-inode.h.
73727         * modules/chdir-safer: New file.
73728
73729         * modules/chown (Depends-on): Add stat-macros.
73730
73731 2006-08-10  Jim Meyering  <jim@meyering.net>
73732
73733         * m4/cycle-check.m4: New file.
73734         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
73735         * m4/dev-ino.m4, m4/same-inode.m4: New files.
73736
73737 2006-08-10  Eric Blake  <ebb9@byu.net>
73738
73739         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
73740         in from original proposal.
73741
73742 2006-08-10  Eric Blake  <ebb9@byu.net>
73743         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
73744
73745         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
73746         namespace.
73747
73748 2006-08-10  Bruno Haible  <bruno@clisp.org>
73749
73750         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
73751         as well.
73752
73753 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
73754
73755         Sync from coreutils.
73756
73757         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
73758
73759         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
73760         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
73761
73762 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
73763
73764         * modules/restrict: Remove; no longer needed now that we assume
73765         Autoconf 2.59 or later.
73766         * MODULES.html.sh: Remove 'restrict'.
73767         * modules/argp (Depends-on): Remove 'restrict'.
73768         * modules/base64 (Depends-on): Likewise.
73769         * modules/gc (Depends-on): Likewise.
73770         * modules/getaddrinfo (Depends-on): Likewise.
73771         * modules/glob (Depends-on): Likewise.
73772         * modules/inet_ntop (Depends-on): Likewise.
73773         * modules/inet_pton (Depends-on): Likewise.
73774         * modules/memxor (Depends-on): Likewise.
73775         * modules/regex (Depends-on): Likewise.
73776         * modules/strtok_r (Depends-on): Likewise.
73777         * modules/time_r (Depends-on): Likewise.
73778
73779 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
73780
73781         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
73782         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
73783         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
73784         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
73785         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
73786         * m4/memxor.m4 (gl_MEMXOR): Likewise.
73787         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
73788         gl_C_RESTRICT replaced by AC_C_RESTRICT.
73789
73790         Merge from coreutils.
73791         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
73792         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
73793         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
73794         * m4/time_r.m4 (gl_TIME_R): Likewise.
73795
73796 2006-08-09  Karl Berry  <karl@gnu.org>
73797
73798         * config/srclist.txt: no more gettext-tools, per Bruno.
73799
73800 2006-08-08  Eric Blake  <ebb9@byu.net>
73801
73802         * modules/verror: New module.
73803         * MODULES.html.sh: Document it.
73804
73805 2006-08-08  Eric Blake  <ebb9@byu.net>
73806
73807         * lib/verror.h, lib/verror.c: New files.
73808
73809 2006-08-08  Eric Blake  <ebb9@byu.net>
73810
73811         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
73812         verror_at_line output complies with GNU Coding Standards even when
73813         file is NULL.
73814
73815 2006-08-07  Bruno Haible  <bruno@clisp.org>
73816
73817         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
73818         versions of AIX.
73819         Reported by Ralf Wildenhues.
73820
73821 2006-08-07  Bruno Haible  <bruno@clisp.org>
73822
73823         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
73824         in an AC_DEFUN. Needed so that the autoconf snippets can use
73825         AC_REQUIRE.
73826
73827 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73828
73829         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
73830         Initialize pkgdata_DATA.
73831         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
73832         overriding it.
73833
73834 2006-08-06  Eric Blake  <ebb9@byu.net>
73835
73836         * lib/error.h: Fold in some upstream changes from glibc.
73837         * lib/error.c: Likewise.
73838
73839 2006-08-04  Bruno Haible  <bruno@clisp.org>
73840
73841         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
73842         Make the mostlyclean-local rule depend on mostlyclean-generic.
73843         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
73844
73845 2006-07-31  Bruno Haible  <bruno@clisp.org>
73846
73847         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
73848         <stdlib.h>, <string.h>.
73849
73850 2006-07-30  Bruno Haible  <bruno@clisp.org>
73851
73852         * modules/readlink (License): Change to LGPL.
73853
73854 2006-07-30  Bruno Haible  <bruno@clisp.org>
73855
73856         * modules/javaversion (Makefile.am): Distribute javaversion.java and
73857         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
73858         set PKGDATADIR to point to it.
73859
73860 2006-07-30  Bruno Haible  <bruno@clisp.org>
73861
73862         * modules/csharpexec (configure.ac): Comment out macro invocation.
73863         * modules/javaexec (configure.ac): Likewise.
73864         * modules/javacomp-script (configure.ac): Likewise.
73865
73866         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
73867
73868 2006-07-30  Bruno Haible  <bruno@clisp.org>
73869
73870         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
73871         linked-list.
73872
73873 2006-07-30  Bruno Haible  <bruno@clisp.org>
73874
73875         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
73876
73877 2006-07-30  Bruno Haible  <bruno@clisp.org>
73878
73879         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
73880         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
73881         get removed.
73882
73883 2006-07-29  Bruno Haible  <bruno@clisp.org>
73884
73885         Make it possible for gnulib-tool to work with locally modified or
73886         augmented gnulib repositories.
73887         * gnulib-tool (func_usage): Document --local-dir option.
73888         (local_gnulib_dir): New variable.
73889         Handle --local-dir option.
73890         (func_lookup_file): New function.
73891         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
73892         (func_get_description, func_get_filelist, func_get_description,
73893         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
73894         func_get_automake_snippet, func_get_include_directive,
73895         func_get_license, func_get_maintainer): Use func_lookup_file.
73896         (func_import, func_create_testdir): Use func_lookup_file.
73897
73898 2006-07-29  Bruno Haible  <bruno@clisp.org>
73899
73900         * modules/setenv (Depends-on): Add unistd.
73901
73902 2006-07-29  Bruno Haible  <bruno@clisp.org>
73903
73904         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
73905
73906 2006-07-29  Bruno Haible  <bruno@clisp.org>
73907
73908         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
73909
73910 2006-07-29  Bruno Haible  <bruno@clisp.org>
73911
73912         * gnulib-tool (import, update): If there is no Makefile.am, look at
73913         aclocal.m4, instead of bailing out.
73914
73915 2006-07-29  Bruno Haible  <bruno@clisp.org>
73916
73917         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
73918         Categorize the options by when they are useful.
73919
73920 2006-07-29  Bruno Haible  <bruno@clisp.org>
73921
73922         * gnulib-tool (func_usage): Document option --no-libtool.
73923         Handle option --no-libtool.
73924         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
73925         for changed semantics of $libtool variable.
73926         (func_import): Likewise. If libtool is not used, show this through
73927         an option --no-libtool.
73928         (func_create_testdir): Update.
73929
73930 2006-07-29  Bruno Haible  <bruno@clisp.org>
73931
73932         * gnulib-tool (func_import): Extend error message about missing
73933         --doc-base.
73934
73935 2006-07-29  Bruno Haible  <bruno@clisp.org>
73936
73937         * gnulib-tool (func_import): Don't create the $docbase directory if
73938         there is no file to store there.
73939
73940 2006-07-29  Bruno Haible  <bruno@clisp.org>
73941
73942         * gnulib-tool (autoconf_minversion): If a --dir option is given and
73943         relevant, look for configure.ac there, not in the current directory.
73944         Also use a simple search for AC_PREREQ, not "autoconf --trace".
73945
73946 2006-07-29  Bruno Haible  <bruno@clisp.org>
73947
73948         * gnulib-tool (SORT): New variable.
73949         (func_usage): Undocument --assume-autoconf option.
73950         Remove --assume-autoconf option handling.
73951         (autoconf_minversion): Determine from the contents of configure.ac.
73952         (func_import): Remove autoconf_minversion handling.
73953         Suggested by Eric Blake.
73954
73955 2006-07-29  Bruno Haible  <bruno@clisp.org>
73956
73957         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
73958
73959 2006-07-29  Bruno Haible  <bruno@clisp.org>
73960
73961         * config/srclist.txt (*setenv.[ch]): Remove rules.
73962
73963 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
73964
73965         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
73966
73967 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
73968
73969         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
73970         arpa/inet.h.
73971
73972 2006-07-28  Simon Josefsson  <jas@extundo.com>
73973
73974         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
73975         * modules/inet_pton (Depends-on): Likewise.
73976
73977 2006-07-28  Simon Josefsson  <jas@extundo.com>
73978
73979         * m4/netinet_in_h.m4: New file.
73980
73981 2006-07-28  Simon Josefsson  <jas@extundo.com>
73982
73983         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
73984         #include's.
73985
73986 2006-07-28  Simon Josefsson  <jas@extundo.com>
73987
73988         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
73989         #include's.
73990
73991 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
73992
73993         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
73994         setgid on directories only if they set these bits.
73995         * lib/modechange.h: Remove obsolete comment about masks.
73996
73997 2006-07-28  Eric Blake  <ebb9@byu.net>
73998
73999         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
74000         macro expansion.
74001
74002 2006-07-28  Bruno Haible  <bruno@clisp.org>
74003
74004         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
74005
74006 2006-07-28  Bruno Haible  <bruno@clisp.org>
74007
74008         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
74009
74010 2006-07-28  Bruno Haible  <bruno@clisp.org>
74011
74012         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
74013         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
74014         Define fallbacks.
74015         Avoids link error on FreeBSD 4.x.
74016         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
74017
74018         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
74019         encoding.
74020         * lib/mbswidth.c (iswcntrl): Likewise.
74021
74022 2006-07-27  Bruno Haible  <bruno@clisp.org>
74023
74024         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
74025         test.
74026
74027 2006-07-27  Bruno Haible  <bruno@clisp.org>
74028
74029         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
74030         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
74031         defined.
74032
74033 2006-07-26  Eric Blake  <ebb9@byu.net>
74034
74035         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
74036
74037 2006-07-26  Eric Blake  <ebb9@byu.net>
74038
74039         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
74040         like mingw that lack mkstemp.
74041         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
74042         avoid compilation warning on mingw.
74043
74044 2006-07-26  Bruno Haible  <bruno@clisp.org>
74045
74046         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
74047         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
74048         INT_FAST*_MIN, INTPTR_MIN.
74049
74050 2006-07-25  Bruno Haible  <bruno@clisp.org>
74051
74052         * modules/version-etc (Depends-on): Add stdarg.
74053
74054 2006-07-25  Bruno Haible  <bruno@clisp.org>
74055
74056         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
74057         complex commands.
74058
74059 2006-07-25  Bruno Haible  <bruno@clisp.org>
74060
74061         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
74062         defined in <stdarg.h> or config.h.
74063
74064 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
74065
74066         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
74067         (gl_STDIO_SAFER): Remove.
74068
74069 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
74070
74071         * MODULES.html.sh (File stream based Input/Output):
74072         Add fopen-safer, tmpfile-safer; remove stdio-safer.
74073         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
74074         * modules/fopen-safer, modules/tmpfile-safer: New files.
74075         * modules/stdio-safer: Remove.
74076
74077 2006-07-24  Bruno Haible  <bruno@clisp.org>
74078
74079         * modules/tmpdir: New file.
74080         * MODULES.html.sh (File system functions): Add it.
74081
74082 2006-07-24  Bruno Haible  <bruno@clisp.org>
74083
74084         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
74085         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
74086
74087 2006-07-24  Bruno Haible  <bruno@clisp.org>
74088
74089         * modules/clean-temp: New file.
74090
74091 2006-07-24  Bruno Haible  <bruno@clisp.org>
74092
74093         * m4/tmpdir.m4: New file, from GNU gettext.
74094
74095 2006-07-24  Bruno Haible  <bruno@clisp.org>
74096
74097         * lib/tmpdir.h: New file, from GNU gettext.
74098         * lib/tmpdir.c: New file, from GNU gettext.
74099
74100 2006-07-24  Bruno Haible  <bruno@clisp.org>
74101
74102         * lib/clean-temp.h: New file, from GNU gettext.
74103         * lib/clean-temp.c: New file, from GNU gettext.
74104
74105 2006-07-23  Eric Blake  <ebb9@byu.net>
74106
74107         * modules/stdio-safer (Files): Add tmpfile-safer.c.
74108         (Depends-on): Add binary-io.
74109
74110 2006-07-23  Eric Blake  <ebb9@byu.net>
74111
74112         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
74113
74114 2006-07-23  Eric Blake  <ebb9@byu.net>
74115
74116         * lib/tmpfile-safer.c: New file.
74117         * lib/stdio-safer.h (fopen_safer): Add prototype.
74118         * lib/stdio--.h (tmpfile): Make safer.
74119
74120 2006-07-23  Bruno Haible  <bruno@clisp.org>
74121
74122         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
74123         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
74124         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
74125         gl_linked_remove_at): Use it.
74126
74127 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74128         and Simon Josefsson <jas@extundo.com>
74129
74130         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
74131
74132         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
74133
74134 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
74135
74136         * modules/close-stream: New file.
74137         * modules/closeout (Description): Make it clear that it exits
74138         with a diagnostic on error.
74139         (Depends-on): Add close-stream.  Remove fpending, stdbool.
74140         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
74141
74142 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
74143
74144         * m4/close-stream.m4: New file.
74145
74146 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
74147
74148         * lib/close-stream.c, lib/close-stream.h: New files.
74149
74150 2006-07-22  Bruno Haible  <bruno@clisp.org>
74151
74152         Merge from GNU gettext 0.15.
74153
74154         2006-05-01  Bruno Haible  <bruno@clisp.org>
74155
74156                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
74157
74158         2006-07-22  Bruno Haible  <bruno@clisp.org>
74159
74160                 * modules/javaversion: New file.
74161                 * MODULES.html.sh (Java): Add javaversion.
74162
74163         2006-03-12  Bruno Haible  <bruno@clisp.org>
74164
74165                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
74166
74167         2005-12-04  Bruno Haible  <bruno@clisp.org>
74168
74169                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
74170                 (untested).
74171
74172         2006-06-21  Bruno Haible  <bruno@clisp.org>
74173
74174                 Avoid warnings from recent versions of mcs.
74175                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
74176                 -o, -L, -r any more. Use options documented since mcs-1.0
74177                 instead. Similarly for -g.
74178
74179         2005-12-04  Bruno Haible  <bruno@clisp.org>
74180
74181                 * build-aux/csharpcomp.sh.in: Suffix for resources is
74182                 .resources, not .resource.
74183
74184         2005-07-09  Bruno Haible  <bruno@clisp.org>
74185
74186                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
74187                 add a .dll suffix.
74188                 Reported by Mark Junker <mjscod@gmx.de>.
74189
74190         2006-07-22  Bruno Haible  <bruno@clisp.org>
74191
74192                 * modules/gettext: Upgrade to gettext-0.15.
74193                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
74194                 m4/visibility.m4.
74195                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
74196
74197 2006-07-22  Bruno Haible  <bruno@clisp.org>
74198
74199         Merge from GNU gettext 0.15.
74200
74201         2006-03-25  Bruno Haible  <bruno@clisp.org>
74202
74203                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
74204
74205         2006-07-21  Bruno Haible  <bruno@clisp.org>
74206
74207                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
74208                 "1.1".
74209
74210         2006-05-09  Bruno Haible  <bruno@clisp.org>
74211
74212                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
74213                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
74214                 for the conftestver execution.
74215
74216         2006-05-01  Bruno Haible  <bruno@clisp.org>
74217
74218                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
74219                 optional target-version argument. Verify that the compiler
74220                 groks source of the specified source-version, or add -source
74221                 option as necessary. Verify that the compiler produces
74222                 bytecode in the specified target-version, or add -target and
74223                 -source options as necessary. Make the result of the test
74224                 available as variable CONF_JAVAC. Also log error output in
74225                 config.log.
74226
74227         2006-03-11  Bruno Haible  <bruno@clisp.org>
74228
74229                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
74230
74231         2006-05-09  Bruno Haible  <bruno@clisp.org>
74232
74233                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
74234                 CLASSPATH_SEPARATOR to a semicolon.
74235
74236         2006-03-12  Bruno Haible  <bruno@clisp.org>
74237
74238                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
74239                 available as variable CONF_JAVA, for subsequent autoconf
74240                 tests. Also log error output in config.log.
74241
74242         2006-07-19  Bruno Haible  <bruno@clisp.org>
74243
74244                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
74245                 that getline works on glibc2 systems. Needed to avoid trouble
74246                 in relocatable.c.
74247                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
74248
74249         2005-12-04  Bruno Haible  <bruno@clisp.org>
74250
74251                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
74252                 launcher (untested).
74253
74254         2005-12-04  Bruno Haible  <bruno@clisp.org>
74255
74256                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
74257
74258         2006-07-22  Bruno Haible  <bruno@clisp.org>
74259
74260                 * gettext.m4: Update from GNU gettext-0.15.
74261                 * nls.m4: Likewise.
74262                 * po.m4: Likewise.
74263                 * inttypes-pri.m4: Likewise.
74264                 * inttypes-h.m4: Renamed from inttypes.m4.
74265                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
74266
74267 2006-07-22  Bruno Haible  <bruno@clisp.org>
74268
74269         Merge from GNU gettext 0.15.
74270
74271         2005-07-05  Bruno Haible  <bruno@clisp.org>
74272
74273                 * printf-args.c (printf_fetchargs): Work around broken
74274                 definition of wint_t on mingw.
74275
74276         2005-02-12  Bruno Haible  <bruno@clisp.org>
74277
74278                 * xallocsa.h: Add extern "C" for C++.
74279
74280         2006-05-17  Bruno Haible  <bruno@clisp.org>
74281
74282                 Cygwin portability.
74283                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
74284
74285         2006-04-30  Bruno Haible  <bruno@clisp.org>
74286
74287                 * progreloc.c: Include <mach-o/dyld.h> if available.
74288                 (find_executable): Use _NSGetExecutablePath when possible.
74289
74290         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
74291
74292                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
74293                 function.
74294
74295         2005-12-29  Bruno Haible  <bruno@clisp.org>
74296
74297                 * progreloc.c (set_program_name_and_installdir): Fix
74298                 compilation error.
74299
74300         2005-12-04  Bruno Haible  <bruno@clisp.org>
74301
74302                 Cygwin portability.
74303                 * progreloc.c: Include <windows.h> also on Cygwin.
74304                 (find_executable): Add support for Cygwin.
74305                 (set_program_name_and_installdir): Handle also platforms with
74306                 nonempty EXEEXT.
74307
74308         2006-07-11  Bruno Haible  <bruno@clisp.org>
74309
74310                 * javacomp.c: Fix a comment.
74311                 Reported by Jim Meyering.
74312
74313         2006-04-30  Bruno Haible  <bruno@clisp.org>
74314
74315                 * javacomp.h (compile_java_class): Add source_version,
74316                 target_version arguments.
74317                 * javacomp.c: Rewritten to choose only a compiler that
74318                 respects the specified source_version and target_version.
74319
74320         2006-06-27  Bruno Haible  <bruno@clisp.org>
74321
74322                 Assume correct S_ISDIR macro.
74323                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
74324
74325         2006-07-22  Bruno Haible  <bruno@clisp.org>
74326
74327                 * javaversion.h: New file, from GNU gettext.
74328                 * javaversion.c: New file, from GNU gettext.
74329                 * javaversion.java: New file, from GNU gettext.
74330                 * javaversion.class: New file, from GNU gettext.
74331
74332         2006-05-17  Bruno Haible  <bruno@clisp.org>
74333
74334                 Cygwin portability.
74335                 * javaexec.c (execute_java_class): Test for jview program
74336                 also on Cygwin.
74337
74338         2006-04-09  Bruno Haible  <bruno@clisp.org>
74339
74340                 * fatal-signal.c: Don't include string.h.
74341                 (at_fatal_signal): Use a copying loop instead of memcpy.
74342
74343         2005-12-04  Bruno Haible  <bruno@clisp.org>
74344
74345                 * csharpexec.c: Add support for 'clix' launcher (untested).
74346                 (execute_csharp_using_sscli): New function.
74347                 (execute_csharp_program): Call it.
74348
74349         2006-06-21  Bruno Haible  <bruno@clisp.org>
74350
74351                 Avoid warnings from recent versions of mcs.
74352                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
74353                 -o, -L, -r any more. Use options documented since mcs-1.0
74354                 instead. Similarly for -g.
74355
74356         2005-07-09  Bruno Haible  <bruno@clisp.org>
74357
74358                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
74359                 add a .dll suffix.
74360                 Reported by Mark Junker <mjscod@gmx.de>.
74361
74362         2006-06-17  Bruno Haible  <bruno@clisp.org>
74363
74364                 * config.charset: Update for NetBSD 3.0.
74365
74366         2006-05-17  Bruno Haible  <bruno@clisp.org>
74367
74368                 Cygwin portability.
74369                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
74370
74371         2006-05-16  Bruno Haible  <bruno@clisp.org>
74372
74373                 * localcharset.c [CYGWIN]: Include <windows.h>.
74374                 (get_charset_aliases): For Cygwin, return the same CPxxx
74375                 aliases list as under WIN32.
74376                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
74377                 the environment variables. Fall back to GetACP().
74378
74379         2006-04-05  Bruno Haible  <bruno@clisp.org>
74380
74381                 * config.charset: Update Juan Manuel Guerrero's address.
74382
74383         2005-02-12  Bruno Haible  <bruno@clisp.org>
74384
74385                 * allocsa.h: Add extern "C" for C++.
74386
74387         2005-02-10  Bruno Haible  <bruno@clisp.org>
74388
74389                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
74390                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
74391
74392         2006-07-22  Bruno Haible  <bruno@clisp.org>
74393
74394                 * gettext.h: Update to GNU gettext-0.15.
74395
74396 2006-07-22  Bruno Haible  <bruno@clisp.org>
74397
74398         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
74399         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
74400         lib-prefix.m4, longdouble.m4, ssize_t.m4.
74401
74402 2006-07-21  Eric Blake  <ebb9@byu.net>
74403
74404         * modules/stdlib-safer: New file.
74405         * MODULES.html.sh (File stream based Input/Output): Add
74406         stdlib-safer.
74407
74408 2006-07-21  Eric Blake  <ebb9@byu.net>
74409
74410         * lib/stdlib-safer.h: New file from coreutils, required by
74411         stdlib--.h.
74412
74413 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
74414
74415         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
74416
74417 2006-07-20  Bruno Haible  <bruno@clisp.org>
74418
74419         * gnulib-tool: Recognize new option --assume-autoconf.
74420         (autoconf_minversion): New variable.
74421         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
74422
74423 2006-07-20  Bruno Haible  <bruno@clisp.org>
74424
74425         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
74426
74427 2006-07-19  Derek R. Price  <derek@ximbiot.com>
74428
74429         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
74430         Reindent and repaginate.
74431
74432 2006-07-19  Derek Price  <derek@ximbiot.com>
74433
74434         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
74435         Correct grammar.
74436
74437 2006-07-17  Bruno Haible  <bruno@clisp.org>
74438
74439         * modules/list: New file.
74440         * modules/array-list: New file.
74441         * modules/carray-list, modules/carray-list-tests: New files.
74442         * modules/linked-list, modules/linked-list-tests: New files.
74443         * modules/avltree-list, modules/avltree-list-tests: New files.
74444         * modules/rbtree-list, modules/rbtree-list-tests: New files.
74445         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
74446         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
74447         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
74448         * modules/oset: New file.
74449         * modules/array-oset: New file.
74450         * modules/avltree-oset, modules/avltree-oset-tests: New files.
74451         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
74452         * tests/test-carray_list.c: New file.
74453         * tests/test-linked_list.c: New file.
74454         * tests/test-avltree_list.c: New file.
74455         * tests/test-rbtree_list.c: New file.
74456         * tests/test-linkedhash_list.c: New file.
74457         * tests/test-avltreehash_list.c: New file.
74458         * tests/test-rbtreehash_list.c: New file.
74459         * tests/test-avltree_oset.c: New file.
74460         * tests/test-rbtree_oset.c: New file.
74461         * MODULES.html.sh (Container data structures): New section.
74462
74463 2006-07-17  Bruno Haible  <bruno@clisp.org>
74464
74465         * m4/gl_list.m4: New file.
74466
74467 2006-07-17  Bruno Haible  <bruno@clisp.org>
74468
74469         * lib/gl_list.h: New file.
74470         * lib/gl_list.c: New file.
74471         * lib/gl_array_list.h: New file.
74472         * lib/gl_array_list.c: New file.
74473         * lib/gl_carray_list.h: New file.
74474         * lib/gl_carray_list.c: New file.
74475         * lib/gl_linked_list.h: New file.
74476         * lib/gl_linked_list.c: New file.
74477         * lib/gl_anylinked_list1.h: New file.
74478         * lib/gl_anylinked_list2.h: New file.
74479         * lib/gl_avltree_list.h: New file.
74480         * lib/gl_avltree_list.c: New file.
74481         * lib/gl_anyavltree_list1.h: New file.
74482         * lib/gl_anyavltree_list2.h: New file.
74483         * lib/gl_rbtree_list.h: New file.
74484         * lib/gl_rbtree_list.c: New file.
74485         * lib/gl_anyrbtree_list1.h: New file.
74486         * lib/gl_anyrbtree_list2.h: New file.
74487         * lib/gl_anytree_list1.h: New file.
74488         * lib/gl_anytree_list2.h: New file.
74489         * lib/gl_linkedhash_list.h: New file.
74490         * lib/gl_linkedhash_list.c: New file.
74491         * lib/gl_anyhash_list1.h: New file.
74492         * lib/gl_anyhash_list2.h: New file.
74493         * lib/gl_avltreehash_list.h: New file.
74494         * lib/gl_avltreehash_list.c: New file.
74495         * lib/gl_rbtreehash_list.h: New file.
74496         * lib/gl_rbtreehash_list.c: New file.
74497         * lib/gl_anytreehash_list1.h: New file.
74498         * lib/gl_anytreehash_list2.h: New file.
74499
74500         * lib/gl_oset.h: New file.
74501         * lib/gl_oset.c: New file.
74502         * lib/gl_array_oset.h: New file.
74503         * lib/gl_array_oset.c: New file.
74504         * lib/gl_avltree_oset.h: New file.
74505         * lib/gl_avltree_oset.c: New file.
74506         * lib/gl_rbtree_oset.h: New file.
74507         * lib/gl_rbtree_oset.c: New file.
74508         * lib/gl_anytree_oset.h: New file.
74509
74510 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
74511
74512         * m4/mkancesdirs.m4: New file.
74513         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
74514         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
74515         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
74516         it.
74517
74518 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
74519
74520         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
74521         * lib/mkancesdirs.h: New files.
74522         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
74523         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
74524         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
74525         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
74526         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
74527         callers changed.  Revamp internals significantly, by not
74528         attempting to create directories that are temporarily more
74529         permissive than the final results.  Do not attempt to use
74530         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
74531         This removes some race conditions, fixes some bugs, and simplifies
74532         things.  Use new dirchownmod function to do owner and mode changes.
74533         * lib/mkdir-p.h: Likewise.
74534         * lib/modechange.c (octal_to_mode): New function.
74535         (struct mode_change): New member mentioned.
74536         (make_node_op_equals): New arg mentioned.  All callers changed.
74537         (mode_compile): Keep track of which mode bits the user has explicitly
74538         mentioned.
74539         (mode_adjust): New arg DIR, so that we implement the X op correctly.
74540         New arg PMODE_BITS, to keep track of which mode bits the user
74541         mentioned; it treats S_ISUID and S_ISGID speciall.
74542         All callers changed.
74543         * lib/modechange.h: Likewise.
74544
74545 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
74546
74547         * MODULES.html.sh: Add mkancestors.
74548         * modules/mkancesdirs: New module.
74549         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
74550         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
74551         The chdir-safer and afs files are now orphans; I'll remove them
74552         unless someone speaks up.
74553         Add lib/dirchownmod.c, lib/dirchownmod.h.
74554         (Depends-on): Remove alloca, chown, save-cwd, dirname.
74555         Add lchown, mkancesdirs.
74556         (Maintainer): Add self.
74557
74558 2006-07-15  Karl Berry  <karl@gnu.org>
74559
74560         * gnulib-tool: help message wording/arrangement.
74561
74562 2006-07-14  Simon Josefsson  <jas@extundo.com>
74563
74564         * doc/gnulib.texi (Libtool and Windows): New section.
74565
74566 2006-07-12  Simon Josefsson  <jas@extundo.com>
74567
74568         * modules/gendocs (License): Fix license, approved by Karl.
74569
74570 2006-07-12  Eric Blake  <ebb9@byu.net>
74571
74572         * MODULES.html.sh: Add gendocs.
74573
74574 2006-07-11  Eric Blake  <ebb9@byu.net>
74575
74576         * modules/fdl: New module, to install doc/fdl.texi.
74577         * MODULES.html.sh: Add new section for documentation modules.
74578         * gnulib-tool: Avoid space-tab.
74579         (--doc-base): New option, to manage files from doc.
74580
74581 2006-07-11  Eric Blake  <ebb9@byu.net>
74582
74583         * m4/absolute-header.m4: Fix comments to match recent change.
74584
74585 2006-07-11  Eric Blake  <ebb9@byu.net>
74586
74587         * gnulib-tool: List --doc-base before --tests-base.
74588
74589 2006-07-11  Derek R. Price  <derek@ximbiot.com>
74590
74591         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
74592
74593 2006-07-11  Bruno Haible  <bruno@clisp.org>
74594
74595         * README: Mention where to put documentation.
74596
74597 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74598
74599         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
74600
74601 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
74602
74603         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
74604         to stdint.m4.
74605
74606 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
74607
74608         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
74609         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
74610         "no/such/file/stdint.h" when there is no such file, so that
74611         the resulting C code can be parsed by dodgy compilers.
74612         Problems reported by Bob Proulx.
74613
74614 2006-07-10  Derek R. Price  <derek@ximbiot.com>
74615
74616         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
74617         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
74618         macros into the GNU _D_EXACT_NAMLEN.
74619         * lib/savedir.c:  Likewise.
74620         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
74621
74622 2006-07-10  Derek R. Price  <derek@ximbiot.com>
74623         and Paul Eggert  <eggert@cs.ucla.edu>
74624
74625         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
74626         * m4/savedir.m4:
74627         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
74628         macros into the GNU _D_EXACT_NAMLEN.
74629
74630 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
74631
74632         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
74633         around the absolute name, to work around a problem with the HP-UX
74634         11.23 native C compiler, reported by Bob Proulx.
74635
74636 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
74637
74638         * doc/maintain.texi, make-stds.texi: Sync from
74639         <http://savannah.gnu.org/projects/gnustandards>.
74640
74641 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
74642
74643         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
74644
74645 2006-07-09  Jim Meyering  <jim@meyering.net>
74646
74647         * m4/glob.m4: Remove a doubled word in a comment.
74648
74649 2006-07-09  Jim Meyering  <jim@meyering.net>
74650
74651         * lib/argp-pv.c: Remove a doubled word in a comment.
74652         * lib/check-version.c (check_version): Likewise.
74653         * lib/javacomp.c (compile_java_class): Likewise.
74654
74655 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
74656
74657         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
74658         for the benefit of people using Autoconf 2.60.  If you want to
74659         support older Autoconf versions you can copy m4/onceonly_2_57.m4
74660         (or m4/onceonly.m4, if pre-2.57) manually.
74661
74662 2006-07-08  Jim Meyering  <jim@meyering.net>
74663
74664         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
74665         comment.
74666         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
74667         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
74668         comment.
74669
74670 2006-07-08  Jim Meyering  <jim@meyering.net>
74671
74672         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
74673
74674 2006-07-07  Simon Josefsson  <jas@extundo.com>
74675
74676         * tests/test-crc.c: Change expected crc value, the test vector
74677         were probably computed using the old broken crc.c?
74678
74679 2006-07-06  Simon Josefsson  <jas@extundo.com>
74680
74681         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
74682         now the canonical place for the M4 file).
74683
74684         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
74685         from the sys_socket dependency now.
74686
74687         * modules/inet_pton (Files): Ditto.
74688
74689         * modules/inet_ntop (Files): Ditto.
74690
74691 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
74692
74693         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
74694         not gl_PREREQ_GETUSERSHELL.
74695
74696 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74697
74698         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
74699         with only one argument, for Autoconf 2.60.
74700         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
74701         expand to nothing, so add a shell command to avoid syntax error.
74702         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
74703
74704 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74705
74706         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
74707
74708 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
74709
74710         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
74711         no longer needed.  Check for isblank decl.
74712         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
74713         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
74714         of existence.
74715
74716 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
74717
74718         * lib/getloadavg.c: Use __VMS, not VMS.
74719         * lib/getopt.c: Likewise.
74720         * lib/getpagesize.h: Likewise.
74721         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
74722         and probably does not work.
74723
74724 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
74725
74726         * lib/.cppi-disable: Add wcwidth.
74727         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
74728         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
74729         (ISGRAPH): Remove.  All uses changed to isgraph.
74730         (FOLD) [!defined _LIBC]: Remove special case.
74731         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
74732         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
74733         HAVE_ISBLANK.
74734         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
74735         case.
74736
74737 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
74738
74739         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
74740         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
74741         brackets.  Other minor changes to suppress some compiler
74742         warnings.
74743
74744 2006-07-06  Derek R. Price  <derek@ximbiot.com>
74745         and Paul Eggert  <eggert@cs.ucla.edu>
74746
74747         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
74748         of invoking obsolescent AC_HEADER_DIRENT macro.
74749         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
74750         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
74751         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
74752         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
74753         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
74754         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
74755         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
74756         * m4/readdir.m4: Remove; no longer needed.
74757
74758 2006-07-06  Derek R. Price  <derek@ximbiot.com>
74759         and Paul Eggert  <eggert@cs.ucla.edu>
74760
74761         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
74762         Don't worry about this obsolete case any more.
74763         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
74764         directories.
74765         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
74766         worry about this obsolete case any more.
74767         * lib/fts.c: Likewise.
74768         * lib/getcwd.c: Likewise.
74769         * lib/glob.h: Likewise.
74770         * lib/savedir.c: Likewise.
74771
74772 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
74773
74774         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
74775         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
74776         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
74777         needed.
74778         All uses removed.
74779         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
74780         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
74781         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
74782         needed.
74783         * m4/getdate.m4 (gl_GETDATE): Likewise.
74784         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
74785         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
74786         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
74787         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
74788         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
74789         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
74790         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
74791         needed.
74792
74793 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
74794
74795         * lib/memcasecmp.c: Include <limits.h>.
74796         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
74797         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
74798         Don't assume isdigit succeeds only on '0' through '9'.
74799
74800 2006-07-05  Eric Blake  <ebb9@byu.net>
74801
74802         * modules/getaddrinfo (Depends-on): Add snprintf.
74803
74804 2006-07-05  Eric Blake  <ebb9@byu.net>
74805
74806         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
74807         to avoid 'header present but could not be compiled' on cygwin.
74808
74809 2006-07-05  Eric Blake  <ebb9@byu.net>
74810
74811         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
74812         missing from netdb.h.
74813         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
74814
74815 2006-07-05  Derek R. Price  <derek@ximbiot.com>
74816
74817         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
74818         no longer needed.
74819         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
74820         * m4/getdate.m4 (gl_GETDATE): Likewise.
74821         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
74822         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
74823         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
74824         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
74825         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
74826
74827 2006-07-05  Derek R. Price  <derek@ximbiot.com>
74828
74829         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
74830         All uses of is_space replaced by isspace.
74831         * lib/exit.h: Don't talk about STDC_HEADERS.
74832         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
74833         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
74834         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
74835         replaced by isprint etc.
74836         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
74837         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
74838         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
74839         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
74840         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
74841         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
74842
74843 2006-07-05  Bruno Haible  <bruno@clisp.org>
74844
74845         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
74846         the function exists, before testing against AIX.
74847         Reported by Martin Lambers <marlam@marlam.de>.
74848
74849 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
74850
74851         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
74852         From Mark D. Baushke.
74853
74854 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
74855
74856         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
74857         to the absolute name, not just one, to bypass Sun C 5.8's
74858         "warning: #include of /usr/include/... may be non-portable".
74859
74860 2006-07-04  Eric Blake  <ebb9@byu.net>
74861
74862         * modules/dirname-tests: New test module.
74863         * tests/test-dirname.c: New file, replacing dirname.c
74864         TEST_DIRNAME section that was recently deleted.
74865
74866 2006-07-04  Bruno Haible  <bruno@clisp.org>
74867
74868         Assume ANSI C header files and <ctype.h> functions.
74869         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
74870         (mbsnwidth): Use isprint, iscntrl instead.
74871
74872 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
74873
74874         Merge from coreutils.
74875         * MODULES.html.sh: Add xstrtold.
74876         * modules/xstrtold: New file.
74877         * modules/cycle-check (Files): Add lib/same-inode.h.
74878         * modules/dirname (Files): Add m4/double-slash-root.m4.
74879         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
74880         * modules/mkdir-p (Files): Add lib/same-inode.h.
74881         * modules/same (Files): Add lib/same-inode.h.
74882
74883 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
74884
74885         * m4/absolute-header.m4: Renamed from full-header-path.m4.
74886         This is to keep the terminology clean; POSIX talks about
74887         "absolute pathnames", not "full pathnames", but the GNU
74888         Coding Standards say to use "path" for something else;
74889         so use "absolute" to keep both sides happy.
74890         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
74891         Set gl_absolute_header, not gl_full_header_path.
74892         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
74893         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
74894         All uses changed.
74895
74896         Merge from coreutils.
74897
74898         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
74899
74900         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
74901         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
74902         want to require the building of c-strtod.o.
74903         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
74904         needs -lm directly.
74905         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
74906
74907         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
74908
74909         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
74910         --as-needed option if available.  Problem reported by Albert Chin in
74911         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
74912         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
74913         cc merely issues a bunch of annoying warnings for --as-needed
74914         (this problem was reported by Bob Proulx).  Also, try linking with
74915         -lm to detect a bug in binutils 2.16 (this problem was reported
74916         by Ralf Wildenhues).
74917
74918         2006-06-18  Jim Meyering  <jim@meyering.net>
74919
74920         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
74921         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
74922         macro.
74923         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
74924         also check for glibc-2.4's abort-inducing bug.
74925
74926         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
74927         Low-probability clean-up should be to use rmdir to get rid of
74928         the just-created directory, not unlink.
74929
74930         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
74931         configure fail, and request a bug report to inform us about it.
74932         Add a comment that, barring reports to the contrary, in 2007 we'll
74933         assume ftruncate is universally available.
74934
74935         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
74936
74937         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
74938
74939         2006-03-12  Jim Meyering  <jim@meyering.net>
74940
74941         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
74942         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
74943         * m4/same.m4 (gl_SAME): Likewise.
74944         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
74945
74946         2006-03-11  Eric Blake  <ebb9@byu.net>
74947
74948         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
74949         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
74950         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
74951         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
74952
74953 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
74954
74955         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
74956         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
74957         reported by Mark D. Baushke, one in
74958         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
74959
74960         Merge from coreutils.
74961
74962         * lib/.cppi-disable: Add stdint_.h.
74963         * lib/.cvsignore: Add stdint.h.
74964
74965         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
74966
74967         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
74968         both double and long double versions.
74969         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
74970         * lib/xstrtold.c: New file.
74971         * lib/xstrtod.h (xstrtold): New decl.
74972
74973         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
74974
74975         * lib/filemode.c (setst): Remove.
74976         (strmode): Rewrite to avoid setst.  This makes the code shorter,
74977         (arguably) clearer, and the generated code is a bit smaller on my
74978         Debian GNU/Linux stable x86 host.
74979
74980         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
74981
74982         * lib/filemode.c: Include "filemode.h" first, to test the interface.
74983         Assume that filemode.h includes sys/types.h and sys/stat.h.
74984         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
74985         (ftypelet): Reorder to put common cases first, for efficiency.
74986         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
74987         to do 'M'.
74988         (strmode): Renamed from mode_string, and now stores 12 bytes instead
74989         of 10, for compatibility with FreeBSD.  All callers changed.
74990         (filemodestring): Now stores 12 bytes instead of 10, and sets file
74991         types that can't be deduced solely from st_mode.  First arg is now a
74992         const pointer.
74993         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
74994         (strmode): Renamed from mode_string.
74995         (filemodestring): New decl.
74996         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
74997         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
74998         needed.
74999         (S_ISPORT, S_ISWHT): New macros, if not already defined.
75000
75001         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
75002
75003         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
75004         fsusage.h now does that.  Include fsusage.h first, to test interface.
75005         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
75006         at most one method (the old code could have generated decls that
75007         didn't conform to C89, not that this was ever exercised).
75008         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
75009
75010         2006-03-19  Jim Meyering  <jim@meyering.net>
75011
75012         Work even in a chroot where d_ino values for entries in "/"
75013         don't match the stat.st_ino values for the same names.
75014         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
75015         number, iterate through all entries again, using lstat instead.
75016         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
75017         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
75018
75019         * lib/getcwd.c (__getcwd): Clarify a comment.
75020         Use memcpy in place of a call to strcpy.
75021
75022         2006-03-12  Jim Meyering  <jim@meyering.net>
75023
75024         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
75025         matches that of the current directory (which we're about to chdir ".."
75026         out of), then save the dev-ino of the parent, instead.
75027
75028         * lib/same-inode.h (SAME_INODE): New file/macro.
75029         * lib/chdir-safer.c (SAME_INODE): Remove definition.
75030         Include "same-inode.h", instead.
75031         * lib/same.c: Likewise.
75032         * lib/cycle-check.h: Include "same-inode.h".
75033         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
75034         * lib/cycle-check.c (SAME_INODE): Remove definition.
75035         * lib/root-dev-ino.h: Include "same-inode.h".
75036
75037         2006-03-11  Eric Blake  <ebb9@byu.net>
75038
75039         * lib/same.c (same_name): s/base_name/last_component/
75040         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
75041         * lib/filenamecat.c (file_name_concat): Likewise.
75042
75043         2006-03-11  Eric Blake  <ebb9@byu.net>,
75044                     Paul Eggert  <eggert@cs.ucla.edu>
75045
75046         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
75047         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
75048         drive prefix.
75049         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
75050         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
75051         (last_component): New method.
75052         * lib/dirname.c (dir_len): Determine when drive letters need a
75053         subsequent slash.  Preserve // when it is special.
75054         (dir_name): Don't append dot when drive letter is absolute.
75055         [TEST_DIRNAME]: Move into a full-blown gnulib test.
75056         * lib/basename.c (base_name): New semantics - malloc the result.
75057         Preserve // when it is special.  Preserve relative files that look
75058         like drive letters.
75059         (base_len): Preserve // when it is special.
75060         (last_component): New method, similar to old base_name semantics.
75061         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
75062         base_name.  Strip redundant slashes from ///.
75063
75064 2006-07-03  Jim Meyering  <jim@meyering.net>
75065
75066         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
75067         macro is used before the first cycle_check call.
75068
75069 2006-07-03  Eric Blake  <ebb9@byu.net>
75070
75071         * modules/dirname (Depends-on): Add xstrndup.
75072
75073 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
75074
75075         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
75076         test cases, so that config.log is a bit easier to follow.
75077
75078 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
75079
75080         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
75081         both are 64 bits, since this seems to be the tradition, and this
75082         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
75083         we ever run into a host that prefers long long to long in this
75084         case, we'll need another configure-time test.  Problem reported by
75085         Jim Meyering.
75086
75087 2006-07-02  Eric Blake  <ebb9@byu.net>
75088
75089         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
75090
75091 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
75092
75093         * modules/inttypes (Depends-on): No longer depends on stdint.
75094         * modules/stdint (Description): Say more about assumptions.
75095         Say that the fast types might differ.  Say macros are used.
75096         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
75097         (Makefile.am): Revise list of substituted symbols to match
75098         new stdint.m4.
75099         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
75100         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
75101         * tests/test-stdint.c (verify_same_types)
75102         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
75103         the code conforms to C99/C89.
75104         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
75105         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
75106
75107 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
75108
75109         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
75110         but fix a bug, by requiring at least 64 bits.
75111         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
75112         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
75113         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
75114         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
75115
75116         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
75117         changes.  Make 2.59 a prerequisite.  Check and substitute for
75118         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
75119         inttypes.h.  Do not use special include files; just use the
75120         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
75121         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
75122         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
75123         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
75124         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
75125         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
75126         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
75127         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
75128         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
75129         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
75130         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
75131         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
75132         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
75133         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
75134         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
75135         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
75136         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
75137         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
75138         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
75139         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
75140         WINT_MAX.  Check for C99 conformance more strictly, by detecting
75141         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
75142         not check for things that C99 does not require, e.g., int8_t.  If
75143         a test isn't needed unless <stdint.h> isn't working, and is
75144         unlikely to be needed for any other reason, then don't do it
75145         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
75146         size_t, since we assume C89 freestanding at least.  Do not check
75147         for sig_atomic_t, wchar_t, or wint_t, since the code now does
75148         the right thing even if the types are not defined.  Instead use:
75149         (gl_STDINT_TYPE_PROPERTIES): New macro.
75150         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
75151         testing whether <sys/types.h> clashes, as Autoconf does this for
75152         us now.  All uses removed.
75153         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
75154         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
75155         (gl_CHECK_TYPE_SAME):
75156         Remove; no longer needed.
75157         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
75158         exists, since we'll return 0 anyway in that case.
75159         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
75160
75161 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
75162
75163         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
75164         possible collision with system files.
75165         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
75166         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
75167         WCHAR_MIN and WCHAR_MAX in this case.
75168         (<stddef.h>): Do not include; no longer needed.
75169         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
75170         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
75171         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
75172         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
75173         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
75174         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
75175         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
75176         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
75177         !defined(__c99))]: Include in this case too, since it's harmless
75178         now.
75179         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
75180         dangerous to do so.
75181         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
75182         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
75183         (_STDINT_MIN, _STDINT_MAX): New macros.
75184         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
75185         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
75186         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
75187         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
75188         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
75189         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
75190         macros, not typedefs; this simplifies things quite a bit.
75191         Use long int for all types narrower than int64_t.
75192         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
75193         Define in terms of long long int or int64_t or long int,
75194         not int64_t or int32_t.  This saves some compile-time testing.
75195         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
75196         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
75197         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
75198         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
75199         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
75200         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
75201         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
75202         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
75203         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
75204         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
75205         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
75206         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
75207         undef any previous version and define our own version, for
75208         simplicity and consistency with the new macros for types.
75209         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
75210         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
75211         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
75212         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
75213         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
75214         @WINT_T_SUFFIX@ to keep things simple here.
75215         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
75216         Simplify by assuming typical 8/16/32/64 host, since we're
75217         already doing that elsewhere anyway.
75218         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
75219         and assume long long int is 64 bits if available.  This
75220         speeds up 'configure'.
75221
75222 2006-07-01  Eric Blake  <ebb9@byu.net>
75223
75224         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
75225         Reported by Andreas Buening.
75226
75227 2006-07-01  Eric Blake  <ebb9@byu.net>
75228
75229         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
75230
75231 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
75232
75233         * lib/getaddrinfo.c: fixed typo
75234
75235 2006-06-29  Jim Meyering  <jim@meyering.net>
75236
75237         * modules/strftime (Maintainer): Add my name, since with the
75238         FPRINTFTIME changes strftime.c has forked from glibc.
75239
75240 2006-06-29  Eric Blake  <ebb9@byu.net>
75241
75242         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
75243
75244 2006-06-29  Eric Blake  <ebb9@byu.net>
75245
75246         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
75247
75248 2006-06-29  Eric Blake  <ebb9@byu.net>
75249
75250         * lib/stat_.h: New file.
75251
75252 2006-06-29  Eric Blake  <ebb9@byu.net>
75253
75254         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
75255         unused static function.
75256
75257 2006-06-29  Eric Blake  <ebb9@byu.net>
75258
75259         * doc/functions.texi (Function Portability): Document missing lstat
75260         on mingw.
75261
75262 2006-06-29  Eric Blake  <ebb9@byu.net>
75263
75264         * MODULES.html.sh: Add sys_stat.
75265         * modules/sys_stat: New module.
75266         * modules/mkstemp (Depends-on): Add sys_stat.
75267
75268 2006-06-29  Derek R. Price  <derek@ximbiot.com>
75269
75270         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
75271
75272 2006-06-29  Derek R. Price  <derek@ximbiot.com>
75273
75274         * m4/c-bs-a.m4: Removed.
75275
75276 2006-06-29  Derek R. Price  <derek@ximbiot.com>
75277
75278         * lib/strftime.c: Assume strftime() exists.
75279
75280 2006-06-29  Derek Price  <derek@ximbiot.com>
75281
75282         * modules/c-bs-a: Removed - \a is C89.
75283         * MODULES.html.sh: Remove c-bs-a.
75284
75285 2006-06-29  Bruno Haible  <bruno@clisp.org>
75286
75287         * modules/wcwidth (License): Change to LGPL.
75288
75289 2006-06-28  Simon Josefsson  <jas@extundo.com>
75290
75291         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
75292         on _WIN32.
75293
75294         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
75295         getnameinfo.
75296
75297 2006-06-28  Simon Josefsson  <jas@extundo.com>
75298
75299         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
75300
75301 2006-06-28  Simon Josefsson  <jas@extundo.com>
75302
75303         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
75304         functions there.  It will succeed on Windows XP, but on Windows
75305         2000 and (presumably) earlier, it will fail, and use the internal
75306         re-implementation.
75307         (use_win32_p): New function.
75308         (getaddrinfo): Use strtoul on servname, to support numeric ports.
75309         Support AI_NUMERICSERV to disable getservbyname.
75310         (getnameinfo): New function, only supports
75311         NI_NUMERICHOST|NI_NUMERICSERV for now.
75312
75313         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
75314         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
75315         getnameinfo.
75316
75317 2006-06-28  Eric Blake  <ebb9@byu.net>
75318
75319         * modules/wcwidth: New file.
75320         * modules/mbchar (Depends-on): Add wcwidth.
75321         * modules/mbswidth (Depends-on): Add wcwidth.
75322         * MODULES.html.sh: Add wcwidth.
75323
75324 2006-06-28  Eric Blake  <ebb9@byu.net>
75325
75326         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
75327         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
75328
75329 2006-06-28  Eric Blake  <ebb9@byu.net>
75330
75331         * lib/xvasprintf.h: Fix comments.
75332
75333 2006-06-28  Eric Blake  <ebb9@byu.net>
75334
75335         * lib/mbchar.h (wcwidth): Include wcwidth.h.
75336         * lib/mbswidth.c (wcwidth): Move from here...
75337         * lib/wcwidth.h: ...to this new file.
75338
75339 2006-06-28  Derek R. Price  <derek@ximbiot.com>
75340
75341         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
75342
75343         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
75344         it's obsolete.
75345         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
75346
75347 2006-06-28  Derek R. Price  <derek@ximbiot.com>
75348
75349         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
75350         Autoconf 2.60 says this stuff was obsolete.
75351
75352 2006-06-28  Bruno Haible  <bruno@clisp.org>
75353
75354         * modules/wcwidth (Files): Add m4/wchar_t.m4.
75355
75356 2006-06-28  Bruno Haible  <bruno@clisp.org>
75357
75358         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
75359         gt_TYPE_WCHAR_T.
75360
75361 2006-06-28  Bruno Haible  <bruno@clisp.org>
75362
75363         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
75364         declaration for wcwidth.
75365         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
75366
75367 2006-06-28  Bruno Haible  <bruno@clisp.org>
75368
75369         * lib/mkdtemp.c [MINGW]: Include <io.h>.
75370         (mkdir): Define using _mkdir.
75371
75372 2006-06-28  Bruno Haible  <bruno@clisp.org>
75373
75374         * lib/getaddrinfo.h: Fix POSIX URL.
75375         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
75376         _WIN32.
75377         (use_win32_p): Make static.
75378         (getaddrinfo): Reject service name if it is empty or does not consist
75379         solely of decimal digits, or if its value is > 65535.
75380         (getnameinfo): Remove useless casts.
75381
75382 2006-06-27  Simon Josefsson  <jas@extundo.com>
75383
75384         * modules/sys_select: New file, suggested by Bruno Haible, Paul
75385         Eggert and Martin Lambers.
75386
75387 2006-06-27  Simon Josefsson  <jas@extundo.com>
75388
75389         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
75390         Eggert and Martin Lambers.
75391
75392 2006-06-27  Bruno Haible  <bruno@clisp.org>
75393
75394         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
75395         result to 0, not to empty.
75396         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
75397
75398 2006-06-27  Bruno Haible  <bruno@clisp.org>
75399
75400         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
75401
75402 2006-06-26  Simon Josefsson  <jas@extundo.com>
75403
75404         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
75405         present.
75406
75407 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
75408
75409         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
75410         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
75411         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
75412
75413 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
75414
75415         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
75416
75417 2006-06-26  Bruno Haible  <bruno@clisp.org>
75418
75419         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
75420
75421 2006-06-26  Bruno Haible  <bruno@clisp.org>
75422
75423         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
75424
75425 2006-06-26  Bruno Haible  <bruno@clisp.org>
75426
75427         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
75428         SGI C compiler in pre-C99 mode.
75429         Suggested by Mark D. Baushke and Larry Jones.
75430
75431 2006-06-26  Bruno Haible  <bruno@clisp.org>
75432
75433         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
75434         WCHAR_MAX.
75435         Reported by Mark D. Baushke and Larry Jones.
75436
75437 2006-06-26  Bruno Haible  <bruno@clisp.org>
75438
75439         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
75440         in pre-C99 mode.
75441         Suggested by Mark D. Baushke and Larry Jones.
75442
75443 2006-06-23  Simon Josefsson  <jas@extundo.com>
75444             Bruno Haible  <bruno@clisp.org>
75445
75446         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
75447         Emit mostlyclean-local rule.
75448         (func_emit_tests_Makefile_am): Likewise.
75449         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
75450
75451 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
75452
75453         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
75454
75455 2006-06-23  Bruno Haible  <bruno@clisp.org>
75456
75457         * tests/test-stdint.c: Update to match ISO C 99 Technical
75458         Corrigendum 1.
75459
75460 2006-06-23  Bruno Haible  <bruno@clisp.org>
75461
75462         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
75463
75464 2006-06-23  Bruno Haible  <bruno@clisp.org>
75465
75466         * lib/stdint_.h: Treat IRIX like OpenBSD.
75467
75468 2006-06-23  Bruno Haible  <bruno@clisp.org>
75469
75470         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
75471         ISO C 99 Technical Corrigendum 1.
75472
75473 2006-06-22  Simon Josefsson  <jas@extundo.com>
75474
75475         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
75476         MinGW.
75477
75478 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
75479
75480         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
75481         needed.  Some compiler complained about some of them.  Problem reported
75482         by Larry Jones in
75483         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
75484
75485 2006-06-21  Simon Josefsson  <jas@extundo.com>
75486
75487         * tests/test-getaddrinfo.c: New file.
75488
75489         * modules/getaddrinfo-tests: New file.
75490
75491         * MODULES.html.sh: Add inet_pton.
75492
75493         * modules/inet_pton: New file.
75494
75495 2006-06-21  Simon Josefsson  <jas@extundo.com>
75496
75497         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
75498         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
75499         of using the (limited) gnulib implementation on Windows XP.
75500
75501         * m4/inet_pton.m4: New file.
75502
75503 2006-06-21  Simon Josefsson  <jas@extundo.com>
75504
75505         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
75506         variable.
75507
75508         * lib/socket_.h: Don't define WINVER.
75509
75510         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
75511         slightly modified to work in gnulib.
75512
75513 2006-06-21  Simon Josefsson  <jas@extundo.com>
75514
75515         * doc/gnulib.texi (Windows sockets): Add.
75516
75517 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
75518
75519         * lib/read-file.c (fread_file): Start with buffer allocation of
75520         0 bytes rather than 1 byte; this simplifies the code.
75521         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
75522         code to free buffer and save/restore errno.
75523         (internal_read_file): Remove unused local.
75524
75525 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
75526
75527         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
75528         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
75529         Problem reported by Denis Excoffier in
75530         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
75531
75532 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75533
75534         * modules/sys_socket, modules/socklen: Include sys/types since
75535         FreeBSD 4.x's sys/socket.h needs it.
75536
75537 2006-06-19  Simon Josefsson  <jas@extundo.com>
75538
75539         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
75540
75541 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
75542
75543         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
75544
75545 2006-06-19  Bruno Haible  <bruno@clisp.org>
75546
75547         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
75548         and FULL_PATH_INTTYPES_H in angle brackets.
75549         Reported by Mark D. Baushke <mdb@gnu.org>.
75550
75551 2006-06-17  Eric Blake  <ebb9@byu.net>
75552
75553         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
75554         errno.
75555
75556 2006-06-17  Bruno Haible  <bruno@clisp.org>
75557
75558         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
75559         <sys/inttypes.h>.
75560
75561 2006-06-17  Bruno Haible  <bruno@clisp.org>
75562
75563         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
75564         whether errno is declared. Assume <errno.h> declares errno.
75565
75566 2006-06-17  Bruno Haible  <bruno@clisp.org>
75567
75568         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
75569
75570 2006-06-17  Bruno Haible  <bruno@clisp.org>
75571
75572         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
75573         problem on Solaris 2.5.1.
75574
75575 2006-06-16  Eric Blake  <ebb9@byu.net>
75576
75577         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
75578         * lib/unicodeio.c [!defined errno]: Likewise.
75579         * lib/strtol.c [!defined errno]: Likewise.
75580         * lib/strtod.c [!defined errno]: Likewise.
75581
75582 2006-06-15  Eric Blake  <ebb9@byu.net>
75583
75584         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
75585
75586 2006-06-15  Eric Blake  <ebb9@byu.net>
75587
75588         * config/srclist.txt (ssize_t.m4): Lose sync.
75589
75590 2006-06-15  Bruno Haible  <bruno@clisp.org>
75591
75592         * modules/stdint (Files): Include m4/full-header-path.m4,
75593         m4/size_max.m4, m4/wchar_t.m4.
75594         (Makefile.am): Many more substitutions.
75595         * modules/stdint-tests: New file.
75596         * tests/test-stdint.c: New file.
75597
75598 2006-06-15  Bruno Haible  <bruno@clisp.org>
75599
75600         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
75601         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
75602         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
75603         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
75604         gl_CHECK_TYPE_SAME): New macros.
75605
75606 2006-06-15  Bruno Haible  <bruno@clisp.org>
75607
75608         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
75609
75610 2006-06-15  Bruno Haible  <bruno@clisp.org>
75611
75612         * lib/stdint_.h: Rewritten to be fully auto-configured.
75613         Fixes bug on HP-UX/IA64.
75614
75615 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
75616
75617         * lib/getdate.y (__attribute__): Don't define if already defined.
75618         Problem reported by Larry Jones.
75619         * lib/utimens.c (__attribute__): Likewise.
75620
75621 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
75622
75623         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
75624         reported by Andreas Schwab.
75625
75626 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75627             Bruno Haible  <bruno@clisp.org>
75628
75629         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
75630         check for the declaration of strnlen and a run test that exposes the
75631         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
75632         rpl_strndup.
75633
75634 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75635             Bruno Haible  <bruno@clisp.org>
75636
75637         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
75638
75639 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75640
75641         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
75642         compile test, for Tru64 4.0D.
75643
75644 2006-05-28  Karl Berry  <karl@gnu.org>
75645
75646         * config/srclist.txt (printf-args.c): lose sync.
75647
75648 2006-05-26  Martin Lambers  <marlam@marlam.de>
75649
75650         * lib/getpass.c: Updates the test for the native W32 API, and adds
75651         missing includes, thus fixing compilation warnings.
75652
75653 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
75654
75655         * lib/exclude.c (exclude_fnmatch): New function.
75656         (excluded_file_name): Call exclude_fnmatch.
75657         * lib/exclude.h (excluded_file_name): New prototype
75658
75659 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
75660
75661         * lib/tempname.c (small_open, large_open): New macros.
75662         (__open, __open64) [!_LIBC]: Remove.
75663         (__gen_tempname): Use small_open and large_open instead of __open
75664         and __open64.  This fixes a portability bug on HP-UX 11.11i
75665         reported by Simon Wing-Tang in
75666         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
75667
75668 2006-05-24  Bruno Haible  <bruno@clisp.org>
75669
75670         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
75671         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
75672         Reported by Thorsten Maerz <torte@netztorte.de> via
75673         Aaron Stone <aaron@serendipity.cx>.
75674
75675 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
75676
75677         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
75678         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
75679         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
75680         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
75681         not really conditional on the cache.
75682         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
75683
75684 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
75685
75686         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
75687         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
75688         (my_usleep): Don't mishandle maximum value.
75689
75690 2006-05-19  Jim Meyering  <jim@meyering.net>
75691
75692         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
75693
75694 2006-05-17  Bruno Haible  <bruno@clisp.org>
75695
75696         Cygwin portability.
75697         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
75698
75699 2006-05-17  Bruno Haible  <bruno@clisp.org>
75700
75701         * lib/stdint_.h: Fix recognition of Cygwin.
75702
75703 2006-05-15  Bruno Haible  <bruno@clisp.org>
75704
75705         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
75706         on libtool patch by Ralf Wildenhues.
75707
75708 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
75709
75710         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
75711         test for C99 conformance; (bool) 0.5 is an integer constant
75712         expression, but (bool) -0.5 is not.  Problem reported by Fedor
75713         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
75714
75715 2006-05-11  Simon Josefsson  <jas@extundo.com>
75716
75717         * m4/xvasprintf.m4: Fix obvious typo.
75718
75719 2006-05-11  Jim Meyering  <jim@meyering.net>
75720
75721         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
75722         James Lemley.
75723
75724 2006-05-10  Simon Josefsson  <jas@extundo.com>
75725
75726         * lib/md4.c: Typo fix, update copyright years.
75727         (K1, K2): Don't use L because it turn computations into 64-bit on
75728         64-bit platforms.
75729
75730 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
75731
75732         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
75733         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
75734         unwanted sign propagation, e.g., on hosts with 64-bit int.
75735         There still are some problems with reeelly weird theoretical hosts
75736         (e.g., 33-bit int) but it's not worth worrying about now.
75737         * lib/sha1.c (rol): Likewise.
75738         (K1, K2, K3, K4): Remove unnecessary L suffix.
75739
75740 2006-05-10  Bruno Haible  <bruno@clisp.org>
75741
75742         * lib/des.c: Cast to avoid warnings.
75743
75744 2006-05-09  Bruno Haible  <bruno@clisp.org>
75745
75746         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
75747         (Depends-on): Depend also on xsize, stdarg.
75748         (configure.ac): Add gl_XVASPRINTF.
75749
75750 2006-05-09  Bruno Haible  <bruno@clisp.org>
75751
75752         * m4/xvasprintf.m4: New file.
75753
75754 2006-05-09  Bruno Haible  <bruno@clisp.org>
75755
75756         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
75757         (EOVERFLOW): Define fallback value.
75758         (xstrcat): New function.
75759         (xvasprintf): Recognize the special case of a string concatenation.
75760
75761 2006-05-08  Eric Blake  <ebb9@byu.net>
75762
75763         * gnulib-tool (func_version): Base copyright year on CVS date.
75764         (func_emit_copyright_notice): New function.
75765         (func_emit_lib_Makefile_am): Use it.
75766         (func_emit_tests_Makefile_am): Likewise.
75767         (func_import): Likewise.
75768
75769 2006-05-08  Bruno Haible  <bruno@clisp.org>
75770
75771         * modules/stdarg: New file.
75772         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
75773
75774 2006-05-08  Bruno Haible  <bruno@clisp.org>
75775
75776         * m4/stdarg.m4: New file, from GNU gettext.
75777
75778 2006-05-08  Bruno Haible  <bruno@clisp.org>
75779
75780         * config/srclist.txt (build-aux/config.rpath): different from latest
75781         release.
75782
75783 2006-05-08  Bruno Haible  <bruno@clisp.org>
75784
75785         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
75786
75787 2006-05-05  Jim Meyering  <jim@meyering.net>
75788
75789         * m4/warning.m4: New file, derived from bison's file by the same name.
75790
75791 2006-05-03  Bruno Haible  <bruno@clisp.org>
75792
75793         * lib/stdint_.h: Shorter URL.
75794         * lib/inttypes.h: Likewise.
75795
75796 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
75797
75798         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
75799
75800 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
75801
75802         * lib/verify.h: Document the internals better.  Most of this change
75803         was written by Bruno Haible.
75804
75805 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
75806
75807         * doc/verify.texi: New file, partly based on a proposal by
75808         Bruno Haible.
75809
75810 2006-05-02  Bruno Haible  <bruno@clisp.org>
75811
75812         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
75813         test from here...
75814         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
75815
75816 2006-04-29  Bruno Haible  <bruno@clisp.org>
75817
75818         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
75819         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
75820
75821 2006-04-29  Bruno Haible  <bruno@clisp.org>
75822
75823         * gnulib-tool: Make --update option actually work.
75824
75825 2006-04-29  Bruno Haible  <bruno@clisp.org>
75826
75827         * doc/gcd.texi: New file.
75828         * doc/gnulib.texi: Include it.
75829
75830 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
75831
75832         * lib/getdate.y (get_date): When adding relative date, start with the
75833         initial time, not with the result of the first mktime call.
75834
75835 2006-04-25  Bruno Haible  <bruno@clisp.org>
75836
75837         * gnulib-tool (func_import): Output the include directives in three
75838         blocks, sorted separately.
75839         Reported by Ben Pfaff <blp@cs.stanford.edu>.
75840
75841 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
75842
75843         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
75844         to define main with arguments, for C++.  Reported by Eric Blake.
75845         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
75846         Prefer 'int main ()' to 'int main (void)', for C++.
75847         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
75848         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
75849         for 'main', for C99 and C++.
75850
75851 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
75852
75853         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
75854         Don't assume that exit status -1 is valid.
75855         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
75856         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
75857         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
75858         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
75859         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
75860         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
75861         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
75862         functions can be used without declaring them, or that you can
75863         exit with status -1.
75864         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
75865
75866 2006-04-24  Karl Berry  <karl@gnu.org>
75867
75868         * config/srclist.txt (longdouble.m4): sync lost.
75869
75870 2006-04-24  Eric Blake  <ebb9@byu.net>
75871
75872         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
75873
75874 2006-04-24  Bruno Haible  <bruno@clisp.org>
75875
75876         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
75877         poll() implementation in AIX.
75878         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
75879
75880 2006-04-24  Bruno Haible  <bruno@clisp.org>
75881
75882         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
75883         assigned exactly once.
75884
75885 2006-04-23  Claudio Fontana  <claudio@gnu.org>
75886             Bruno Haible  <bruno@clisp.org>
75887
75888         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
75889         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
75890         for AM_CPPFLAGS.
75891
75892 2006-04-23  Bruno Haible  <bruno@clisp.org>
75893
75894         * modules/copy-file: Depend on unistd.
75895         * modules/execute: Likewise.
75896         * modules/fatal-signal: Likewise.
75897         * modules/findprog: Likewise.
75898         * modules/mkdtemp : Likewise.
75899         * modules/pipe: Likewise.
75900         * modules/wait-process: Likewise.
75901
75902 2006-04-23  Bruno Haible  <bruno@clisp.org>
75903
75904         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
75905         condition was already detected.
75906         Reported by Ben Pfaff <blp@cs.stanford.edu>.
75907
75908 2006-04-23  Bruno Haible  <bruno@clisp.org>
75909
75910         * lib/copy-file.c: Include <unistd.h> unconditionally.
75911         * lib/execute.c: Likewise.
75912         * lib/fatal-signal.c: Likewise.
75913         * lib/findprog.c: Likewise.
75914         * lib/mkdtemp.c: Likewise.
75915         * lib/pipe.h: Likewise.
75916         * lib/pipe.c: Likewise.
75917         * lib/wait-process.h: Likewise.
75918
75919 2006-04-23  Bruno Haible  <bruno@clisp.org>
75920
75921         * gnulib-tool (func_usage): Fix --import description. Document
75922         --update.
75923         (func_import): Create temporary file in a temporary directory, if
75924         --dry-run is specified. Silence errors from 'grep' when there are no
75925         m4 files in $m4dir.
75926         (func_create_testdir): Silence errors from 'grep' when there are no
75927         m4 files in $m4dir.
75928         Reported by Karl Berry <karl@freefriends.org>.
75929
75930 2006-04-20  Bruno Haible  <bruno@clisp.org>
75931
75932         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
75933         one argument, so that the code will be portable to Autoconf 2.60.
75934         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
75935         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
75936         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
75937
75938 2006-04-19  Derek Price  <derek@ximbiot.com>
75939             Eric Blake  <ebb9@byu.net>
75940
75941         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
75942         rather than "/full/path.h".  Update comment to match.  Shorten &
75943         generalize m4_translit call via AS_TR_CPP.
75944
75945 2006-04-19  Derek Price  <derek@ximbiot.com>
75946             Eric Blake  <ebb9@byu.net>
75947
75948         * lib/inttypes.h: Correct grammar in comment.
75949
75950 2006-04-18  Derek Price  <derek@ximbiot.com>
75951             Paul Eggert  <eggert@cs.ucla.edu>
75952
75953         * modules/inttypes: New file.
75954         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
75955
75956 2006-04-18  Derek Price  <derek@ximbiot.com>
75957             Paul Eggert  <eggert@cs.ucla.edu>
75958
75959         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
75960         New files.
75961
75962 2006-04-18  Derek Price  <derek@ximbiot.com>
75963             Paul Eggert  <eggert@cs.ucla.edu>
75964
75965         * lib/inttypes.h: New file.
75966         * lib/strtoimax.c: Assume <inttypes.h>.
75967
75968 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
75969
75970         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
75971         isn't mounted.  Problem reported by Kir Kolyshkin.
75972
75973 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
75974
75975         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
75976         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
75977         Derek R. Price.
75978         * lib/regex.h (RE_DUP_MAX): Update comment to match current
75979         implementation.
75980
75981 2006-04-12  Eric Blake  <ebb9@byu.net>
75982
75983         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
75984         is now done automatically by the corresponding Autoconf macro.
75985
75986 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
75987
75988         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
75989         time_r.h.
75990
75991 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
75992
75993         Merge regex changes from libc, removing some of our
75994         POSIX-conformance changes that were rejected and redoing them in a
75995         less-intrusive way.
75996
75997         * lib/regcomp.c (re_compile_internal, init_dfa):
75998         Length arg is now size_t, not Idx.  All uses changed.
75999         (peek_token): Forward decl now says internal_function.
76000         (__re_error_msgid, __re_error_msgid_idx):
76001         Now static rather than extern with attribute_hidden.
76002         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
76003         For some reason libc prefers K&R style defns for external functions.
76004         (regerror) [!defined _LIBC]: Likewise.
76005         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
76006         (seek_collating_symbol_entry, lookup_collation_sequence_value):
76007         (build_range_exp, build_collating_symbol):
76008         Use K&R-style defn.
76009         (re_compile_fastmap): Use '\0' to memset, not 0.
76010         (utf8_sb_map): Make the calculations more obvious.
76011         (init_dfa, parse_bracket_exp, build_charclass_op):
76012         Call calloc and cast result, as glibc does.
76013         (init_word_char, fetch_token, peek_token, peek_token_bracket):
76014         (build_range_exp, build_collating_symbol):
76015         Now internal functions.
76016
76017         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
76018
76019         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
76020         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
76021         Don't depend on VMS; depend on __VMS instead, for POSIX
76022         namespace cleanness.
76023         (regoff_t): Define to ssize_t, not long int.
76024
76025         Remove the REG_ macros named below.  Instead, make the old names
76026         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
76027         __USE_GNU_REGEX.
76028         (REG_BACKSLASH_ESCAPE_IN_LISTS):
76029         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
76030         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
76031         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
76032         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
76033         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
76034         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
76035         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
76036         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
76037         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
76038         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
76039         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
76040         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
76041         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
76042         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
76043         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
76044         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
76045         (REG_NREGS):
76046         Remove.  All uses replaced by the old RE_* names.
76047         (RE_BACKSLASH_ESCAPE_IN_LISTS):
76048         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
76049         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
76050         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
76051         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
76052         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
76053         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
76054         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
76055         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
76056         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
76057         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
76058         Don't bother having these macros be independent of each others'
76059         values, since they no longer exist in the POSIX name space.
76060
76061         Rename the following member names back to their old names,
76062         unless !__USE_GNU_REGEX.  All uses changed back.
76063         (buffer): Renamed from re_buffer.
76064         (allocated): Renamed from re_allocated.
76065         (used): Renamed from re_used.
76066         (syntax): Renamed from re_syntax.
76067         (fastmap): Renamed from re_fastmap.
76068         (translate): Renamed from re_translate.
76069         (can_be_null): Renamed from re_can_be_null.
76070         (regs_allocated): Renamed from re_regs_allocated.
76071         (fastmap_accurate): Renamed from re_fastmap_accurate.
76072         (no_sub): Renamed from re_no_sub.
76073         (not_bol): Renamed from re_not_bol.
76074         (not_eol): Renamed from re_not_eol.
76075         (newline_anchor): Renamed from re_newline_anchor.
76076         (num_regs): Renamed from rm_num_regs.
76077         (start): Renamed from rm_start.
76078         (end): Renamed from rm_end.
76079
76080         (free_state): Move up a bit.
76081
76082         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
76083         #define to be empty.
76084         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
76085         when that is what is intended.
76086         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
76087         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
76088         (MAX): New macro.
76089         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
76090         All uses changed back to re_malloc, etc.  It's now the caller's
76091         responsibility to check for overflow; all callers changed.
76092         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
76093         (re_x2nrealloc): Remove.
76094         (free_state): Remove decl.
76095
76096         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
76097         (re_set_registers, re_exec):
76098         Use K&R-style defn.
76099
76100         2006-01-31  Roland McGrath  <roland@redhat.com>
76101
76102         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
76103         Reported by Mike Frysinger <vapier@gentoo.org>.
76104
76105         2006-01-15  Andreas Jaeger  <aj@suse.de>
76106
76107         [BZ #1950]
76108         * lib/regex_internal.c (re_string_reconstruct): Adjust for
76109         build_wcs_upper_buffer change.
76110         (build_wcs_upper_buffer): Change return type.
76111
76112         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
76113
76114         * lib/regex_internal.h: Include <stdint.h> if available.
76115
76116         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
76117
76118         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
76119
76120         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
76121
76122         * lib/regcomp.c: Adjust for changed secondary hash function.
76123
76124         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
76125
76126         * lib/regex.h: Pretty printing.
76127         Clean up namespace a bit.
76128
76129         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
76130
76131         * lib/regexec.c (update_cur_sifted_state, check_arrival,
76132         check_arrival_add_next_nodes): Avoid using uninitialized variable.
76133
76134         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
76135                     Ulrich Drepper  <drepper@redhat.com>
76136
76137         [BZ #1302]
76138         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
76139         changed.
76140         (bitset_word_t): Renamed from bitset_word.  All uses changed.
76141
76142         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
76143
76144         [BZ #281]
76145         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
76146         * lib/regcomp.c: Remove unnecessary uses of
76147         unsigned RE_TRANSLATE_TYPE.
76148         * lib/regex_internal.h: Likewise.
76149         * lib/regex_internal.c: Likewise.
76150         * lib/regexec.c: Likewise.
76151         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
76152
76153         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
76154
76155         * lib/regexec.c (find_recover_state): Remove unnecessary
76156         initialization.
76157         (transit_state_bkref): Make DFA a const pointer.
76158         (get_subexp): Likewise.
76159         (check_arrival): Likewise.
76160         (update_cur_sifted_state): Likewise.
76161         (re_search_internal): Likewise.
76162         (prune_impossible_nodes): Likewise.
76163         (acquire_init_state_context): Likewise.
76164         (proceed_next_node): Likewise.
76165         (set_regs): Likewise.
76166         (free_fail_stack_return): Likewise.
76167         (check_arrival_expand_ecl): Mark DFA parameter as const.
76168         (check_arrival_expand_ecl_sub): Likewise.
76169         (check_subexp_limits): Likewise.
76170         (sub_epsilon_src_nodes):  Likewise.
76171         (add_epsilon_src_nodes):  Likewise.
76172         (merge_state_array): Likewise.
76173         (update_regs): Likewise.
76174         (build_trtable): Likewise.
76175         (sift_states_backward): Mark MCTX parameter as const.
76176         (build_sifted_states): Likewise.
76177         (update_cur_sifted_state): Likewise.
76178         (sift_states_mkref): Likewise.
76179         (check_arrival_expand_ecl): Mark eclosure as const.
76180         (check_dst_limits_calc_pos_1): Likewise.
76181         * lib/regex_internal.h (re_match_context_t): Make dfa a const
76182         pointer.
76183
76184         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
76185
76186         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
76187         (transit_state_sb): Likewise.
76188         (transit_state_mb): Likewise.
76189         (sift_states_iter_mb): Likewise.
76190         (check_arrival_add_next_nodes): Likewise.
76191         (check_node_accept_bytes): Change first parameter to pointer-to-const.
76192         [_LIBC] (re_search_2_stub): Use mempcpy.
76193
76194         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
76195         mbrtowc for very simple UTF-8 case.
76196
76197         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
76198         a pointer-to-const.
76199         (re_acquire_state_context): Likewise.
76200         * lib/regex_internal.h: Adjust prototypes.
76201
76202         * lib/regex.c: Prevent using C++ compilers.
76203
76204         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
76205         (re_acquire_state_context): Likewise.
76206
76207 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
76208
76209         * modules/regex (Depends-on): Add ssize_t.
76210
76211 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
76212
76213         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
76214         translation table.
76215
76216 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
76217
76218         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
76219
76220 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
76221             Bruno Haible  <bruno@clisp.org>
76222
76223         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
76224         <sys/types.h> and <inttypes.h>.
76225
76226 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76227
76228         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
76229         `__error_t_defined', so argp.h will not typedef the former.
76230
76231 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
76232
76233         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
76234         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
76235         glibc names.  Even if glibc is changed to conform to POSIX, the
76236         traditional names will be available anyway, since regex depends on
76237         the extensions module.  Also, fix a longstanding typo in the
76238         implementation of Spencer ERE test #75 from grep 2.3.  Problems
76239         reported by Emanuele Giaquinta.  Also, change sense of cached
76240         variable, so that the message makes sense.
76241
76242 2006-03-24  Simon Josefsson  <jas@extundo.com>
76243
76244         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
76245         including some doc fixes.
76246         (base64_encode_alloc): Fix +1 bug on allocation failures.
76247
76248 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76249
76250         * lib/base64.c (base64_encode): Do not read past end of array with
76251         unsanitized input on systems with CHAR_BIT > 8.
76252
76253 2006-03-24  Eric Blake  <ebb9@byu.net>
76254
76255         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
76256
76257 2006-03-22  Karl Berry  <karl@gnu.org>
76258
76259         * config/srclist.txt (*setenv.[ch]): get from coreutils.
76260         * config/srclistvars.sh (COREUTILS): new var.
76261
76262 2006-03-17  Jim Meyering  <jim@meyering.net>
76263
76264         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
76265         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
76266
76267 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
76268
76269         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
76270         no longer needs it.  Instead, check that regoff_t is as least
76271         as wide as ptrdiff_t.
76272
76273         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
76274         so that our regex.h stays compatible with the installed regex.
76275         This is helpful for installers who configure --without-included-regex.
76276         Problem reported by Emanuele Giaquinta.
76277
76278 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
76279
76280         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
76281         Typedef to long int, not to off_, as POSIX will likely change
76282         in that direction.
76283
76284 2006-03-15  Eric Blake  <ebb9@byu.net>
76285
76286         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
76287
76288 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
76289
76290         * lib/argp-help.c (validate_uparams): Fix typo
76291         * lib/argp-parse.c (argp_default_options): Consistently begin help
76292         messages with a lowercase letter.
76293
76294 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
76295
76296         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
76297         overrun buffers and shouldn't be used (much as gets shouldn't be
76298         used).
76299         * lib/time_r.c (asctime_r, ctime_r): Likewise.
76300
76301 2006-03-08  Simon Josefsson  <jas@extundo.com>
76302
76303         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
76304         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
76305
76306 2006-03-08  Simon Josefsson  <jas@extundo.com>
76307
76308         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
76309         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
76310
76311 2006-03-08  Simon Josefsson  <jas@extundo.com>
76312
76313         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
76314         signal that configure disabled the device.
76315
76316 2006-03-08  Simon Josefsson  <jas@extundo.com>
76317
76318         * build-aux/maint.mk: Fix refresh-po, to handle no translated
76319         languages.
76320
76321 2006-03-07  Simon Josefsson  <jas@extundo.com>
76322
76323         * modules/getopt (Depends-on): Add unistd.
76324
76325         * modules/unistd: New file.
76326
76327 2006-03-07  Simon Josefsson  <jas@extundo.com>
76328
76329         * modules/gc-random: New file.
76330
76331 2006-03-07  Simon Josefsson  <jas@extundo.com>
76332
76333         * m4/unistd_h.m4: New file.
76334
76335 2006-03-07  Simon Josefsson  <jas@extundo.com>
76336
76337         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
76338         test to be side-effect free by storing the result in the cache
76339         variable gl_cv_lib_readline, and moving the assignment of
76340         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
76341         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
76342
76343 2006-03-07  Simon Josefsson  <jas@extundo.com>
76344
76345         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
76346         error on missing devices (the functions will return an error).
76347
76348         * m4/gc.m4: Move random stuff to gc-random.m4
76349
76350 2006-03-07  Simon Josefsson  <jas@extundo.com>
76351
76352         * lib/unistd_.h: New file.
76353
76354 2006-03-07  Simon Josefsson  <jas@extundo.com>
76355
76356         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
76357
76358 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
76359
76360         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
76361         Problem reported by Juan Manuel Guerrero.
76362
76363 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
76364
76365         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
76366         the unistd module.
76367         * lib/getlogin_r.c: Likewise.
76368         * lib/getlogin_r.h: Likewise.
76369         * lib/glob.c: Likewise.
76370         * lib/pagealign_alloc.c: Likewise.
76371         * lib/unistd_.h: Remove; no longer needed.
76372
76373 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
76374
76375         * MODULES.html.sh (Support for systems lacking POSIX:2001):
76376         Add unistd.
76377         * modules/c-stack (Depends-on): Add unistd.
76378         * modules/getlogin_r: Likewise.
76379         * modules/glob: Likewise.
76380         * modules/pagealign_alloc: Likewise.
76381         * modules/unistd (Files): Remove lib/unistd_.h.
76382         (EXTRA_DIST): Remove.
76383         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
76384         need unistd_.h.
76385         (MOSTLYCLEANFILES): Remove unistd.h-t.
76386
76387 2006-03-03  Simon Josefsson  <jas@extundo.com>
76388
76389         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
76390
76391 2006-03-03  Simon Josefsson  <jas@extundo.com>
76392
76393         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
76394         libidn and bison.
76395
76396 2006-03-03  Simon Josefsson  <jas@extundo.com>
76397
76398         * build-aux/maint.mk: Add indent target.
76399
76400 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
76401
76402         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
76403         our replacement poll.h in any case, to avoid a differing
76404         declaration from a system header.  Seen on AIX.
76405
76406 2006-03-01  Simon Josefsson  <jas@extundo.com>
76407
76408         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
76409         <kasal@ucw.cz>.
76410
76411 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
76412
76413         * modules/gettime (Depends-on): Add extensions module.
76414         * modules/nanosleep (Depends-on): Likewise.
76415         * modules/settime (Depends-on): Likewise.
76416
76417 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
76418
76419         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
76420         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
76421         pedantically.
76422         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
76423         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
76424
76425         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
76426         not "==".  Reported by Ralf Wildenhues.
76427
76428 2006-03-01  Karl Berry  <karl@gnu.org>
76429
76430         * doc/Copyright/request-*: new files, synced from gnuorg.
76431
76432 2006-03-01  Karl Berry  <karl@gnu.org>
76433
76434         * config/srclist.txt (Copyright/*): new entries.
76435
76436 2006-02-28  Simon Josefsson  <jas@extundo.com>
76437
76438         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
76439
76440 2006-02-27  Simon Josefsson  <jas@extundo.com>
76441
76442         * lib/base64.h: Indent #define's.  From Jim Meyering
76443         <jim@meyering.net>.
76444
76445 2006-02-27  Jim Meyering  <jim@meyering.net>
76446
76447         Revert the change of 2006-02-24, so these files can continue
76448         to be sync'd from gettext.
76449         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
76450         of `config.h'.
76451
76452 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
76453
76454         * modules/intprops: New file.
76455         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
76456         Add intprops.
76457         * modules/getloadavg (Files): Remove lib/intprops.h.
76458         (Depends-on): Add intprops.
76459         * modules/human: Likewise.
76460         * modules/inttostr: Likewise.
76461         * modules/openat: Likewise.
76462         * modules/sig2str: Likewise.
76463         * modules/userspec: Likewise.
76464         * modules/utimecmp: Likewise.
76465         * modules/xnanosleep: Likewise.
76466         * modules/xstrtol: Likewise.
76467
76468 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
76469
76470         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
76471         * modules/lock-tests (TESTS): Use $(EXEEXT).
76472         * modules/tls-tests: Likewise.
76473         * modules/argp-tests: Likewise.
76474         (check_PROGRAMS): New var, replacing...
76475         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
76476
76477 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76478
76479         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
76480         `config.h'.
76481
76482 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
76483
76484         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
76485
76486 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76487
76488         Sync from coreutils.
76489         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
76490         gl_CHDIR_SAFER.
76491
76492 2006-02-22  Jim Meyering  <jim@meyering.net>
76493
76494         Sync from coreutils.
76495         * m4/chdir-safer.m4: New file.
76496
76497 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
76498
76499         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
76500         AT_FDCWD exceeds INT_MAX.
76501         * lib/openat.h (AT_FDCWD): Likewise.
76502
76503 2006-02-17  Eric Blake  <address@hidden>
76504
76505         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
76506
76507 2006-02-16  Simon Josefsson  <jas@extundo.com>
76508
76509         * modules/getaddrinfo (Depends-on): Add sys_socket.
76510
76511 2006-02-15  Simon Josefsson  <jas@extundo.com>
76512
76513         * build-aux/maint.mk: Add dsyntax-check rule.
76514
76515 2006-02-15  Eric Blake  <ebb9@byu.net>
76516
76517         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
76518         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
76519         'present but cannot compile' warnings on cygwin.
76520         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
76521         use ws2tcpip.h if sys/socket.h works.
76522         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
76523         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
76524
76525 2006-02-14  Simon Josefsson  <jas@extundo.com>
76526
76527         * modules/maintainer-makefile (Files): Rename.
76528
76529         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
76530         and (the local) Makefile.cfg to maint-cfg.mk.
76531
76532         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
76533         to the latter.
76534
76535         * modules/maintainer-makefile: New module.
76536
76537         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
76538         severaly stripped to make it possible to build it up from scratch
76539         with reliable tests.
76540
76541         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
76542         fixes to permit overriding the default actions when configure and
76543         makefile are not available.
76544
76545 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
76546
76547         Sync from coreutils.
76548         * modules/lstat (Depends-on): Don't depend on xalloc.
76549         (License): Change from GPL to LGPL, since this is now simply a
76550         replacement for a libc function.
76551
76552 2006-02-14  Jim Meyering  <jim@meyering.net>
76553
76554         Sync from coreutils.
76555
76556         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
76557         failure on deficient systems, and simplify gnulib lgpl dependencies.
76558         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
76559         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
76560
76561         * lib/xalloc-die.c: Remove unused definition of N_.
76562
76563 2006-02-14  Jim Meyering  <jim@meyering.net>
76564
76565         Sync from coreutils.
76566         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
76567         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
76568         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
76569         double-quote uses of that variable, to accommodate the rare case in
76570         which getmntent is available in none of the libraries checked.  This
76571         happens at least on FreeBSD 5.0.
76572
76573 2006-02-13  Simon Josefsson  <jas@extundo.com>
76574
76575         * gnulib-tool (Usage): Fix --import, from
76576         karl@freefriends.org (Karl Berry).
76577
76578 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
76579
76580         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
76581
76582 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
76583
76584         * lib/argp-namefrob.h: Restore changes accidentally lost during the
76585         "autoupdate" on 2005-12-12.
76586
76587 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
76588
76589         * modules/closeout (Depends-on): Remove atexit.
76590
76591 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
76592
76593         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
76594         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
76595
76596 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
76597
76598         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
76599         __EXTENSIONS__ if this causes compilation to fail.  Problem
76600         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
76601         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
76602
76603 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
76604
76605         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
76606         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
76607         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
76608         All uses changed.
76609
76610 2006-01-26  Simon Josefsson  <jas@extundo.com>
76611
76612         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
76613         prototype is visible on mingw32.
76614
76615         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
76616         for mingw32.
76617
76618         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
76619         mingw32).
76620
76621 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
76622
76623         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
76624         attempt to open for write; this always fails, at least on POSIX
76625         hosts.  This reinstates the 2006-01-09 change, which was
76626         inadvertently removed.
76627
76628 2006-01-26  Bruno Haible  <bruno@clisp.org>
76629
76630         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
76631         Reported by Paul Eggert.
76632
76633 2006-01-26  Bruno Haible  <bruno@clisp.org>
76634             Paul Eggert  <eggert@cs.ucla.edu>
76635
76636         * lib/stdbool_.h (_Bool)
76637         [(! (defined __cplusplus || defined __BEOS__)
76638           && !defined __GNUC__
76639           && !(defined __HP_cc || defined __xlc__
76640                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
76641                || defined __sgi))]:
76642         #define to signed char in these cases too; this simplifies
76643         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
76644         etc., separately) and makes it more conservative.
76645
76646 2006-01-25  Simon Josefsson  <jas@extundo.com>
76647
76648         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
76649         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
76650         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
76651
76652 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
76653
76654         * lib/argp-namefrob.h: Bugfix. Remove stray #
76655
76656 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
76657
76658         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
76659         so that we test the test.
76660         Check for yet another HP-UX cc bug involving *bool |= bool.
76661
76662 2006-01-25  Karl Berry  <karl@gnu.org>
76663
76664         * config/srclist.txt (vasnprintf.c): sync lost.
76665
76666 2006-01-25  Jim Meyering  <jim@meyering.net>
76667
76668         Sync from the stable (b5) branch of coreutils:
76669
76670         * lib/fts.c (fts_children): Don't let close() clobber errno from
76671         failed fchdir().
76672
76673         * lib/fts.c (fts_stat): When following a symlink-to-directory,
76674         don't necessarily interpret stat-fails+lstat-succeeds as indicating
76675         a dangling symlink.  That can also happen at least for ELOOP.
76676         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
76677         FYI, this bug predates the inclusion of fts.c in coreutils.
76678
76679         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
76680         in their own block, so pre-c99 compilers don't object.
76681
76682         Avoid the double-free (first in fts_read, second in fts_close) that
76683         would occur when an `active' directory is made inaccessible (e.g.,
76684         via chmod a-x) during a traversal.
76685         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
76686         before returning.  Reproduce this failure by
76687         mkdir -p a/b; cd a; chmod a-x . b
76688         Reported by Stavros Passas.
76689
76690 2006-01-25  Jim Meyering  <jim@meyering.net>
76691
76692         * lib/fileblocks.c: Remove more useless parentheses.
76693         * lib/readutmp.h: Likewise.
76694
76695 2006-01-25  Bruno Haible  <bruno@clisp.org>
76696
76697         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
76698         warnings.
76699         Reported by Paul Eggert.
76700
76701 2006-01-25  Bruno Haible  <bruno@clisp.org>
76702
76703         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
76704         rid of a trap command. For Solaris sh.
76705         Reported by Mark D. Baushke <mdb@gnu.org>.
76706
76707 2006-01-24  Simon Josefsson  <jas@extundo.com>
76708
76709         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
76710         Bruno.
76711
76712 2006-01-24  Karl Berry  <karl@gnu.org>
76713
76714         * config/srclist.txt (argp-namefrob.h): sync lost.
76715
76716 2006-01-24  Jim Meyering  <jim@meyering.net>
76717
76718         * modules/openat (Files): Add lib/intprops.h.
76719         From Mark D. Baushke.
76720
76721 2006-01-24  Jim Meyering  <jim@meyering.net>
76722
76723         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
76724         Reported by Mark D. Baushke.
76725
76726 2006-01-24  Jim Meyering  <jim@meyering.net>
76727
76728         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
76729
76730 2006-01-24  Bruno Haible  <bruno@clisp.org>
76731
76732         * modules/strnlen (Maintainer): Change from glibc to all.
76733
76734 2006-01-24  Bruno Haible  <bruno@clisp.org>
76735
76736         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
76737         Patch by Paul Eggert.
76738
76739 2006-01-24  Bruno Haible  <bruno@clisp.org>
76740
76741         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
76742         already has it.
76743         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
76744         2005-11-26.
76745
76746         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
76747         'signed char' to avoid problems with the built-in _Bool type.
76748         Reported by Paul Eggert on 2005-11-26.
76749
76750 2006-01-24  Bruno Haible  <bruno@clisp.org>
76751
76752         * gnulib-tool (func_import): Avoid constructing complicated sed
76753         expressions inside backquote.
76754         Report and solution by Mark D. Baushke <mdb@gnu.org>.
76755
76756 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
76757
76758         These changes imported from libc.
76759         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
76760         test and two separate function calls.
76761         * lib/strndup.c (__strndup): Add libc_hidden_def.
76762
76763 2006-01-23  Simon Josefsson  <jas@extundo.com>
76764
76765         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
76766         Remove the test_*_SOURCES variable: automake infers it by default.
76767         * modules/tls-tests: Likewise.
76768
76769 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
76770
76771         Work around porting bugs reported by Dieter in
76772         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
76773         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
76774         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
76775         Include "getopt.h" first, to check interface.
76776         (getenv): Declare only if defined HAVE_DECL_GETENV &&
76777         !HAVE_DECL_GETENV.
76778         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
76779         (__strndup): Revert to K&R-style function dfns, the glibc style.
76780         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
76781         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
76782         Include strnlen.h first, to get prototype properly.
76783         (strnlen): Renamed from __strnlen.
76784         Remove weak alias.
76785
76786 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
76787
76788         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
76789
76790 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
76791
76792         * config/srclist.txt: Adjust to reflect glibc reorganization.
76793         This affects only comments.
76794
76795 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
76796
76797          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
76798          Reported by Bruce Korb <bkorb@gnu.org>.
76799
76800 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
76801
76802         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
76803         to pacify gcc -Wswitch-default.
76804
76805 2006-01-22  Bruno Haible  <bruno@clisp.org>
76806
76807         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
76808         temporary buffer for sprintf, take into account the precision also
76809         for 'd', 'i', 'u', 'o', 'x', 'X'.
76810
76811 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
76812
76813         * modules/argp-tests: New module
76814         * tests/test-argp.c: New file
76815         * tests/test-argp-2.sh: New file
76816
76817 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
76818
76819         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
76820         (__argp_base_name): Removed
76821         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
76822         typo.
76823         (__argp_base_name): Provide macro definition or extern declaration
76824         depending on the configuration
76825
76826 2006-01-20  Simon Josefsson  <jas@extundo.com>
76827
76828         * modules/inet_ntop (Depends-on): Depend on sys_socket.
76829
76830 2006-01-20  Simon Josefsson  <jas@extundo.com>
76831
76832         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
76833
76834 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
76835
76836         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
76837         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
76838         Suggested by Bruno Haible.
76839
76840 2006-01-20  Karl Berry  <karl@gnu.org>
76841
76842         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
76843         until changes propagate, I guess.
76844
76845 2006-01-19  Simon Josefsson  <jas@extundo.com>
76846
76847         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
76848
76849 2006-01-19  Simon Josefsson  <jas@extundo.com>
76850
76851         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
76852
76853 2006-01-19  Simon Josefsson  <jas@extundo.com>
76854
76855         * gnulib-tool: Set check_PROGRAMS.
76856
76857         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
76858         modules/des-tests, modules/gc-arcfour-tests,
76859         modules/gc-arctwo-tests, modules/gc-des-tests,
76860         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
76861         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
76862         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
76863         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
76864         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
76865         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
76866         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
76867         test_*_SOURCES.
76868
76869 2006-01-18  Simon Josefsson  <jas@extundo.com>
76870
76871         * modules/socklen (Depends-on): Depend on sys_socket.
76872
76873 2006-01-18  Simon Josefsson  <jas@extundo.com>
76874
76875         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
76876         modules/des-tests, modules/gc-arcfour-tests,
76877         modules/gc-arctwo-tests, modules/gc-des-tests,
76878         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
76879         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
76880         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
76881         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
76882         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
76883         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
76884         $(EXEEXT) to automake TESTS variable, for mingw32.
76885
76886 2006-01-17  Simon Josefsson  <jas@extundo.com>
76887
76888         * modules/socklen (Include): Need sys/socket.h.
76889
76890 2006-01-17  Bruno Haible  <bruno@clisp.org>
76891
76892         * modules/ssize_t (Include): Add <sys/types.h>.
76893
76894 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
76895
76896         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
76897         it's not portable and it doesn't work with cross-compiles.
76898         Problem reported by Bruno Haible.  Fix missing-$ typo in
76899         'test "gl_cv_ignore_unused_libraries" ...' that prevented
76900         -zignore from being used with Sun's C compiler.
76901
76902 2006-01-12  Simon Josefsson  <jas@extundo.com>
76903
76904         * lib/base64.c: Fix warning, reported by Bruno Haible
76905         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
76906
76907 2006-01-12  Bruno Haible  <bruno@clisp.org>
76908
76909         * modules/ldd: New file.
76910         * build-aux/ldd.sh.in: New file.
76911         * MODULES.html.sh (Support for building libraries and executables): Add
76912         ldd.
76913
76914 2006-01-12  Bruno Haible  <bruno@clisp.org>
76915
76916         * m4/ldd.m4: New file.
76917
76918 2006-01-12  Bruno Haible  <bruno@clisp.org>
76919
76920         * gnulib-tool (func_import, func_create_testdir): Don't go into an
76921         endless loop while replacing $auxdir with build-aux.
76922
76923 2006-01-11  Simon Josefsson  <jas@extundo.com>
76924
76925         * lib/stdint_.h (SIZE_MAX): Add missing (.
76926
76927 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
76928
76929         Sync from coreutils.
76930         * lib/md5.c: Fix commentary typos.
76931         (alignof, UNALIGNED_P): No need for a GCC-specific version.
76932         * lib/md5.h (__attribute__): Remove; unused.
76933         * lib/sha1.c: Fix commentary to match md5 better.
76934         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
76935         so that we don't need to worry about alignment.  All uses changed.
76936         This merges the 2005-10-28 md5 change into sha1.
76937
76938 2006-01-11  Jim Meyering  <jim@meyering.net>
76939
76940         Sync from coreutils.
76941         * lib/md5.c (OP): Fix spacing.
76942
76943 2006-01-11  Bruno Haible  <bruno@clisp.org>
76944
76945         Ensure automatic ordering between gl_LOCK and gl_ARGP.
76946         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
76947         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
76948
76949 2006-01-11  Bruno Haible  <bruno@clisp.org>
76950
76951         Ensure automatic ordering between gl_LOCK and gl_ARGP.
76952         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
76953         the "early" section as well.
76954
76955 2006-01-11  Bruno Haible  <bruno@clisp.org>
76956
76957         Avoid "ar: no archive members specified" error on MacOS X.
76958         * gnulib-tool (func_modules_add_dummy): New function.
76959         (func_import, func_create_testdir): Invoke it.
76960
76961 2006-01-11  Bruno Haible  <bruno@clisp.org>
76962
76963         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
76964         with $auxdir in AC_CONFIG_FILES statements.
76965
76966 2006-01-11  Bruno Haible  <bruno@clisp.org>
76967
76968         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
76969         Initialize also noinst_HEADERS to empty.
76970
76971 2006-01-11  Bruno Haible  <bruno@clisp.org>
76972
76973         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
76974         variables.
76975         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
76976         autoreconf.
76977
76978 2006-01-11  Bruno Haible  <bruno@clisp.org>
76979
76980         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
76981         overridable by the user.
76982         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
76983
76984 2006-01-10  Simon Josefsson  <jas@extundo.com>
76985
76986         * modules/sys_socket: New file.
76987
76988 2006-01-10  Simon Josefsson  <jas@extundo.com>
76989
76990         * m4/sys_socket_h.m4: New file.
76991
76992 2006-01-10  Simon Josefsson  <jas@extundo.com>
76993
76994         * lib/socket_.h: New file.
76995
76996 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
76997
76998         * modules/readutmp (Maintainer): Add myself.
76999
77000 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
77001
77002         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
77003         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
77004         People who are still concerned with buggy memcmp implementations
77005         can invoke gl_FUNC_MEMCMP themselves.
77006
77007 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
77008
77009         * lib/regex_internal.h (BITSET_WORD_BITS):
77010         Work around a bug in 64-bit PGC (before version 6.1-2), where the
77011         preprocessor mishandles large unsigned values as if they were signed.
77012         Problem reported by Claudio Fontana in
77013         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
77014
77015 2006-01-10  Jim Meyering  <jim@meyering.net>
77016
77017         Avoid the double-free (first in fts_read, second in fts_close) that
77018         would occur when an `active' directory is made inaccessible (e.g.,
77019         via chmod a-x) during a traversal.
77020         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
77021         before returning.  Reproduce this failure by
77022         mkdir -p a/b; cd a; chmod a-x . b
77023         Reported by Stavros Passas.
77024
77025         Sync from coreutils.
77026         * lib/sha1.c: Tweak grammar in a comment.
77027
77028 2006-01-10  Jim Meyering  <jim@meyering.net>
77029
77030         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
77031         Patch by Joerg Sonnenberger.
77032
77033 2006-01-10  Bruno Haible  <bruno@clisp.org>
77034
77035         * modules/readutmp: Depend on module free.
77036         * modules/strtok_r: Depend on module restrict.
77037
77038 2006-01-10  Bruno Haible  <bruno@clisp.org>
77039
77040         * modules/gettext (configure.ac): Add an invocation of
77041         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
77042
77043 2006-01-10  Bruno Haible  <bruno@clisp.org>
77044
77045         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
77046         Reported by Werner Lemberg <wl@gnu.org>.
77047
77048 2006-01-10  Bruno Haible  <bruno@clisp.org>
77049
77050         * lib/localcharset.c: Update from GNU gettext.
77051
77052 2006-01-10  Bruno Haible  <bruno@clisp.org>
77053
77054         * lib/argp.h (__const): Remove macro. Use const instead.
77055         * lib/argp-fmtstream.h (__const): Likewise.
77056         * lib/glob_.h (__const): Remove macro.
77057         * lib/glob-libc.h: Use const instead of __const.
77058
77059 2006-01-10  Bruno Haible  <bruno@clisp.org>
77060
77061         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
77062         variable.
77063         Needed to avoid an automake error regarding the 'gettext' module.
77064
77065 2006-01-09  Simon Josefsson  <jas@extundo.com>
77066
77067         * modules/inet_ntop (Depends-on): Add restrict.
77068
77069 2006-01-09  Simon Josefsson  <jas@extundo.com>
77070
77071         * modules/gc-rijndael-tests (License): Put under LGPL.
77072
77073         * modules/gc-des-tests (License): Likewise.
77074
77075         * modules/gc-arcfour-tests (License): Likewise.
77076
77077         * modules/gc-arctwo-tests (License): Likewise.
77078
77079         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
77080
77081         * modules/gc-hmac-sha1-tests (Files): Likewise.
77082
77083         * modules/gc-hmac-md5-tests (License): Likewise.
77084
77085         * modules/gc-sha1-tests (License): Likewise.
77086
77087         * modules/gc-md5-tests (License): Likewise.
77088
77089         * modules/gc-md4-tests (License): Likewise.
77090
77091         * modules/gc-md2-tests (License): Likewise.
77092
77093         * modules/gc-tests (License): Likewise.
77094
77095         * modules/des-tests (License): Likewise.
77096
77097         * modules/md4-tests (License): Likewise.
77098
77099         * modules/md2-tests (License): Likewise.
77100
77101 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
77102
77103         Sync from coreutils:
77104
77105         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
77106         * modules/lib-ignore: New file.
77107         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
77108         chdir-safer.m4, lchmod.m4.
77109         * modules/openat: Add mkdirat.c, openat-priv.h.
77110
77111 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
77112
77113         Sync from coreutils.
77114         * m4/lib-ignore.m4: New file.
77115         * m4/lchmod.m4: New file.
77116
77117 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
77118
77119         Sync from coreutils.
77120         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
77121         for write access: POSIX says that must fail.
77122         * lib/fts.c (diropen): Likewise.
77123         * lib/save-cwd.c (save_cwd): Likewise.
77124         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
77125         well, for minor improvements on hosts that lack O_DIRECTORY.
77126         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
77127         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
77128         Fall back on chown if open failed with EACCES.
77129
77130         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
77131         Report an error at compile-time if only a 1-second nominal clock
77132         resolution is found.
77133
77134         * lib/lchmod.h: New file.
77135         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
77136         (make_dir_parents): Use lchown rather than chown, and
77137         lchmod rather than chmod.
77138
77139         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
77140         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
77141         "proc" reported by n0dalus.
77142
77143         * lib/mountlist.c: Include <limits.h>.
77144         (dev_from_mount_options)
77145         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
77146         New function.  It no longer assumes "dev=" has the System V meaning
77147         on Linux (since it doesn't).  It also parses "dev=" more carefully.
77148         (read_file_system_list)
77149         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
77150         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
77151         dev= in that case.
77152
77153         * lib/posixtm.h (PDS_PRE_2000): New macro.
77154         * lib/posixtm.c (year): Arg is now syntax_bits rather than
77155         allow_century.  All usages changed.  Reject dates outside the range
77156         1969-1999 if PDS_PRE_2000 is used.
77157
77158 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
77159
77160         Sync from coreutils.
77161         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
77162         (Time of day items): Mention the possibility of leap seconds.
77163         Problem reported by Dr. David Alan Gilbert.
77164
77165 2006-01-09  Jim Meyering  <jim@meyering.net>
77166
77167         Sync from coreutils.
77168
77169         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
77170
77171         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
77172
77173         * lib/modechange.c (mode_compile): Reject an invalid mode string
77174         that starts with an octal digit.  From Andreas Gruenbacher.
77175
77176         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
77177         and dup to open_safer and dup_safer, respectively.
77178         (openat_permissive): Fix typo in comment.
77179
77180         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
77181         "gettext.h"; either no longer needed or are guaranteed by openat.h.
77182         (_): Remove; no longer needed.
77183         (openat): Renamed from rpl_openat; no need for rpl_openat
77184         since openat.h renames openat for us.
77185         Replace most of the body with a call to openat_permissive,
77186         to avoid duplicate code.
77187         Port to (probably hypothetical) environments were mode_t is
77188         wider than int.
77189         (openat_permissive): Require mode arg, so that we can check
77190         types better.  Put it just after flags.  Change cwd failure
77191         indicator from pointer-to-bool to pointer-to-errno-value.
77192         All callers changed.
77193         Invoke openat_save_fail and/or openat_restore_fail if
77194         cwd_errno is null, so that openat can call us.
77195         (openat_permissive, fdopendir, fstatat, unlinkat):
77196         Simplify errno handling to avoid some duplicate code,
77197         as it's OK to set errno on success.
77198         * lib/openat.h: Revamp code so that function macros depend on
77199         __OPENAT_PREFIX only, not also on AT_FDCWD.
77200         (openat_ro): Remove.  Caller changed to use openat_permissive.
77201         (openat_permissive): Now a macro, if not a function.
77202         (openat_restore_fail, openat_save_fail): Now always functions,
77203         since mkdirat needs them even if __OPENAT_PREFIX is defined.
77204
77205         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
77206         and openat.c.
77207         * lib/mkdirat.c: Include openat-priv.h.
77208         Remove definitions of macros defined therein.
77209         * lib/openat.c: Likewise.
77210
77211         * lib/mkdirat.c (mkdirat): New file and function.
77212         * lib/openat.h (mkdirat): Declare.
77213
77214         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
77215
77216         * lib/openat.h (openat_permissive): Declare.
77217         (openat_ro): Define.
77218
77219         * lib/openat.c (EXPECTED_ERRNO): New macro.
77220         (openat_permissive): New function -- used in remove.c rewrite.
77221         (all functions): Set errno just before returning, only if there
77222         was an actual failure.
77223         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
77224
77225         Emulate openat-family functions using Linux's procfs, if possible.
77226         Idea and some code based on Ulrich Drepper's glibc changes.
77227
77228         * lib/openat.c: (BUILD_PROC_NAME): New macro.
77229         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
77230         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
77231         before falling back on save_cwd and restore_cwd.
77232         (fdopendir, fstatat, unlinkat): Likewise.
77233
77234         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
77235         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
77236
77237         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
77238         as second argument to va_arg.  Otherwise, some versions of gcc
77239         warn that `if this code is reached, the program will abort'.
77240
77241 2006-01-09  Jim Meyering  <jim@meyering.net>
77242
77243         Sync from coreutils.
77244         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
77245         Require openat-priv.h.
77246
77247 2006-01-09  Bruno Haible  <bruno@clisp.org>
77248
77249         * modules/strnlen (Include): Use strnlen.h.
77250
77251 2006-01-09  Bruno Haible  <bruno@clisp.org>
77252
77253         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
77254
77255 2006-01-09  Bruno Haible  <bruno@clisp.org>
77256
77257         * lib/sysexit_.h (EX_OK): New macro.
77258         Suggested by Martin Lambers <marlam@marlam.de>.
77259
77260 2006-01-09  Bruno Haible  <bruno@clisp.org>
77261
77262         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
77263         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
77264
77265 2006-01-09  Bruno Haible  <bruno@clisp.org>
77266
77267         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
77268         numbers.
77269
77270 2006-01-09  Bruno Haible  <bruno@clisp.org>
77271
77272         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
77273         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
77274         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
77275         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
77276
77277 2006-01-09  Bruno Haible  <bruno@clisp.org>
77278
77279         * build-aux/javacomp.sh.in: New file, moved from lib/.
77280         * modules/javacomp-script (Files): Update.
77281         (configure.ac): Add AC_CONFIG_FILES invocation.
77282         (EXTRA_DIST): Remove variable.
77283
77284         * build-aux/javaexec.sh.in: New file, moved from lib/.
77285         * modules/javaexec (Files): Update.
77286         (configure.ac): Add AC_CONFIG_FILES invocation.
77287         (EXTRA_DIST): Remove javaexec.sh.in.
77288
77289         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
77290         * modules/csharpcomp-script (Files): Update.
77291         (configure.ac): Add AC_CONFIG_FILES invocation.
77292         (EXTRA_DIST): Remove variable.
77293
77294         * build-aux/csharpexec.sh.in: New file, moved from lib/.
77295         * modules/csharpexec (Files): Update.
77296         (configure.ac): Add AC_CONFIG_FILES invocation.
77297         (EXTRA_DIST): Remove csharpexec.sh.in.
77298
77299 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
77300
77301         Sync from coreutils.
77302
77303         Add POSIX ACL support
77304         * lib/acl.h (copy_acl, set_acl): Add declarations.
77305         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
77306         systems other than Linux.
77307         (chmod_or_fchmod): New function: use fchmod when possible,
77308         and chmod otherwise.
77309         (file_has_acl): Add a POSIX ACL implementation, with a
77310         Linux-specific subcase.
77311         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
77312         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
77313         acls are unsupported.
77314         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
77315         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
77316         are unsupported.
77317
77318 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
77319
77320         Sync from coreutils.
77321         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
77322
77323 2006-01-07  Bruno Haible  <bruno@clisp.org>
77324
77325         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
77326         gl_EARLY.
77327
77328 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
77329
77330         * lib/strftime.c (tzname): Don't declare if it is already #defined.
77331         Problem reported for Mingw by Mark Junker.
77332
77333 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
77334
77335         * README: Gnulib normally doesn't generate a tarball.
77336
77337 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
77338
77339         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
77340         long int, not int, for nanosecond counts, so that people who are
77341         used to POSIX struct timespec won't be surprised.  Reported by Jim
77342         Meyering.
77343
77344 2005-12-28  Bruno Haible  <bruno@clisp.org>
77345
77346         * build-aux/config.rpath: Update from GNU gettext.
77347
77348 2005-12-16  Jim Meyering  <jim@meyering.net>
77349
77350         * modules/fprintftime: New module.
77351         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
77352
77353 2005-12-16  Jim Meyering  <jim@meyering.net>
77354
77355         * m4/fprintftime.m4: New file.
77356
77357 2005-12-16  Jim Meyering  <jim@meyering.net>
77358
77359         * lib/fprintftime.c, lib/fprintftime.h: New files.
77360
77361 2005-12-15  Simon Josefsson  <jas@extundo.com>
77362
77363         * modules/socklen (configure.ac): Fix M4 macro name, to align with
77364         new m4/socklen.m4.
77365
77366 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
77367
77368         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
77369         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
77370
77371 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
77372
77373         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
77374         * lib/argp-help.c (fill_in_uparams): Check if the constructed
77375         struct uparams is valid. Fall back to the default values if it is
77376         not.
77377
77378 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
77379
77380         * modules/argp (Files): Add argp-pin.c
77381         (Depends-on): dirname
77382         (lib_SOURCES): Add argp-pin.c
77383
77384 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
77385
77386         * m4/argp.m4:  Check if program_invocation_name and
77387         program_invocation_short_name are declared and define appropriate
77388         macros if they are not.
77389
77390 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
77391
77392         * lib/argp-help.c (__argp_base_name): New function
77393         (__argp_short_program_name): Rewrite using __argp_base_name
77394         * lib/argp-namefrob.h: Define program_invocation_name and
77395         program_invocation_short_name if requested
77396         (__argp_base_name): Add prototype
77397         * lib/argp-parse.c (argp_def): Use gettext wrappers
77398         (argp_default_parser): Use __argp_base_name
77399         * lib/argp-pin.c: New file. Defines program_invocation_name and
77400         program_invocation_short_name on systems that lack them.
77401
77402 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
77403
77404         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
77405         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
77406         porting problem reported by Georg Schwarz in
77407         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
77408
77409 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
77410
77411         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
77412         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
77413         porting problem reported by Georg Schwarz in
77414         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
77415
77416 2005-12-05  Bruno Haible  <bruno@clisp.org>
77417
77418         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
77419         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
77420         Reported by Mark Junker <mjscod@gmx.de>.
77421
77422 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
77423
77424         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
77425         Use implementation from Albert Chin, with some
77426         comments/corrections by Stepan Kasal and myself.
77427
77428 2005-12-02  Bruno Haible  <bruno@clisp.org>
77429
77430         * gnulib-tool (func_import): Accept GPLed build tool modules when
77431         --lgpl is given.
77432         * modules/csharpcomp-script: New file.
77433         * modules/csharpcomp: Depend on it.
77434         * modules/javacomp-script: New file.
77435         * modules/javacomp: Depend on it.
77436         Suggested by Simon Josefsson.
77437
77438 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
77439
77440         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
77441         statement, to work around an HP-UX 10.20 compiler bug reported by
77442         Peter O'Gorman.
77443
77444 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
77445
77446         * modules/savedir (Depends-on): Add openat.
77447
77448 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
77449
77450         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
77451         (uintmax_t) [defined uintmax_t]: Do not declare.
77452         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
77453         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
77454         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
77455         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
77456         sake of portability to weird hosts that C allows (though we don't
77457         know of any practical examples).
77458
77459         * lib/savedir.h (fdsavedir): New decl.
77460         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
77461         contains most of the former guts of savedir.
77462         (savedir): Use savedirstream.
77463         Include "openat.h".
77464
77465 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
77466
77467         * modules/obstack (Files): Add m4/ulonglong.m4.
77468         Problem reported by Davide Angelocola.
77469
77470 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
77471
77472         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
77473         coreutils no longer futzes with rounding modes.
77474
77475 2005-11-14  Jim Meyering  <jim@meyering.net>
77476
77477         * lib/mkstemp-safer.c: Include <config.h>, required for possible
77478         replacement of mkstemp.
77479
77480 2005-11-10  Simon Josefsson  <jas@extundo.com>
77481
77482         * lib/readline.c: Remove EOL.
77483
77484 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
77485
77486         * modules/gethrxtime (Depends-on): Add gettime.
77487
77488 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
77489
77490         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
77491         or gettimeofday; no longer needed.
77492
77493 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
77494
77495         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
77496         time business.
77497         (gethrxtime) [! (HAVE_NANOUPTIME
77498         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
77499         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
77500         our own approximation.
77501
77502 2005-11-08  Eric Blake  <ebb9@byu.net>
77503
77504         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
77505
77506 2005-11-08  Eric Blake  <ebb9@byu.net>
77507
77508         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
77509
77510 2005-11-04  Bruno Haible  <bruno@clisp.org>
77511
77512         * gnulib-tool: Implement --update mode.
77513
77514 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
77515
77516         Fix porting problem reported by Theodoros V. Kalamatianos.
77517         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
77518         Don't assume that futimes failing means we must fail.
77519
77520 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
77521
77522         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
77523         variables to suggest the intended function of the PATH_MAX check.
77524
77525 2005-10-30  Kean Johnston  <jkj@sco.com>
77526
77527         Trivial changes to support SCO systems.
77528         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
77529         as PATH_MAX.
77530         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
77531         where __ptr is null when no I/O is pending.
77532
77533 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
77534
77535         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
77536         leave errno alone.  Problem reported by Dmitry V. Levin.
77537
77538 2005-10-28  Simon Josefsson  <jas@extundo.com>
77539
77540         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
77541         Test more.
77542
77543         * tests/test-gc-md2.c, tests/test-md2.c: New files.
77544
77545         * modules/md2, modules/md2-tests: New files.
77546
77547 2005-10-28  Simon Josefsson  <jas@extundo.com>
77548
77549         * m4/inet_ntop.m4: More tests.
77550
77551         * m4/gc-md2.m4, md2.m4: New file.
77552
77553 2005-10-28  Simon Josefsson  <jas@extundo.com>
77554
77555         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
77556         "restrict" keywords, as per POSIX.  Protect the function
77557         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
77558         Don't use K&R prototypes.  Check the sprintf return values.
77559         Re-define EAFNOSUPPORT if not present.  Indent.
77560
77561         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
77562         suggested by Bruno Haible <bruno@clisp.org>.
77563
77564         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
77565
77566         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
77567
77568         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
77569         libgcrypt).
77570
77571         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
77572
77573         * lib/md2.h, lib/md2.c: New files.
77574
77575 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
77576
77577         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
77578         errno alone.  Problem reported by Frederic Jolliton.
77579
77580 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
77581
77582         * modules/verify (License): Change from GPL to LGPL.  This is a
77583         tiny module and there are apparently near-equivalents that are
77584         under the BSD license.
77585
77586 2005-10-24  Simon Josefsson  <jas@extundo.com>
77587
77588         * modules/sha1: Relicense to LGPL.
77589
77590 2005-10-24  Simon Josefsson  <jas@extundo.com>
77591
77592         * lib/md4.h: Shrink buffer size, now that we changed the type.
77593
77594 2005-10-23  Simon Josefsson  <jas@extundo.com>
77595
77596         * gnulib-tool (func_import): Fix --tests-base.
77597
77598 2005-10-22  Simon Josefsson  <jas@extundo.com>
77599
77600         * modules/arcfour (Depends-on): Need stdint.
77601
77602 2005-10-22  Simon Josefsson  <jas@extundo.com>
77603
77604         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
77605         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
77606
77607 2005-10-22  Simon Josefsson  <jas@extundo.com>
77608
77609         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
77610         suggested by Bruno Haible <bruno@clisp.org>.
77611
77612 2005-10-22  Simon Josefsson  <jas@extundo.com>
77613
77614         * lib/crc.h: Include stddef.h, for size_t.
77615
77616 2005-10-22  Simon Josefsson  <jas@extundo.com>
77617
77618         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
77619         arcfour_context struct (simplify test vector testing in GNU
77620         Shishi).
77621
77622 2005-10-21  Simon Josefsson  <jas@extundo.com>
77623
77624         * modules/des, modules/des-tests: New files.
77625
77626         * modules/gc-des, modules/gc-des-tests: New files.
77627
77628         * tests/test-des.c, tests/test-gc-des.c: New file.
77629
77630 2005-10-21  Simon Josefsson  <jas@extundo.com>
77631
77632         * modules/arctwo, modules/arctwo-tests: New files.
77633
77634         * tests/test-arctwo.c: New file.
77635
77636         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
77637
77638         * tests/test-gc-arctwo.c: New file.
77639
77640 2005-10-21  Simon Josefsson  <jas@extundo.com>
77641
77642         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
77643         Bruno Haible <bruno@clisp.org>.
77644
77645         * m4/gc-des.m4: New file.
77646
77647 2005-10-21  Simon Josefsson  <jas@extundo.com>
77648
77649         * m4/arctwo.m4: New file.
77650
77651         * m4/gc-arctwo.m4: New file.
77652
77653 2005-10-21  Simon Josefsson  <jas@extundo.com>
77654
77655         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
77656         block.
77657
77658 2005-10-21  Simon Josefsson  <jas@extundo.com>
77659
77660         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
77661         <bruno@clisp.org>.
77662
77663         * lib/hmac-sha1.c (hmac_sha1): Likewise.
77664
77665         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
77666         Bruno Haible <bruno@clisp.org>.
77667
77668         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
77669         <bruno@clisp.org>.
77670
77671 2005-10-21  Simon Josefsson  <jas@extundo.com>
77672
77673         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
77674
77675 2005-10-21  Simon Josefsson  <jas@extundo.com>
77676
77677         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
77678
77679 2005-10-21  Simon Josefsson  <jas@extundo.com>
77680
77681         * lib/des.h, lib/des.c: New files.
77682
77683         * lib/gc-gnulib.c: Support DES.c
77684
77685 2005-10-21  Simon Josefsson  <jas@extundo.com>
77686
77687         * lib/arctwo.h, lib/arctwo.c: New files.
77688
77689         * lib/gc-gnulib.c: Support ARCTWO.
77690
77691 2005-10-21  Simon Josefsson  <jas@extundo.com>
77692
77693         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
77694         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
77695
77696 2005-10-21  Simon Josefsson  <jas@extundo.com>
77697
77698         * gnulib-tool (func_import, func_create_testdir): Define automake
77699         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
77700         Makefile.am snippet),
77701         suggested by Bruno Haible <bruno@clisp.org>.
77702
77703         * modules/gc (Makefile.am): Use it.
77704
77705 2005-10-21  Bruno Haible  <bruno@clisp.org>
77706
77707         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
77708         patch.
77709
77710 2005-10-19  Simon Josefsson  <jas@extundo.com>
77711
77712         * tests/test-gc-rijndael.c: New file.
77713
77714         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
77715
77716 2005-10-19  Simon Josefsson  <jas@extundo.com>
77717
77718         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
77719         interface too.
77720
77721 2005-10-19  Simon Josefsson  <jas@extundo.com>
77722
77723         * tests/test-gc-arcfour.c: New file.
77724
77725         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
77726
77727 2005-10-19  Simon Josefsson  <jas@extundo.com>
77728
77729         * modules/gc-md4, modules/gc-md4-tests: New file.
77730
77731         * tests/test-gc-md4.c: New file.
77732
77733 2005-10-19  Simon Josefsson  <jas@extundo.com>
77734
77735         * m4/gc-md4.m4: New file.
77736
77737 2005-10-19  Simon Josefsson  <jas@extundo.com>
77738
77739         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
77740         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
77741         <kasal@ucw.cz>.
77742
77743 2005-10-19  Simon Josefsson  <jas@extundo.com>
77744
77745         * m4/gc-arcfour.m4: New file.
77746
77747         * m4/gc-rijndael.m4: New file.
77748
77749 2005-10-19  Simon Josefsson  <jas@extundo.com>
77750
77751         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
77752
77753 2005-10-19  Simon Josefsson  <jas@extundo.com>
77754
77755         * lib/gc-gnulib.c: Support ARCFOUR.
77756
77757 2005-10-19  Simon Josefsson  <jas@extundo.com>
77758
77759         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
77760         support.
77761
77762         * lib/gc.h: Add ECB enum type.
77763
77764         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
77765
77766 2005-10-18  Simon Josefsson  <jas@extundo.com>
77767
77768         * tests/test-md5.c: New file.
77769
77770         * modules/md5-tests: New file.
77771
77772 2005-10-18  Simon Josefsson  <jas@extundo.com>
77773
77774         * tests/test-md4.c: New file.
77775
77776         * modules/md4, modules/md4-tests: New files.
77777
77778 2005-10-18  Simon Josefsson  <jas@extundo.com>
77779
77780         * m4/md4.m4: New file.
77781
77782 2005-10-18  Simon Josefsson  <jas@extundo.com>
77783
77784         * lib/md4.h, lib/md4.c: New files, based on md5.?.
77785
77786 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
77787
77788         * gnulib-tool (func_create_testdir): Omit the second check whether
77789         BUILT_SOURCES in nonempty.
77790
77791 2005-10-17  Simon Josefsson  <jas@extundo.com>
77792
77793         * tests/test-rijndael.c: New file.
77794
77795 2005-10-17  Simon Josefsson  <jas@extundo.com>
77796
77797         * modules/sha1: Depend on stdint instead of md5.
77798
77799         * modules/md5: Depend on stdint, remove uint32_t.
77800
77801 2005-10-17  Simon Josefsson  <jas@extundo.com>
77802
77803         * modules/gc-sha1-tests: New file.
77804
77805         * tests/test-gc-sha1.c: New file.
77806
77807 2005-10-17  Simon Josefsson  <jas@extundo.com>
77808
77809         * m4/md5.m4: Remove call to uint32_t.m4.
77810
77811 2005-10-17  Simon Josefsson  <jas@extundo.com>
77812
77813         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
77814
77815         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
77816         md5.h.
77817
77818         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
77819
77820         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
77821
77822 2005-10-17  Simon Josefsson  <jas@extundo.com>
77823
77824         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
77825
77826 2005-10-17  Simon Josefsson  <jas@extundo.com>
77827
77828         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
77829
77830 2005-10-17  Simon Josefsson  <jas@extundo.com>
77831
77832         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
77833
77834         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
77835
77836 2005-10-17  Bruno Haible  <bruno@clisp.org>
77837
77838         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
77839         that it can also be used in a test.
77840
77841 2005-10-16  Bruno Haible  <bruno@clisp.org>
77842
77843         * gnulib-tool (func_emit_tests_Makefile_am): Also define
77844         TESTS_ENVIRONMENT, so that individual tests can augment it.
77845
77846         * gnulib-tool (func_create_testdir): Use an intermediate target for
77847         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
77848         macros, like $(ALLOCA_H), which cannot be passed through the command
77849         line.
77850
77851 2005-10-15  Simon Josefsson  <jas@extundo.com>
77852
77853         * modules/rijndael-tests: New file.
77854
77855         * modules/rijndael: New file.
77856
77857 2005-10-15  Simon Josefsson  <jas@extundo.com>
77858
77859         * m4/rijndael.m4: New file.
77860
77861 2005-10-15  Simon Josefsson  <jas@extundo.com>
77862
77863         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
77864
77865         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
77866
77867 2005-10-14  Simon Josefsson  <jas@extundo.com>
77868
77869         * tests/test-arcfour.c: New file.
77870
77871         * modules/arcfour, modules/arcfour-tests: New files.
77872
77873 2005-10-14  Simon Josefsson  <jas@extundo.com>
77874
77875         * m4/arcfour.m4: New file.
77876
77877 2005-10-14  Simon Josefsson  <jas@extundo.com>
77878
77879         * lib/arcfour.h, lib/arcfour.c: New files.
77880
77881 2005-10-14  Roland McGrath  <roland@redhat.com>
77882
77883         Import from libc.  [BZ #1331]
77884         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
77885         macro argument.
77886         Reported by Matej Vela <vela@debian.org>.
77887
77888 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
77889
77890         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
77891         include <wchar.h>; no longer needed.
77892
77893 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
77894
77895         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
77896
77897 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
77898         and  Ulrich Drepper  <drepper@redhat.com>
77899
77900         Import from libc.
77901         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
77902         instead of inline stream orientation test and two separate
77903         function calls.  Pay no attention to USE_IN_LIBIO.
77904
77905 2005-10-13  Simon Josefsson  <jas@extundo.com>
77906
77907         * modules/gc-hmac-md5-tests: New file.
77908
77909         * tests/test-gc-hmac-sha1.c: New file.
77910
77911         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
77912
77913         * modules/gc-hmac-md5-tests: New file.
77914
77915         * tests/test-gc-md5.c: New file.
77916
77917         * modules/gc-md5-tests: New file.
77918
77919 2005-10-13  Simon Josefsson  <jas@extundo.com>
77920
77921         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
77922         Move memory allocation outside of loop.
77923
77924 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
77925
77926         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
77927         intermediate directory is in a read-only file system.  Problem
77928         reported by Eric Blake.
77929
77930 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
77931
77932         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
77933
77934 2005-10-12  Simon Josefsson  <jas@extundo.com>
77935
77936         * tests/test-hmac-sha1.c: New file.
77937
77938         * modules/hmac-sha1-tests: New file.
77939
77940         * modules/hmac-sha1: New file.
77941
77942 2005-10-12  Simon Josefsson  <jas@extundo.com>
77943
77944         * modules/gc-sha1: New file.
77945
77946 2005-10-12  Simon Josefsson  <jas@extundo.com>
77947
77948         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
77949
77950         * tests/test-gc-pbkdf2-sha1.c: New file.
77951
77952 2005-10-12  Simon Josefsson  <jas@extundo.com>
77953
77954         * modules/gc-md5, modules/gc-hmac-md5: New files.
77955
77956         * modules/gc (Files): Remove md5, memxor and hmac files.
77957
77958 2005-10-12  Simon Josefsson  <jas@extundo.com>
77959
77960         * m4/gc-pbkdf2-sha1.m4: New file.
77961
77962         * m4/gc-hmac-sha1.m4: New file.
77963
77964         * m4/gc-sha1: New file.
77965
77966         * m4/hmac-sha1.m4: New file.
77967
77968 2005-10-12  Simon Josefsson  <jas@extundo.com>
77969
77970         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
77971
77972         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
77973
77974 2005-10-12  Simon Josefsson  <jas@extundo.com>
77975
77976         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
77977         suggested by Bruno Haible <bruno@clisp.org>.
77978
77979 2005-10-12  Simon Josefsson  <jas@extundo.com>
77980
77981         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
77982
77983 2005-10-12  Simon Josefsson  <jas@extundo.com>
77984
77985         * lib/gc-pbkdf2-sha1.c: New file.
77986
77987         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
77988
77989 2005-10-12  Simon Josefsson  <jas@extundo.com>
77990
77991         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
77992
77993         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
77994
77995 2005-10-12  Simon Josefsson  <jas@extundo.com>
77996
77997         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
77998         GC_USE_HMAC_MD5, respectively.
77999
78000         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
78001         (gc_md5): Fix typo.
78002
78003         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
78004
78005         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
78006
78007         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
78008
78009 2005-10-12  Bruno Haible  <bruno@clisp.org>
78010
78011         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
78012         Reported by Stepan Kasal <kasal@ucw.cz>.
78013
78014 2005-10-11  Simon Josefsson  <jas@extundo.com>
78015
78016         * tests/test-crc.c: New file.
78017
78018         * modules/crc, modules/crc-tests: New files.
78019
78020 2005-10-11  Simon Josefsson  <jas@extundo.com>
78021
78022         * m4/crc.m4: New file.
78023
78024 2005-10-11  Simon Josefsson  <jas@extundo.com>
78025
78026         * lib/gc.h: Add gc_hash and gc_hash_buffer.
78027
78028         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
78029
78030         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
78031
78032 2005-10-11  Simon Josefsson  <jas@extundo.com>
78033
78034         * lib/crc.h, lib/crc.c: New files.
78035
78036         * lib/gc.h (gc_hash_buffer): Add doc.
78037
78038 2005-10-11  Bruno Haible  <bruno@clisp.org>
78039
78040         * modules/c-strcasestr: New file.
78041         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
78042
78043 2005-10-11  Bruno Haible  <bruno@clisp.org>
78044
78045         * modules/c-strcase: New file.
78046         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
78047
78048 2005-10-11  Bruno Haible  <bruno@clisp.org>
78049
78050         * lib/strcasecmp.c: Include limits.h.
78051         (strcasecmp): Avoid integer overflow on exotic platforms.
78052         * lib/strncasecmp.c: Include limits.h.
78053         (strncasecmp): Avoid integer overflow on exotic platforms.
78054         Reported by Paul Eggert.
78055
78056 2005-10-11  Bruno Haible  <bruno@clisp.org>
78057
78058         * lib/c-strcasestr.h: New file, from GNU gettext.
78059         * lib/c-strcasestr.c: New file, from GNU gettext.
78060
78061 2005-10-11  Bruno Haible  <bruno@clisp.org>
78062
78063         * lib/c-strcase.h: New file, from GNU gettext.
78064         * lib/c-strcasecmp.c: New file, from GNU gettext.
78065         * lib/c-strncasecmp.c: New file, from GNU gettext.
78066
78067 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
78068
78069         * modules/mempcpy (License): GPL -> LGPL.
78070         * modules/strchrnul (License): Likewise.
78071         * modules/sysexits (License): Likewise.
78072
78073 2005-10-08  Simon Josefsson  <jas@extundo.com>
78074
78075         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
78076
78077 2005-10-07  Simon Josefsson  <jas@extundo.com>
78078
78079         * m4/memxor.m4: Remove gl_C_RESTRICT call.
78080
78081 2005-10-06  Simon Josefsson  <jas@extundo.com>
78082
78083         * tests/test-hmac-md5.c: New file.
78084
78085         * modules/hmac-md5-tests: New file.
78086
78087         * modules/hmac-md5: New file.
78088
78089 2005-10-06  Simon Josefsson  <jas@extundo.com>
78090
78091         * m4/hmac-md5.m4: New file.
78092
78093         * m4/memxor.m4: Require gl_C_RESTRICT.
78094
78095 2005-10-06  Simon Josefsson  <jas@extundo.com>
78096
78097         * lib/memxor.c (memxor): Avoid casts and warnings.
78098
78099 2005-10-06  Simon Josefsson  <jas@extundo.com>
78100
78101         * lib/hmac-md5.c: New file.
78102
78103         * lib/hmac.h: New file.
78104
78105 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
78106
78107         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
78108         promotes to int, not unsigned int, to catch the AIX 5.3
78109         compiler bug.
78110
78111 2005-10-05  Simon Josefsson  <jas@extundo.com>
78112
78113         * modules/memxor: New file.
78114
78115         * modules/iconv (Files): Move config.rpath to havelib, it is used
78116         there.
78117
78118         * modules/havelib (Files): Add config.rpath.
78119
78120 2005-10-05  Simon Josefsson  <jas@extundo.com>
78121
78122         * m4/memxor.m4: New file.
78123
78124 2005-10-05  Simon Josefsson  <jas@extundo.com>
78125
78126         * lib/memxor.c (memxor): Fix compiler error.
78127
78128         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
78129         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
78130
78131         * lib/memxor.h, lib/memxor.c: New files.
78132
78133         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
78134         we assume all systems have it, suggested by Jim Meyering
78135         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
78136         any systems lack sys/socket.h; mingw32 is known to lack it, but we
78137         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
78138         same reasons.
78139
78140 2005-10-05  Simon Josefsson  <jas@extundo.com>
78141
78142         * config/srclist.txt: Add glibc bug 1423 for md5.h.
78143
78144 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
78145
78146         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
78147         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
78148         needed, since the source code now assumes these .h files.
78149
78150 2005-10-05  Derek Price  <derek@ximbiot.com>
78151
78152         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
78153
78154 2005-10-05  Bruno Haible  <bruno@clisp.org>
78155
78156         * modules/stdint (License): Change to LGPL.
78157
78158 2005-10-04  Simon Josefsson  <jas@extundo.com>
78159
78160         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
78161         D. Baushke" <mdb@gnu.org>.
78162
78163 2005-10-04  Bruno Haible  <bruno@clisp.org>
78164
78165         * lib/verify.h (verify_true): Provide alternative definition for C++.
78166
78167 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
78168
78169         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
78170         (SSIZE_MAX): New macro, if not already defined.
78171         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
78172         than 2 GiB.
78173
78174 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
78175
78176         Sync from coreutils.
78177         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
78178         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
78179         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
78180         ULLONG_MAX doesn't work with 2.7.2.1.
78181
78182 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
78183
78184         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
78185         From Ben Pfaff.
78186
78187         * modules/exclude (Depends-on): Depend on verify.
78188         * modules/strtoimax (Depends-on): Likewise.
78189         * modules/utimecmp (Depends-on): Likewise.
78190
78191 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
78192
78193         * lib/exclude.c: Include verify.h.
78194         (verify): Remove.  All callers changed to use verify.h's version.
78195         * lib/strtoimax.c: Likewise.
78196         * lib/utimecmp.c: Likewis.e
78197
78198         Sync from coreutils.
78199         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
78200         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
78201         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
78202         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
78203         bother returning ENOSYS if settimeofday or stime fails; just let
78204         them return whatever errno they want to return.
78205         * lib/utimens.c: Include unistd.h, for dup2.
78206         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
78207         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
78208
78209 2005-10-02  Jim Meyering  <jim@meyering.net>
78210
78211         Sync from coreutils.
78212         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
78213         from glibc-2.2.5 that fails for read-only files.
78214
78215 2005-10-02  Jim Meyering  <jim@meyering.net>
78216
78217         Sync from coreutils.
78218         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
78219         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
78220         `#if HAVE_CONFIG_H'.
78221         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
78222         Remove AT_FDCWD test.
78223         Do not consume the fd unless successful.
78224         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
78225         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
78226         block, so that we don't even try to compile it if settimeofday is
78227         available.  This works around a compilation failure on OSF1 V5.1,
78228         due to stime requiring a `long int*' while tv_sec is `int'.
78229
78230 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
78231
78232         Sync from coreutils.
78233         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
78234         against `yes', rather than just testing for nonempty.
78235
78236 2005-10-01  Simon Josefsson  <jas@extundo.com>
78237
78238         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
78239         and Darwin.
78240
78241         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
78242         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
78243         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
78244         freeaddrinfo and gai_strerror are declared by the POSIX headers.
78245         Check if struct addrinfo is declared.
78246
78247 2005-10-01  Simon Josefsson  <jas@extundo.com>
78248
78249         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
78250         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
78251         AI_* and EAI_* definitions.  Protect function declarations.
78252
78253 2005-10-01  Jim Meyering  <jim@meyering.net>
78254
78255         Sync from coreutils.
78256
78257         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
78258         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
78259         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
78260         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
78261         in the inet and nsl libraries.  Required on Solaris 5.7.
78262
78263 2005-10-01  Jim Meyering  <jim@meyering.net>
78264
78265         Sync from coreutils.
78266         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
78267         in the inet and nsl libraries.  Required on Solaris 5.7.
78268
78269 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
78270
78271         * lib/getdelim.c (getdelim): Remove unused variables.
78272
78273 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
78274
78275         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
78276         so that the code works even with ancient cpp.  Portability problem
78277         with GCC 2.7.2.1 reported by Thomas M.Ott.
78278
78279 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
78280
78281         * modules/regex (Depends-on): Add strcase.
78282
78283         * modules/gethostname (Licence): Change from GPL to LGPL, since
78284         gethostname.c is a trivial implementation of a standard library
78285         function.
78286         * modules/poll (License): Change from GPL to LGPL, since it's
78287         derived from LGPL code.
78288
78289 2005-09-27  Jim Meyering  <jim@meyering.net>
78290
78291         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
78292         HAVE_CONFIG_H.
78293
78294         * lib/intprops.h (signed_type_or_expr__): Define.
78295         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
78296         for unsigned types.
78297
78298 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
78299
78300         * lib/verify.h (verify_expr): Remove, replacing with:
78301         (verify_true): New macro that returns true instead of void.
78302         (verify_type__): Remove.
78303         (verify): Use verify_true rather than verify_type__.
78304
78305 2005-09-26  Bruno Haible  <bruno@clisp.org>
78306
78307         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
78308         is necessary.
78309         (lib_SOURCES): Remove mbchar.c.
78310         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
78311         (Files): Add m4/mbrtowc.m4.
78312         * modules/mbiter: Likewise.
78313         * modules/mbuiter: Likewise.
78314
78315 2005-09-26  Bruno Haible  <bruno@clisp.org>
78316
78317         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
78318         compile mbchar.c if they are not both present.
78319         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
78320         * m4/mbiter.m4 (gl_MBITER): Likewise.
78321         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
78322         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
78323         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
78324
78325 2005-09-25  Jim Meyering  <jim@meyering.net>
78326
78327         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
78328         also uses socklen_t.
78329
78330 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
78331
78332         * lib/utimens.c (ENOSYS): Define if not already defined.
78333         (futimens): Support having a null PATH if the file descriptor
78334         is nonnegative.
78335
78336         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
78337         Remove.
78338         (__attribute): Define to empty unless GCC 3.1 or later.
78339         This works around a core dump on OpenBSD 3.4, which has GCC
78340         2.95.3, which dumps core when given __attribute__(()).  It also
78341         simplifies other tests, since we really don't want to bother with
78342         worrying about which ancient version of GCC supported what.
78343         Original problem reported by Yoann Vandoorselaere, with part of
78344         the fix suggested by Derek Price.
78345
78346 2005-09-24  Jim Meyering  <jim@meyering.net>
78347
78348         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
78349         so we can once again use a positive bitfield width of 1 -- now we
78350         don't have to explain why we were using a bitfield width of 2.
78351
78352 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
78353
78354         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
78355         and similarly for the other external symbols.  Problem reported
78356         by James Gallager.
78357
78358         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
78359         bug reported by Jim Meyering.
78360
78361         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
78362         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
78363         not needed, since socklen is a prerequisite module.
78364
78365 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
78366
78367         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
78368         Problem reported by Eric Blake.
78369         (getaddrinfo): Initialize se so that it's not garbage.
78370         Redo internal storage allocation so that it doesn't make unportable
78371         assumptions about alignment.
78372         Fix a memory leak.
78373
78374         * lib/utimens.c (futimens): Use futimesat if available.
78375         Prefer it to futimes since it doesn't have the futimes bug.
78376
78377         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
78378         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
78379         Instead, declare a function that returns a pointer to an array,
78380         and use verify_type__ to declare the size of the array.
78381         Problem and germ of a solution reported by Bruno Haible.
78382         (verify_type__): Use 2, not 1, for bitfield size, to avoid
78383         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
78384
78385 2005-09-23  Jim Meyering  <jim@meyering.net>
78386
78387         Sync from coreutils.
78388         Correct build failure (socklen_t not defined) on at least
78389         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
78390         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
78391
78392 2005-09-23  Jim Meyering  <jim@meyering.net>
78393
78394         * modules/getaddrinfo (Depends-on): Add socklen.
78395
78396 2005-09-23  Bruno Haible  <bruno@clisp.org>
78397
78398         * tests/test-verify.c: New file.
78399
78400 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
78401
78402         Sync from coreutils.
78403
78404         * modules/argmatch (Depends-on): Add verify.
78405         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
78406         unistd-safer.
78407         * modules/save-cwd (Depends-on): Likewise.
78408
78409         * modules/openat (Files): Add lib/openat-die.c.
78410         (Depends-on): Remove error, exitfail.
78411         Add dirname.
78412
78413         * modules/verify: New file.
78414         * MODULES.html.sh (Diagnostics <assert.h>): New section,
78415         with "verify" module.
78416
78417 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
78418
78419         Sync from coreutils.
78420
78421         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
78422         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
78423         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
78424         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
78425         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
78426         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
78427         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
78428         Don't bother checking for string.h, stdlib.h, unistd.h.
78429         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
78430         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
78431         module's job.
78432         * m4/jm-macros.m4 (gl_MACROS): Likewise.
78433         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
78434
78435         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
78436         (gl_GETDATE): Use it.
78437
78438         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
78439
78440 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
78441
78442         Sync from coreutils.
78443
78444         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
78445         stat-time.h.
78446         * lib/argmatch.h: Include verify.h
78447         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
78448         (ARGMATCH_ASSERT): Remove; unused.
78449         * lib/canonicalize.c: Assume STDC_HEADERS.
78450         * lib/exclude.c: Include "strcase.h".
78451         * lib/regex_internal.h [!defined _LIBC]: Likewise.
78452         * lib/getusershell.c: Include stdio--.h rather than stdio.h
78453         and stdio-safer.h.
78454         (getusershell): Call fopen, not fopen_safer.
78455         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
78456         Do not include unistd-safer.h.
78457         (save_cwd): Don't call fd_safer; no longer needed
78458         now that we include fcntl--.h.
78459
78460         * lib/getdate.y (relative_time): New type.
78461         (RELATIVE_TIME_0): New constant.
78462         (parser_control): Use relative_time instead of doing it ourselves.
78463         (%union): Add new relative_time rel member.
78464         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
78465         Now typeless.
78466         (relunit, relunit_snumber): Now of type rel.
78467         (zone, rel, relunit, get_date): Adjust to above changes.
78468
78469         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
78470         Do not include unistd-safer.h.
78471         (getloadavg): Don't call fd_safer; no longer needed
78472         now that we include fcntl--.h.
78473
78474         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
78475         (make_dir_parents): Treat ENOSYS like EEXIST.
78476
78477         Improve quality of diagnostics on restore_cwd failure.
78478         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
78479         (make_dir_parents): Last arg is now int * (for errno), not bool *.
78480         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
78481         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
78482         each time through the loop.  Do not diagnose restore_cwd failure;
78483         that is the caller's job (and perhaps the caller does not care).
78484
78485         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
78486         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
78487         If the file already exists but is not a directory, don't bother
78488         to try to make its parents.
78489         Close potential file descriptor leak if we can't chdir("/") (!).
78490         Don't always return true if chdir($PWD) fails; return true only
78491         if the requested action was done successfully (except for the
78492         chdir($PWD)).
78493         Don't log final directory unless we actually made it.
78494         Refactor to avoid duplicate code to fix up permissions.
78495         Don't attempt to fix up parent permissions if chdir($PWD) fails.
78496
78497         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
78498         to make it a bit faster and (I hope) clearer.
78499         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
78500         Fix bug in formats like %2N.
78501
78502         * lib/verify.h: New file.
78503
78504 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
78505
78506         Sync from coreutils.
78507         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
78508
78509 2005-09-22  Jim Meyering  <jim@meyering.net>
78510
78511         Sync from coreutils.
78512
78513         * m4/lstat.m4 (gl_FUNC_LSTAT):
78514         Use AC_LIBSOURCES to require lstat.c and lstat.h.
78515         Remove obsolete comment.
78516         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
78517         * m4/xstrtod.m4: Likewise.
78518
78519         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
78520
78521 2005-09-22  Jim Meyering  <jim@meyering.net>
78522
78523         Sync from coreutils.
78524
78525         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
78526
78527         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
78528         the .tm_year member, since otherwise gcc-4.0 would now warn about
78529         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
78530
78531         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
78532         order to avoid an unsuppressible warning from gcc on 64-bit systems.
78533
78534         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
78535         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
78536         when run in a time zone for which daylight savings time is in effect
78537         for the starting date.
78538
78539         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
78540         stop us from restricting permissions of just-created absolute-named
78541         directories.
78542         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
78543         to restore initial working directory.
78544         * lib/mkdir-p.c (make_dir_parents): New parameter:
78545         different_working_dir, to tell caller if/when we change the working
78546         directory and are unable to return to the initial one.
78547         * lib/mkdir-p.h (make_dir_parents): Update prototype.
78548         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
78549         `return false'.  This fixes a bug introduced on 2004-07-30.
78550
78551         * lib/openat.c (fdopendir): Be sure to close the supplied
78552         file descriptor before returning.  This makes our replacement
78553         implementation a little closer to Solaris's, where fdopendir
78554         ties the file descriptor to the returned DIR* pointer.
78555         * lib/openat.c (unlinkat): New function.
78556         * lib/openat.h (unlinkat): Add prototype.
78557         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
78558         (openat_restore_fail): Rename from openat_restore_die.
78559         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
78560
78561         Provide an alternative to exiting immediately upon save_cwd or
78562         restore_cwd failure.  Now, an application can arrange e.g.,
78563         to perform a longjump in that case.
78564         * lib/openat.c: Include dirname.h.
78565         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
78566         (rpl_openat, fdopendir, fstatat): Call openat_save_die
78567         and openat_restore_die rather than calling error directly.
78568         Don't include "error.h" or "exitfail.h"; they're no longer needed.
78569
78570         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
78571         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
78572         define.
78573
78574         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
78575         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
78576                             int utc, int nanoseconds);
78577         Background:
78578         date should not have to allocate a megabyte of virtual memory to
78579         handle a format argument like +%1048575T.  When implemented with
78580         strftime, it must allocate such a buffer, use strftime to fill it
78581         in, print it, then free it.
78582         With fprintftime, it simply prints everything and exits.
78583         With no need for memory allocation, that's one fewer way to fail.
78584         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
78585         optional field width, not before, so we accept %9:z, not %:9z.
78586         (my_strftime): Be sure to use L_('x') for literals.
78587
78588         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
78589         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
78590         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
78591         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
78592         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
78593         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
78594         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
78595         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
78596         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
78597         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
78598         * lib/xgethostname.c, lib/xreadlink.c:
78599         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
78600
78601         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
78602         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
78603         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
78604         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
78605         and don't include <sys/file.h>).
78606
78607 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
78608
78609         Sync from coreutils.
78610
78611         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
78612         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
78613         [!LDAV_DONE]: Avoid unused variable warning.
78614
78615 2005-09-21  Bruno Haible  <bruno@clisp.org>
78616
78617         * lib/unicodeio.h (unicode_to_mb): New declaration.
78618
78619 2005-09-20  Derek Price  <derek@ximbiot.com>
78620
78621         * lib/getaddrinfo.c: Don't include <netdb.h> included from
78622         getaddrinfo.h.
78623
78624 2005-09-20  Bruno Haible  <bruno@clisp.org>
78625
78626         * gnulib-tool: Remove trailing slashes from the values specified for
78627         --source-base, --m4-base, --tests-base, --aux-dir.
78628         Suggested by Simon Josefsson <jas@extundo.com>.
78629
78630 2005-09-20  Bruno Haible  <bruno@clisp.org>
78631
78632         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
78633         func_modules_to_filelist, func_import, func_create_testdir): Make all
78634         sorting results locale-independent, so that gnulib-cache.m4 doesn't
78635         change when gnulib-tool is invoked in a different locale.
78636
78637 2005-09-19  Simon Josefsson  <jas@extundo.com>
78638
78639         * m4/socklen.m4: Fix typo.
78640
78641 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78642
78643         Use a consistent style for including <config.h>.
78644         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
78645         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
78646         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
78647         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
78648         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
78649         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
78650         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
78651         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
78652         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
78653         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
78654         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
78655         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
78656         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
78657         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
78658         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
78659         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
78660         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
78661         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
78662         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
78663         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
78664         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
78665         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
78666         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
78667         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
78668         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
78669         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
78670         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
78671         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
78672         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
78673         lib/xstrtoumax.c, lib/yesno.c:
78674         Standardize inclusion of config.h.
78675         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
78676         lib/inttostr.h:  Removed inclusion of config.h from header files.
78677         * lib/inttostr.c:  Adjusted in-tree users.
78678         * lib/timespec.h: Remove superfluous warning to include config.h.
78679         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
78680         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
78681         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
78682         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
78683         config.h with HAVE_CONFIG_H.
78684
78685 2005-09-19  Jim Meyering  <jim@meyering.net>
78686
78687         * modules/pathmax (License): Change to LGPL.
78688
78689 2005-09-19  Derek Price  <derek@ximbiot.com>
78690
78691         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
78692
78693 2005-09-19  Bruno Haible  <bruno@clisp.org>
78694
78695         * gnulib-tool (import): Provide default for --tests-base.
78696
78697 2005-09-19  Bruno Haible  <bruno@clisp.org>
78698
78699         * doc/quote.texi: New file, extracted from gnulib.texi.
78700         * doc/ctime.texi: New file, extracted from gnulib.texi.
78701         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
78702         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
78703         * doc/gnulib.texi: Include them.
78704
78705 2005-09-18  Bruno Haible  <bruno@clisp.org>
78706
78707         Portability fix.
78708         * gnulib-tool (func_readlink): New function.
78709         (func_ln_if_changed): Use it.
78710
78711 2005-09-18  Bruno Haible  <bruno@clisp.org>
78712
78713         * gnulib-tool: Support --with-tests also with --import.
78714         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
78715         (func_import): Use variables $testsbase and $inctests. Emit a
78716         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
78717         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
78718         SUBDIRS += $testsdir.
78719         (func_create_testdir): Update.
78720
78721 2005-09-18  Bruno Haible  <bruno@clisp.org>
78722
78723         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
78724         instead of $dry_run.
78725         (func_cp_if_changed, func_mv_if_changed): Remove functions.
78726         (func_ln_if_changed): Don't handle dry-run here.
78727         (func_import): In dry-run mode, detect more precisely which actions
78728         would be performed, and don't use "...ing" verbs.
78729
78730 2005-09-18  Bruno Haible  <bruno@clisp.org>
78731
78732         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
78733         (func_import): Use join on two temporary files instead of three nested
78734         loops, in order to determine which files are new or old.
78735
78736 2005-09-18  Bruno Haible  <bruno@clisp.org>
78737
78738         * gnulib-tool (func_import): Comment out code that spits out the
78739         new files with --dry-run.
78740
78741 2005-09-18  Bruno Haible  <bruno@clisp.org>
78742
78743         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
78744
78745 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
78746
78747         * lib/stat-time.h: New file.
78748         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
78749         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
78750         in a different way.
78751         (timespec_cmp): New function.
78752         * lib/utimecmp.c: Include stat-time.h.
78753         (SYSCALL_RESOLUTION): Depend on whether various struct stat
78754         members exist, not on the obsolescent ST_MTIM_NSEC.
78755         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
78756
78757 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
78758
78759         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
78760
78761 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
78762
78763         * MODULES.html.sh (File system functions): Add stat-time.
78764         * modules/stat-time: New file.
78765         * modules/timespec (Files): Remove m4/st_mtim.m4; this
78766         is now done in a different way, by the stat-time module.
78767         * modules/utimecmp (Depends-on): Add stat-time.
78768
78769 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
78770
78771         * m4/st_mtim.m4: Remove.  Superseded by...
78772         * m4/stat-time.m4: New file.
78773         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
78774         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
78775
78776 2005-09-15  Derek Price  <derek@ximbiot.com>
78777
78778         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
78779
78780 2005-09-15  Derek Price  <derek@ximbiot.com>
78781
78782         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
78783         * lib/regex_internal.c: Ditto, using this...
78784         (__GNUC_PREREQ): ...new macro.
78785         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
78786         using...
78787         (__GNUC_PREREQ): ...this new macro.
78788
78789         * lib/strstr.h: Include string.h. Define strstr as a macro here.
78790
78791 2005-09-15  Derek Price  <derek@ximbiot.com>
78792             Paul Eggert  <eggert@cs.ucla.edu>
78793
78794         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
78795         changes, consolidating in...
78796         * lib/regex_internal.h: ...this file.
78797
78798 2005-09-13  Jim Meyering  <jim@meyering.net>
78799
78800         * lib/canon-host.c: Filter through gnu indent and reword comments
78801         slightly.
78802         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
78803
78804 2005-09-13  Derek Price  <derek@ximbiot.com>
78805
78806         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
78807         failure.
78808         Reported by Jim Meyering  <jim@meyering.net>.
78809
78810 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
78811
78812         * lib/base64.c: Typo.
78813         (base64_encode): Put b64str in initialized data section.
78814
78815 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
78816
78817         Merge glibc and coreutils changes into gnulib, plus a few
78818         extra fixes.
78819         * lib/md5.c: Use #error rather than a string.
78820         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
78821         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
78822         (__attribute__): Define to empty for non recent-GCC.
78823         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
78824         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
78825         Renamed from their non-__ counterparts, with new macros replacing
78826         them if not _LIBC.  Add __THROW attribute.
78827         (rol): Remove.
78828         (struct md5_ctx): Align buffer if using GCC.
78829         * lib/sha1.h (struct sha1_ctx): Likewise.
78830         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
78831         The old name was backwards.
78832         (NOTSWAP): Remove; not used.
78833         (rol): New macro, moved here from md5.h.
78834         (sha1_process_block): Remove a FIXME that doesn't make sense.
78835
78836 2005-09-12  Derek Price  <derek@ximbiot.com>
78837
78838         Return usable errors from canon-host.
78839         * lib/canon-host.h: New file.
78840         * lib/canon-host.c (canon_host): Wrap...
78841         (canon_host_r): ...this new function, which now relies exclusively on
78842         getaddrinfo.
78843         (ch_strerror): New function.
78844         (last_cherror): New global.
78845         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
78846         interface.
78847         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
78848         void *.
78849         (freeaddrinfo): Free ai->ai_canonname when set.
78850
78851 2005-09-12  Derek Price  <derek@ximbiot.com>
78852
78853         Make canon-host require getaddrinfo.
78854         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
78855         AC_LIBSOURCE canon-host.h.  Call...
78856         (gl_PREREQ_CANON_HOST): ...this new function, which requires
78857         gl_GETADDRINFO.
78858         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
78859
78860 2005-09-12  Derek Price  <derek@ximbiot.com>
78861
78862         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
78863         LGPL.
78864         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
78865
78866 2005-09-12  Derek Price  <derek@ximbiot.com>
78867
78868         * lib/gai_strerror.c: Include config.h when available.  Include
78869         getaddrinfo.h before other headers to test interface.
78870         Reported by Larry Jones <lawrence.jones@ugs.com>.
78871
78872 2005-09-12  Derek Price  <derek@ximbiot.com>
78873             Paul Eggert  <eggert@cs.ucla.edu>
78874
78875         * modules/glob (Files): Add glob-libc.h.
78876
78877 2005-09-12  Derek Price  <derek@ximbiot.com>
78878             Paul Eggert  <eggert@cs.ucla.edu>
78879
78880         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
78881         glob_.h, glob-libc.h.
78882         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
78883
78884 2005-09-12  Derek Price  <derek@ximbiot.com>
78885             Paul Eggert  <eggert@cs.ucla.edu>
78886
78887         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
78888         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
78889         protecting things that should be done only in gnulib contexts.
78890         * lib/glob_.h: New file, containing only the glob things needed for
78891         gnulib.
78892         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
78893         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
78894         (glob, globfree, glob_pattern_p): Now defined simply in terms of
78895         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
78896         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
78897         and to respect the namespace rules better.
78898
78899 2005-09-08  Simon Josefsson  <jas@extundo.com>
78900
78901         * modules/socklen: New file.
78902
78903 2005-09-08  Simon Josefsson  <jas@extundo.com>
78904
78905         * m4/socklen.m4: New file.
78906
78907 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78908
78909         * modules/utimens (Files): Add m4/utimbuf.m4, since
78910         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
78911         Reported by Sergey Poznyakoff.
78912
78913 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78914
78915         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
78916         definitions, since that's the preferred style in glibc.
78917         Fix a minor spacing issue, and update copyright notice to match
78918         glibc's.
78919
78920 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78921
78922         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
78923
78924 2005-09-06  Simon Josefsson  <jas@extundo.com>
78925
78926         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
78927         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
78928
78929 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
78930
78931         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
78932         warning.
78933
78934 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
78935
78936         * config/srclist.txt: Add glibc bug 1302.
78937
78938 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
78939
78940         Change bitset word type from unsigned int to unsigned long int,
78941         as this has better performance on typical 64-bit hosts.
78942         Port bitset code to hosts with unusual word sizes.
78943         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
78944         (build_collating_symbol):
78945         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
78946         argument is a bitset.  This is merely a style issue, but it makes
78947         it clearer that an entire array is expected.
78948         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
78949         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
78950         Port to the case where bitset_word is not the same as unsigned int.
78951         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
78952         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
78953         Likewise.
78954         * lib/regexec.c (check_dst_limits_calc_pos_1,
78955         check_subexp_matching_top):
78956         (build_trtable, group_nodes_into_DFAstates):
78957         Likewise.
78958         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
78959         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
78960         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
78961         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
78962         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
78963         * lib/regcomp.c (optimize_subexps, lower_subexp):
78964         Work even if bitset_word has holes in its bitwise representation.
78965         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
78966         * lib/regexec.c (check_dst_limits_calc_pos_1,
78967         check_subexp_matching_top):
78968         Likewise.
78969         * lib/regex_internal.c (re_string_reconstruct):
78970         Don't assume UCHAR_MAX == 255.
78971         * lib/regex_internal.h (bitset_set_all): Likewise.
78972         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
78973         All uses changed.
78974         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
78975         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
78976         All uses changed.
78977         (BITSET_WORD_MAX): New macro.
78978         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
78979         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
78980         (bitset_empty, bitset_copy):
78981         Prefer sizeof (bitset) to multiplying it out ourselves.
78982         (bitset_not_merge): Remove; unused.
78983         (bitset_contain): Return bool, not unsigned int with one bit on.
78984         All callers changed.
78985         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
78986         alignment than re_node_set; do this by defining a new internal
78987         type struct dests_alloc and using it to allocate memory.
78988
78989 2005-09-05  Bruno Haible  <bruno@clisp.org>
78990
78991         * gnulib-tool (func_import): Fix comparison in handling of symbolic
78992         links.
78993
78994 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
78995
78996         * modules/size_max (Makefile.am): Add size_max.h
78997
78998 2005-09-04  Derek Price  <derek@ximbiot.com>
78999
79000         * gnulib-tool (func_import): Fix reversed $symbolic logic.
79001
79002 2005-09-03  Simon Josefsson  <jas@extundo.com>
79003
79004         * gnulib-tool: Fix typo.
79005
79006 2005-09-03  Simon Josefsson  <jas@extundo.com>
79007
79008         * config/srclist.txt: Add glibc bug 1293.
79009
79010 2005-09-03  Derek Price  <derek@ximbiot.com>
79011
79012         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
79013         From Larry Jones <lawrence.jones@ugs.com>.
79014
79015 2005-09-02  Simon Josefsson  <jas@extundo.com>
79016
79017         * modules/socklen: New file.
79018
79019 2005-09-02  Simon Josefsson  <jas@extundo.com>
79020
79021         * modules/havelib: New module.
79022
79023         * modules/gettext, modules/iconv, modules/lock, modules/readline:
79024         Use havelib.
79025
79026 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
79027
79028         Check for arithmetic overflow when calculating sizes, to prevent
79029         some buffer-overflow issues.  These patches are conservative, in the
79030         sense that when I couldn't determine whether an overflow was possible,
79031         I inserted a run-time check.
79032         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
79033         macros.
79034         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
79035         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
79036         (re_xnrealloc, re_x2nrealloc): New inline functions.
79037         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
79038         parse_bracket_exp):
79039         (build_equiv_class, build_charclass): Check for arithmetic overflow
79040         in size expression calculations.
79041         * lib/regex_internal.c (re_string_realloc_buffers):
79042         (build_wcs_upper_buffer, re_node_set_add_intersect):
79043         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
79044         (re_dfa_add_node, register_state): Likewise.
79045         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
79046         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
79047         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
79048         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
79049
79050 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
79051
79052         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
79053         m4/ulonglong.m4.  Problem reported by Martin Lambers.
79054
79055 2005-09-02  Bruno Haible  <bruno@clisp.org>
79056
79057         Support for lib vs. lib64 distinction on biarch platforms.
79058         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
79059         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
79060         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
79061
79062 2005-09-02  Bruno Haible  <bruno@clisp.org>
79063
79064         * gnulib-tool (import): In the other first-use case, provide defaults
79065         as well.
79066
79067 2005-09-02  Bruno Haible  <bruno@clisp.org>
79068
79069         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
79070         patches not yet found in the latest gettext release.
79071
79072 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
79073
79074         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
79075         to avoid a collision with bits/local_lim.h in glibc.
79076         All uses changed.  Problem reported by Dmitry V. Levin in
79077         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
79078
79079         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
79080         bugs in int versus size_t comparisons.
79081         (re_string_context_at): Fix bug where the code assumed that
79082         Idx is signed.
79083
79084         Use bool where appropriate.
79085         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
79086         All callers changed.
79087         (calc_eclosure_iter): Likewise, for ROOT arg.
79088         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
79089         (build_charclass_op): Likewise, for NON_MATCH arg.
79090         * lib/regex_internal.c (re_string_allocate, re_string_construct):
79091         (re_string_construct_common): Likewise, for ICASE arg.
79092         * lib/regexec.c (re_search_2_stub, re_search_stub):
79093         Likewise, for RET_LEN arg.
79094         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
79095         (set_regs): Likewise, for FL_BACKTRACK arg.
79096         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
79097         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
79098         (calc_eclosure_iter, parse_bracket_exp):
79099         Use bool for internal variables that are booleans.
79100         * lib/regexec.c (re_search_internal, check_matching,
79101         proceed_next_node):
79102         (set_regs, build_sifted_states, sift_states_bkref):
79103         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
79104         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
79105         (find_collation_sequence_value):
79106         Likewise.
79107         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
79108         (re_node_set_compare):
79109         Return bool, not int. All callers changed.
79110         * lib/regexec.c (check_halt_node_context, check_dst_limits):
79111         (build_trtable, check_node_accept): Likewise.
79112         * lib/regex_internal.h: Include stdbool.h.
79113
79114         Fix bugs uncovered when converting to bool.
79115         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
79116         failure instead of charging ahead blindly.
79117         * lib/regex_internal.c (register_state): Likewise.
79118         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
79119         for freeing internal storage.
79120         (group_nodes_into_DFA_states): Use unsigned int, not int, for
79121         bitset pieces used as boolean, to avoid undefined behavior
79122         on hosts that do int overflow checking.
79123
79124 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
79125
79126         * config/srclist.txt: Add glibc bugs 1285-1287.
79127
79128 2005-09-01  Jim Meyering  <jim@meyering.net>
79129
79130         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
79131         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
79132         Require gl_STAT_MACROS, too.
79133
79134 2005-09-01  Bruno Haible  <bruno@clisp.org>
79135
79136         * gnulib-tool (import): In the first-use case, provide defaults.
79137
79138 2005-09-01  Bruno Haible  <bruno@clisp.org>
79139
79140         * gnulib-tool (func_import): Remove the .tmp files.
79141
79142 2005-09-01  Bruno Haible  <bruno@clisp.org>
79143
79144         * gnulib-tool (func_import): Fix handling of symbolic links.
79145
79146 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
79147
79148         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
79149         old glibc regex code mishandles strings longer than 2**31 bytes.
79150         This patch fixes this when the regex code is used in gnulib
79151         (i.e., outside glibc).
79152
79153         This patch should not affect the use of the regex code inside
79154         glibc.  No doubt this problem also needs to be handled for glibc
79155         as well, but the result will be an incompatible change to the
79156         glibc ABI, and the old ABI will have to be supported too.  That
79157         can be the the subject for another patch.
79158
79159         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
79160         governing whether the rest of this patch is active.  By default,
79161         the macro is disabled and the patch has no effect.
79162         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
79163         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
79164         (struct re_pattern_buffer, re_search, re_search_2, re_match):
79165         (re_match_2, re_set_registers): Use the new types.
79166         * lib/regex_internal.h (Idx, re_hashval_t): New types.
79167         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
79168         New macros.
79169         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
79170         (re_string_context_at, bin_tree_t, re_dfastate_t):
79171         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
79172         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
79173         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
79174         (re_string_char_size_at, re_string_wchar_at):
79175         (re_string_elem_size_at):
79176         Use the new types and macros to port to 64-bit hosts.
79177         Use unsigned types for internal values, so that the code
79178         mostly works even for arrays larger than SSIZE_MAX.
79179         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
79180         (search_duplicated_node, calc_eclosure_iter, fetch_number):
79181         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
79182         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
79183         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
79184         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
79185         (calc_inveclosure, parse_dup_op, build_range_exp):
79186         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
79187         (fetch_number, create_token_tree, mark_opt_subexp):
79188         Likewise.
79189         * lib/regex_internal.c (re_string_construct_common,
79190         create_ci_newstate):
79191         (create_cd_newstate, re_string_allocate, re_string_construct):
79192         (re_string_realloc_buffers, build_wcs_upper_buffer):
79193         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
79194         (re_string_reconstruct, re_string_peek_byte_case):
79195         (re_string_fetch_byte_case, re_string_context_at):
79196         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
79197         (re_node_set_init_copy, re_node_set_add_intersect):
79198         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
79199         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
79200         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
79201         (re_acquire_state, re_acquire_state_context, register_state):
79202         Likewise.
79203         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
79204         search_cur_bkref_entry):
79205         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
79206         (re_search_internal, re_search_2_stub, re_search_stub)
79207         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
79208         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
79209         (update_cur_sifted_state, check_dst_limits):
79210         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
79211         (check_subexp_limits, sift_states_bkref, merge_state_array):
79212         (check_subexp_matching_top, get_subexp, get_subexp_sub):
79213         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
79214         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
79215         (expand_bkref_cache, check_node_accept_bytes):
79216         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
79217         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
79218         (acquire_init_state_context, check_halt_node_context):
79219         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
79220         (sift_states_backward, clean_state_log_if_needed):
79221         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
79222         (find_recover_state, transit_state_sb, transit_state_mb):
79223         (transit_state_bkref, build_trtable, match_ctx_clean):
79224         Likewise.
79225         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
79226         to work around an assumption that REG_MISSING is negative.
79227
79228         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
79229         (seek_collating_symbol_entry) [defined _LIBC]:
79230         (lookup_collation_sequence_value) [defined _LIBC]:
79231         (build_range_exp, build_collating_symbol) [defined _LIBC]:
79232         Use prototypes rather than old-style function definitions.
79233         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
79234         (transit_state_sb) [0]:
79235         (find_collation_sequence_value) [defined _LIBC]: Likewise.
79236
79237         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
79238         rm_eo.
79239
79240         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
79241         (optimize_subexps, lower_subexp):
79242         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
79243         since the signed shift might overflow.  Use 1u<<31 instead.
79244         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
79245         Likewise.
79246         * lib/regexec.c (check_dst_limits_calc_pos_1,
79247         check_subexp_matching_top): Likewise.
79248
79249         * lib/regcomp.c (optimize_subexps, lower_subexp):
79250         Use CHAR_BIT rather than 8, for clarity.
79251         * lib/regexec.c (check_dst_limits_calc_pos_1):
79252         (check_subexp_matching_top): Likewise.
79253         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
79254         have to worry about portability issues when shifting it left.
79255         Remove no-longer-needed test for table_size > 0.
79256         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
79257         in a word, as the resulting behavior is undefined.
79258         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
79259         in one case, a <= should have been an <, and in another case the
79260         whole test was missing.
79261         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
79262         the standard name CHAR_BIT.
79263         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
79264         this is not true on one's complement and signed-magnitude hosts.
79265
79266         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
79267         next_last_offset.
79268         (struct re_dfa_t): Remove unused member states_alloc.
79269         * lib/regcomp.c (init_dfa): Don't initialize unused members.
79270
79271 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
79272
79273         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
79274         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
79275         and large-file glibc and in 32-bit large-file Solaris.
79276
79277 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
79278
79279         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
79280         lengths fit in regoff_t; this isn't true if regoff_t is the same
79281         width as size_t.
79282         * lib/regex.c (re_search_internal): 5th arg is LAST_START
79283         (= START + RANGE) instead of RANGE.  This avoids overflow
79284         problems when regoff_t is the same width as size_t.
79285         All callers changed.
79286         (re_search_2_stub): Check for overflow when adding the
79287         sizes of the two strings.
79288         (re_search_stub): Check for overflow when adding START
79289         to RANGE; if it occurs, substitute the extreme value.
79290
79291 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
79292
79293         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
79294
79295 2005-08-31  Jim Meyering  <jim@meyering.net>
79296
79297         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
79298         a pointer-to-const.
79299         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
79300         (register_state): Likewise.
79301         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
79302         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
79303         (group_nodes_into_DFAstates): Likewise.
79304
79305 2005-08-31  Jim Meyering  <jim@meyering.net>
79306
79307         * check-module: Add a FIXME comment.
79308
79309 2005-08-31  Eric Blake  <ebb9@byu.net>
79310
79311         * modules/unistd-safer (Files): Add unistd--.h.
79312         * modules/stdio-safer (Files): Add stdio--.h.
79313
79314 2005-08-31  Derek Price  <derek@ximbiot.com>
79315
79316         * lib/getdelim.c (getdelim): Return EOF on EOF.
79317         Reported by Larry Jones <lawrence.jones@ugs.com>.
79318
79319 2005-08-31  Bruno Haible  <bruno@clisp.org>
79320
79321         Avoid unnecessary diffs in the generated lib/Makefile.am.
79322         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
79323         the generated files.
79324         (func_import): Don't set cmd.
79325
79326 2005-08-31  Bruno Haible  <bruno@clisp.org>
79327
79328         * lib/strstr.c: Include <stddef.h>, for NULL.
79329         * lib/strcasestr.c: Likewise.
79330         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
79331
79332 2005-08-31  Bruno Haible  <bruno@clisp.org>
79333
79334         * gnulib-tool: New option --macro-prefix.
79335         (func_import): Use macro_prefix.
79336         (import): Handle option --macro-prefix.
79337
79338 2005-08-31  Bruno Haible  <bruno@clisp.org>
79339
79340         * gnulib-tool (import): Rename most ac_* variables to cached_*.
79341         Also use new variables cached_lgpl, cached_libtool.
79342
79343 2005-08-31  Bruno Haible  <bruno@clisp.org>
79344
79345         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
79346         always instantiating them.
79347
79348 2005-08-31  Bruno Haible  <bruno@clisp.org>
79349
79350         * gnulib-tool (func_import): Read the previous cached settings
79351         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
79352         earlier added by gnulib but are now dropped. Warn when a gnulib file
79353         overwrites a non-gnulib file.
79354
79355 2005-08-31  Bruno Haible  <bruno@clisp.org>
79356
79357         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
79358         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
79359         projects that don't keep autogenerated files in CVS. Put into
79360         actioncmd only the specified modules, not the transitive closure.
79361
79362 2005-08-31  Bruno Haible  <bruno@clisp.org>
79363
79364         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
79365         Create directories that shall be filled.
79366         (import): Don't look for gl_* macros in configure.ac. Recurse across
79367         all directories containing a gnulib-cache.m4 files, if meaningful.
79368
79369 2005-08-31  Bruno Haible  <bruno@clisp.org>
79370
79371         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
79372         (import): Set seen_libtool when we see gl_LIBTOOL.
79373
79374 2005-08-31  Bruno Haible  <bruno@clisp.org>
79375
79376         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
79377         declaration macro definitions from generated gnulib.m4.
79378
79379 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
79380
79381         * lib/iconvme.h: Add prototype for iconv_alloc.
79382
79383 2005-08-29  Simon Josefsson  <jas@extundo.com>
79384
79385         * lib/iconvme.c: Fix errno.
79386
79387 2005-08-29  Bruno Haible  <bruno@clisp.org>
79388
79389         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
79390         that it works when the directory contains spaces.
79391
79392 2005-08-29  Bruno Haible  <bruno@clisp.org>
79393
79394         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
79395
79396 2005-08-29  Bruno Haible  <bruno@clisp.org>
79397
79398         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
79399         Emit more advice.
79400
79401 2005-08-29  Bruno Haible  <bruno@clisp.org>
79402         and Stepan Kasal  <kasal@ucw.cz>
79403
79404         * check-module: If more parameters are given, check each of them
79405         separately; add more exceptions, as noted by Jim Meyering.
79406         (check_module): New procedure.
79407         (%exempt_header): Now contains all exceptions.
79408
79409 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
79410
79411         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
79412
79413 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
79414
79415         * lib/iconvme.c: Split iconv_string into iconv_alloc.
79416
79417 2005-08-28  Bruno Haible  <bruno@clisp.org>
79418
79419         * m4/gnulib-tool.m4: New file.
79420
79421 2005-08-27  Jim Meyering  <jim@meyering.net>
79422
79423         * modules/unistd-safer (Files): Add pipe-safer.c.
79424         * modules/fcntl-safer (Files): Add creat-safer.c.
79425
79426 2005-08-27  Jim Meyering  <jim@meyering.net>
79427
79428         * m4/stdlib-safer.m4: New file.  From coreutils.
79429         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
79430         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
79431         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
79432         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
79433         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
79434
79435 2005-08-27  Jim Meyering  <jim@meyering.net>
79436
79437         * lib/fopen-safer.c: Merge minor changes from coreutils.
79438         * lib/dup-safer.c: Likewise.
79439         * lib/fd-safer.c: Likewise.
79440
79441         Merge from coreutils.
79442         * lib/stdio--.h: New file.
79443         * lib/stdlib--.h: New file.
79444         * lib/mkstemp-safer.c: New file.
79445
79446         GNU tar needs these.
79447         * lib/pipe-safer.c: New file.
79448         * lib/creat-safer.c: New file.
79449         * lib/fcntl--.h (creat): Define to creat_safer.
79450         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
79451         * lib/unistd--.h (pipe): Define to pipe_safer.
79452         * lib/unistd-safer.h: Declare pipe_safer.
79453
79454 2005-08-26  Simon Josefsson  <jas@extundo.com>
79455
79456         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
79457         Haible <bruno@clisp.org>.
79458
79459 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
79460
79461         * lib/regex_internal.h: Remove all references to
79462         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
79463         or better.
79464         (bitset_not, bitset_merge, bitset_not_merge):
79465         (bitset_mask, re_string_allocate, re_string_construct):
79466         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
79467         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
79468         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
79469         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
79470         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
79471         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
79472         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
79473         (re_acquire_state_context):
79474         Remove unnecessary forward decls.
79475         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
79476         Put __attribute at function definition,
79477         now that the function decl has been removed.
79478         * lib/regex_internal.c (re_string_peek_byte_case):
79479         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
79480         Likewise.
79481
79482 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
79483
79484         * m4/regex.m4: Add AC_PREREQ(2.50).
79485         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
79486
79487 2005-08-25  Simon Josefsson  <jas@extundo.com>
79488
79489         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
79490         __fsetlocking.
79491
79492 2005-08-25  Simon Josefsson  <jas@extundo.com>
79493
79494         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
79495         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
79496         GLIBC specific code.
79497
79498 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
79499
79500         Make regex safe for g++.  This fixes one real bug (an "err"
79501         that should have been "*err").  g++ problem reported by
79502         Sam Steingold.
79503         * lib/regex_internal.h (re_calloc): New macro, consistent with
79504         re_malloc etc.  All callers of calloc changed to use re_calloc.
79505         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
79506         not int.  All callers changed.
79507         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
79508         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
79509         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
79510         (find_recover_state): Change "err" to "*err"; this fixes what
79511         appears to be a real bug.
79512         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
79513         versus int.
79514
79515 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
79516
79517         * modules/regex (Depends-on): Add malloc, since the code
79518         assumes that !malloc(0) means failure.
79519
79520 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
79521
79522         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
79523
79524         alloca modernization/simplification for regex.
79525         * lib/regex.c: Remove portability cruft for alloca.  This no longer
79526         needs to be at the start of the file, and can be moved into
79527         regex_internal.h and simplified.
79528         * lib/regex_internal.h: Include <alloca.h>.
79529         (__libc_use_alloca) [!defined _LIBC]: New macro.
79530         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
79531         now works outside glibc.
79532
79533 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
79534
79535         * config/srclist.txt: Add glibc bugs 1241, 1245.
79536
79537 2005-08-25  Jim Meyering  <jim@meyering.net>
79538
79539         * lib/open-safer.c: Include <config.h>.
79540         Otherwise, we'd lose LARGEFILE support in any file using
79541         e.g. "fcntl--.h"
79542
79543 2005-08-25  Bruno Haible  <bruno@clisp.org>
79544
79545         * m4/minmax.m4: Require autoconf 2.52.
79546         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
79547         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
79548         alternatives of translit over the alphabet.
79549         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
79550
79551 2005-08-24  Simon Josefsson  <jas@extundo.com>
79552
79553         * tests/test-getpass.c: New file.
79554
79555 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
79556
79557         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
79558         for GNU regex features.
79559
79560 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
79561
79562         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
79563         * lib/regex.h (regerror): Likewise.
79564
79565         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
79566         requires this.  (The code never needed it.)
79567
79568         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
79569         All uses of recently-renamed identifiers changed to use the new,
79570         POSIX-compliant names.  The code will build and run just fine
79571         without these changes, but it's better to eat our own dog food
79572         and use the standard-conforming names.
79573
79574         * lib/regex.h: Fix a multitude of POSIX name space violations.
79575         These changes have an effect only for programs that define
79576         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
79577         do not change anything for programs compiled in the normal way.
79578         Also, there is no effect on the ABI.
79579
79580         (_REGEX_SOURCE): New macro.
79581         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
79582         defined and _GNU_SOURCE is not; this fixes a name space violation.
79583
79584         Rename the following macros to obey POSIX requirements.
79585         The old names are still visible as macros if _REGEX_SOURCE is defined.
79586         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
79587         RE_BACKSLASH_ESCAPE_IN_LISTS.
79588         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
79589         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
79590         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
79591         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
79592         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
79593         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
79594         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
79595         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
79596         (REG_INTERVALS): renamed from RE_INTERVALS.
79597         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
79598         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
79599         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
79600         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
79601         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
79602         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
79603         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
79604         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
79605         RE_UNMATCHED_RIGHT_PAREN_ORD.
79606         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
79607         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
79608         (REG_DEBUG): renamed from RE_DEBUG.
79609         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
79610         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
79611         unusual, since we can't clash with the POSIX REG_ICASE.
79612         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
79613         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
79614         (REG_NO_SUB): renamed from RE_NO_SUB.
79615         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
79616         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
79617         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
79618         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
79619         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
79620         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
79621         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
79622         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
79623         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
79624         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
79625         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
79626         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
79627         RE_SYNTAX_POSIX_MINIMAL_BASIC.
79628         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
79629         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
79630         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
79631         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
79632         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
79633         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
79634         (REG_FIXED): Renamed from REGS_FIXED.
79635         (REG_NREGS): Renamed from RE_NREGS.
79636
79637         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
79638         of other REG_* macros, since POSIX says the user is allowed to
79639         #undef these macros selectively.
79640
79641         (reg_errcode_t): Update comment stating what other tables need
79642         to be consistent.
79643
79644         Rename the following enum values to obey POSIX requirements.
79645         The old names are still visible as macros.
79646         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
79647         is not defined, since GNU is supposed to be a superset of POSIX as
79648         much as possible, and since we want reg_errcode_t to be a signed
79649         type for implementation consistency.
79650         (_REG_NOERROR): Renamed from REG_NOERROR.
79651         (_REG_NOMATCH): Renamed from REG_NOMATCH.
79652         (_REG_BADPAT): Renamed from REG_BADPAT.
79653         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
79654         (_REG_ECTYPE): Renamed from REG_ECTYPE.
79655         (_REG_EESCAPE): Renamed from REG_EESCAPE.
79656         (_REG_ESUBREG): Renamed from REG_ESUBREG.
79657         (_REG_EBRACK): Renamed from REG_EBRACK.
79658         (_REG_EPAREN): Renamed from REG_EPAREN.
79659         (_REG_EBRACE): Renamed from REG_EBRACE.
79660         (_REG_BADBR): Renamed from REG_BADBR.
79661         (_REG_ERANGE): Renamed from REG_ERANGE.
79662         (_REG_ESPACE): Renamed from REG_ESPACE.
79663         (_REG_BADRPT): Renamed from REG_BADRPT.
79664         (_REG_EEND): Renamed from REG_EEND.
79665         (_REG_ESIZE): Renamed from REG_ESIZE.
79666         (_REG_ERPAREN): Renamed from REG_ERPAREN.
79667         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
79668         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
79669         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
79670         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
79671
79672         (_REG_RE_NAME, _REG_RM_NAME): New macros.
79673         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
79674         changed.  But support the old name if the new one is not defined
79675         and if _REGEX_SOURCE.
79676
79677         Change the following member names in struct re_pattern_buffer.
79678         The old names are still supported if !_REGEX_SOURCE.
79679         The new names are always supported, regardless of _REGEX_SOURCE.
79680         (re_buffer): Renamed from buffer.
79681         (re_allocated): Renamed from allocated.
79682         (re_used): Renamed from used.
79683         (re_syntax): Renamed from syntax.
79684         (re_fastmap): Renamed from fastmap.
79685         (re_translate): Renamed from translate.
79686         (re_can_be_null): Renamed from can_be_null.
79687         (re_regs_allocated): Renamed from regs_allocated.
79688         (re_fastmap_accurate): Renamed from fastmap_accurate.
79689         (re_no_sub): Renamed from no_sub.
79690         (re_not_bol): Renamed from not_bol.
79691         (re_not_eol): Renamed from not_eol.
79692         (re_newline_anchor): Renamed from newline_anchor.
79693
79694         Change the following member names in struct re_registers.
79695         The old names are still supported if !_REGEX_SOURCE.
79696         The new names are always supported, regardless of _REGEX_SOURCE.
79697         (rm_num_regs): Renamed from num_regs.
79698         (rm_start): Renamed from start.
79699         (rm_end): Renamed from end.
79700
79701         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
79702         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
79703         Prepend __ to parameter names.
79704
79705         Undo yesterday's changes.
79706
79707 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
79708
79709         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
79710         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
79711         lib/regex.c.
79712
79713 2005-08-24  Jim Meyering  <jim@meyering.net>
79714
79715         Sync from coreutils.
79716         * m4/fcntl-safer.m4: New file.
79717
79718         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
79719         and object files for this module.
79720
79721 2005-08-24  Jim Meyering  <jim@meyering.net>
79722
79723         Sync from coreutils.
79724         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
79725
79726 2005-08-24  Jim Meyering  <jim@meyering.net>
79727
79728         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
79729         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
79730
79731 2005-08-24  Jim Meyering  <jim@meyering.net>
79732
79733         * modules/fcntl-safer: New module.
79734         * modules/fts (Depends-on): Add fcntl-safer.
79735         * MODULES.html.sh (File descriptor based Input/Output):
79736         Add fcntl-safer.
79737
79738 2005-08-24  Bruno Haible  <bruno@clisp.org>
79739
79740         Support for unit test modules.
79741         * modules/README: Mention tests modules.
79742         * modules/TEMPLATE-TESTS: New file.
79743         * gnulib-tool: New options --extract-tests-module, --with-tests and
79744         --tests-base (unused for the moment).
79745         (testsbase, inctests): New variables.
79746         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
79747         (func_verify_module): Exclude TEMPLATE-TESTS.
79748         (func_verify_nontests_module, func_verify_tests_module): New functions.
79749         (func_get_dependencies): Add implicit dependency for tests modules.
79750         (func_get_tests_module): New function.
79751         (func_modules_transitive_closure): When --with-tests was specified,
79752         include the unit tests as well, unless explicitly avoided.
79753         (func_emit_lib_Makefile_am): Ignore the tests modules here.
79754         (func_emit_tests_Makefile_am): New function.
79755         (func_create_testdir): When --with-tests was specified, emit a
79756         tests/ directory.
79757         * MODULES.html.sh (Future developments): Update.
79758
79759 2005-08-24  Bruno Haible  <bruno@clisp.org>
79760
79761         * modules/tls-tests: New file.
79762         * tests/test-tls.c: New file, from GNU gettext.
79763
79764 2005-08-24  Bruno Haible  <bruno@clisp.org>
79765
79766         * modules/lock-tests: New file.
79767         * tests/test-lock.c: New file, from GNU gettext.
79768
79769 2005-08-24  Bruno Haible  <bruno@clisp.org>
79770
79771         * lib/lock.h: Add multiple inclusion guard.
79772         * lib/tls.h: Add multiple inclusion guard.
79773
79774 2005-08-24  Bruno Haible  <bruno@clisp.org>
79775
79776         * gnulib-tool: Add support for the --aux-dir option to
79777         --create-testdir, --create-megatestdir, --test, --megatest.
79778         (func_create_testdir, func_create_megatestdir): Optionally emit a
79779         AC_CONFIG_AUX_DIR directive.
79780         (create-testdir, create-megatestdir, test, megatest): Provide a
79781         default value for $auxdir.
79782
79783 2005-08-24  Bruno Haible  <bruno@clisp.org>
79784
79785         * gnulib-tool (import): Use compound statement instead of subshell
79786         where possible.
79787
79788 2005-08-24  Bruno Haible  <bruno@clisp.org>
79789
79790         * gnulib-tool (import): Change --aux-dir default to "build-aux".
79791
79792 2005-08-24  Bruno Haible  <bruno@clisp.org>
79793
79794         * gnulib-tool (func_version): Update.
79795
79796 2005-08-24  Bruno Haible  <bruno@clisp.org>
79797
79798         * gnulib-tool (func_import, func_create_testdir,
79799         func_create_megatestdir): Quote all autoconf macro arguments.
79800
79801 2005-08-24  Bruno Haible  <bruno@clisp.org>
79802
79803         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
79804         option --force, because --force causes the aclocal.m4 of each
79805         subdirectory to be newer than the corresponding config.h.in.
79806
79807 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
79808
79809         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
79810         All contents moved to gl_REGEX.
79811         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
79812         assume that it does.
79813
79814 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
79815
79816         * lib/regex.h (REG_NOSYS)
79817         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
79818         Define, since POSIX requires it as of 2001.
79819         (_REG_ENOSYS)
79820         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
79821         New private symbol, used to keep the enum signed in all cases.
79822         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
79823         Youngman in
79824         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
79825
79826         * lib/regex_internal.c (re_string_skip_chars, register_state):
79827         (calc_state_hash):
79828         Remove forward decls; no longer needed now that we use prototypes.
79829         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
79830         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
79831         (clean_state_log_if_needed): Likewise.
79832
79833 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
79834
79835         * config/srclist.txt: Add glibc bugs 1231-1233.
79836
79837 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
79838
79839         Fix problems reported by Sam Steingold in
79840         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
79841         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
79842         assumed that reg_errcode_t is a signed type, which is not
79843         necessarily true if _XOPEN_SOURCE is not defined.
79844         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
79845         since some compilers warn about it otherwise.
79846
79847 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
79848
79849         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
79850         (init_word_char, create_initial_state, duplicate_node_closure):
79851         (fetch_token, peek_token_bracket, build_range_exp):
79852         (build_collating_symbol): Remove forward decls; no longer needed
79853         now that we use prototypes.
79854
79855         * lib/regcomp.c:
79856         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
79857         (re_compile_fastmap_iter, regcomp, regerror, regfree):
79858         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
79859         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
79860         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
79861         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
79862         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
79863         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
79864         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
79865         (build_range_exp, build_collating_symbol, parse_bracket_exp):
79866         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
79867         (build_charclass, build_charclass_op, fetch_number, create_tree):
79868         (create_token_tree, mark_opt_subexp, duplicate_tree):
79869         Use prototypes rather than old-style definitions.
79870
79871         * lib/regex_internal.c:
79872         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
79873         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
79874         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
79875         (re_string_reconstruct, re_string_peek_byte_case):
79876         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
79877         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
79878         (re_node_set_init_copy, re_node_set_add_intersect):
79879         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
79880         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
79881         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
79882         (re_acquire_state, re_acquire_state_context, register_state):
79883         (create_ci_newstate, create_cd_newstate, free_state):
79884         Likewise.
79885         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
79886         re_search_2):
79887         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
79888         (re_search_internal, prune_impossible_nodes):
79889         (acquire_init_state_context, check_matching, static):
79890         (check_halt_node_context, check_halt_state_context, proceed_next_node):
79891         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
79892         (update_regs, sift_states_backward, build_sifted_states):
79893         (clean_state_log_if_needed, merge_state_array):
79894         (update_cur_sifted_state, add_epsilon_src_nodes):
79895         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
79896         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
79897         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
79898         (find_recover_state, check_subexp_matching_top, transit_state_mb):
79899         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
79900         (check_arrival, check_arrival_add_next_nodes):
79901         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
79902         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
79903         (check_node_accept_bytes, check_node_accept, extend_buffers):
79904         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
79905         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
79906         (sift_ctx_init):
79907         Likewise.
79908
79909         * lib/regex_internal.h:
79910         (re_string_allocate, re_string_construct, re_string_reconstruct):
79911         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
79912         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
79913         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
79914         (re_string_context_at, re_string_peek_byte_case):
79915         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
79916         is defined, since we now use prototypes always.
79917
79918         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
79919         C89 or better.  All uses removed.
79920
79921 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
79922
79923         * config/srclist.txt: Add glibc bugs 1220-1227.
79924
79925 2005-08-20  Jim Meyering  <jim@meyering.net>
79926
79927         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
79928         of unused local, dfa.
79929
79930 2005-08-20  Bruno Haible  <bruno@clisp.org>
79931
79932         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
79933
79934 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79935
79936         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
79937         (re_node_set_insert_last, re_dfa_add_node):
79938         Rename local variables to avoid GCC shadowing warnings.
79939
79940 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79941
79942         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
79943         [defined lint]: Suppress bogus uninitialized-variable warnings.
79944
79945         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
79946         and let the caller return REG_ESPACE if out of space.  This
79947         removes an uninitialied-variable warning with GCC 4.0.1, and also
79948         avoids taking the address of a local variable.  All callers
79949         changed.
79950
79951 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79952
79953         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
79954         $LIBCSRC/posix/regexec.c.
79955         Add glibc bug 1217 for regcomp.c.
79956
79957 2005-08-19  Jim Meyering  <jim@meyering.net>
79958
79959         * lib/regexec.c (proceed_next_node): Redo local variables to
79960         avoid GCC shadowing warnings.
79961
79962 2005-08-18  Bruno Haible  <bruno@clisp.org>
79963
79964         * lib/strstr.c (strstr): Fix return value in multibyte case.
79965         * lib/strcasestr.c (strcasestr): Likewise.
79966
79967 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
79968
79969         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
79970
79971 2005-08-17  Jim Meyering  <jim@meyering.net>
79972
79973         Make the %s format (seconds since the epoch) work for a negative
79974         number and when used with a zero-padded field width, e.g. %015s.
79975
79976         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
79977         label so that it precedes the code to set `digits'.  Otherwise,
79978         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
79979         print `00-22'.  Now, it prints `-0022', as it should.
79980
79981 2005-08-17  Bruno Haible  <bruno@clisp.org>
79982
79983         * modules/strstr (Files): Add m4/mbrtowc.m4.
79984         (Depends-on): Add mbuiter.
79985
79986 2005-08-17  Bruno Haible  <bruno@clisp.org>
79987
79988         * modules/strcasestr: New file.
79989         * MODULES.html.sh (String handling, based on ANSI C 89): Add
79990         strcasestr.
79991
79992 2005-08-17  Bruno Haible  <bruno@clisp.org>
79993
79994         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
79995
79996 2005-08-17  Bruno Haible  <bruno@clisp.org>
79997
79998         * modules/mbuiter: New file.
79999         * MODULES.html.sh (Extended multibyte and wide character utilities):
80000         Add mbuiter.
80001
80002 2005-08-17  Bruno Haible  <bruno@clisp.org>
80003
80004         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
80005         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
80006
80007 2005-08-17  Bruno Haible  <bruno@clisp.org>
80008
80009         * m4/strcasestr.m4: New file.
80010
80011 2005-08-17  Bruno Haible  <bruno@clisp.org>
80012
80013         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
80014         * lib/strstr.c: Completely rewritten, with multibyte locale support.
80015
80016 2005-08-17  Bruno Haible  <bruno@clisp.org>
80017
80018         * lib/strcasestr.h: New file.
80019         * lib/strcasestr.c: New file.
80020
80021 2005-08-17  Bruno Haible  <bruno@clisp.org>
80022
80023         * lib/strcasecmp.c: Use mbuiter.h.
80024
80025 2005-08-17  Bruno Haible  <bruno@clisp.org>
80026
80027         * lib/mbuiter.h: New file.
80028
80029 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
80030
80031         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
80032         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
80033         and gl_GETOPT are both invoked via different paths (as happens
80034         with GNU tar CVS because it uses both argp and getopt), the former
80035         wins.
80036
80037 2005-08-16  Bruno Haible  <bruno@clisp.org>
80038
80039         * modules/tls: New file.
80040         * MODULES.html.sh (Multithreading): Add tls.
80041
80042 2005-08-16  Bruno Haible  <bruno@clisp.org>
80043
80044         * modules/strnlen1: New file.
80045         * MODULES.html.sh (String handling): Add strnlen1.
80046
80047 2005-08-16  Bruno Haible  <bruno@clisp.org>
80048
80049         * modules/strcase (Files): Add m4/mbrtowc.m4.
80050         (Depends-on): Add strnlen1, mbchar.
80051
80052 2005-08-16  Bruno Haible  <bruno@clisp.org>
80053
80054         * modules/mbiter: New file.
80055         * MODULES.html.sh (Extended multibyte and wide character utilities):
80056         Add mbiter.
80057
80058 2005-08-16  Bruno Haible  <bruno@clisp.org>
80059
80060         * modules/mbfile: New file.
80061         * MODULES.html.sh (Extended multibyte and wide character utilities):
80062         Add mbfile.
80063
80064 2005-08-16  Bruno Haible  <bruno@clisp.org>
80065
80066         * modules/mbchar: New file.
80067         * MODULES.html.sh (Extended multibyte and wide character utilities):
80068         New section.
80069
80070 2005-08-16  Bruno Haible  <bruno@clisp.org>
80071
80072         * m4/tls.m4: New file, from GNU gettext.
80073
80074 2005-08-16  Bruno Haible  <bruno@clisp.org>
80075
80076         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
80077         always.
80078         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
80079
80080 2005-08-16  Bruno Haible  <bruno@clisp.org>
80081
80082         * m4/mbiter.m4: New file.
80083
80084 2005-08-16  Bruno Haible  <bruno@clisp.org>
80085
80086         * m4/mbfile.m4: New file.
80087
80088 2005-08-16  Bruno Haible  <bruno@clisp.org>
80089
80090         * m4/mbchar.m4: New file.
80091
80092 2005-08-16  Bruno Haible  <bruno@clisp.org>
80093
80094         * lib/tls.h: New file, from GNU gettext.
80095         * lib/tls.c: New file, from GNU gettext.
80096
80097 2005-08-16  Bruno Haible  <bruno@clisp.org>
80098
80099         * lib/strnlen1.h: New file.
80100         * lib/strnlen1.c: New file.
80101
80102 2005-08-16  Bruno Haible  <bruno@clisp.org>
80103
80104         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
80105         (mbi_init): Update.
80106         (mbi_avail, mbi_advance): Let the iteration end before the terminating
80107         NUL byte, not after it.
80108
80109 2005-08-16  Bruno Haible  <bruno@clisp.org>
80110
80111         * lib/strcase.h (strcasecmp): Add note in comments.
80112         * lib/strncasecmp.c: Use code from strcasecmp.c.
80113         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
80114         (strcasecmp): Work correctly in multibyte locales.
80115
80116 2005-08-16  Bruno Haible  <bruno@clisp.org>
80117
80118         * lib/mbiter.h: New file.
80119
80120 2005-08-16  Bruno Haible  <bruno@clisp.org>
80121
80122         * lib/mbfile.h: New file.
80123
80124 2005-08-16  Bruno Haible  <bruno@clisp.org>
80125
80126         * lib/mbchar.h: New file.
80127         * lib/mbchar.c: New file.
80128
80129 2005-08-16  Bruno Haible  <bruno@clisp.org>
80130
80131         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
80132         the valid ones. Makes the comparison operations transitive:
80133         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
80134         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
80135
80136 2005-08-15  Simon Josefsson  <jas@extundo.com>
80137
80138         * modules/ssize_t (License): Change to 'unlimited'.
80139
80140         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
80141
80142 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
80143
80144         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
80145         Add comments for each pending glibc patch.
80146
80147 2005-08-15  Bruno Haible  <bruno@clisp.org>
80148
80149         * lib/regex.h (__restrict_arr): Don't define to __restrict if
80150         __cplusplus is defined.
80151
80152 2005-08-14  Jim Meyering  <jim@meyering.net>
80153
80154         Sync from coreutils.
80155
80156         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
80157         Use the hash-table-based cycle-detection code not just when
80158         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
80159         Reported by James Youngman in
80160         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
80161         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
80162         FTS_TIGHT_CYCLE_CHECK.
80163         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
80164         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
80165         once again.
80166         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
80167         * lib/fts.c (fd_safer): Remove decl.
80168         Include fcntl--.h rather than unistd-safer.h
80169         (fts_safe_changedir): Don't call fd_safer; no longer needed
80170         now that we include fcntl--.h.
80171
80172 2005-08-12  Simon Josefsson  <jas@extundo.com>
80173
80174         * modules/getndelim2: Use ssize_t module.
80175         * modules/getnline: Likewise.
80176         * modules/safe-read: Likewise.
80177         * modules/xreadlink: Likewise.
80178
80179         * modules/ssize_t: New file.
80180
80181 2005-08-12  Simon Josefsson  <jas@extundo.com>
80182
80183         * m4/readline.m4: Look for termcap, curses or ncurses if required.
80184
80185 2005-08-12  Simon Josefsson  <jas@extundo.com>
80186
80187         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
80188         ssize_t.
80189
80190 2005-08-12  Simon Josefsson  <jas@extundo.com>
80191
80192         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
80193         readline, getdelim and check_version.
80194         (Support for systems lacking ISO C 99: Sizes of integer types):
80195         Add size_max.
80196
80197 2005-08-12  Bruno Haible  <bruno@clisp.org>
80198
80199         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
80200
80201 2005-08-11  Simon Josefsson  <jas@extundo.com>
80202
80203         * modules/readline: New file.
80204
80205         * modules/strnlen (Files): Add strnlen.h.
80206
80207 2005-08-11  Simon Josefsson  <jas@extundo.com>
80208
80209         * m4/readline.m4: New file.
80210
80211 2005-08-11  Simon Josefsson  <jas@extundo.com>
80212
80213         * lib/readline.h, readline.c: New file.
80214
80215 2005-08-11  Simon Josefsson  <jas@extundo.com>
80216
80217         * doc/gnulib.texi (Initial import, Finishing touches): Mention
80218         gl_AVOID.
80219
80220 2005-08-11  Bruno Haible  <bruno@clisp.org>
80221
80222         * lib/strnlen.h (strnlen): Change parameter name to match comment.
80223
80224 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
80225
80226         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
80227
80228 2005-08-10  Simon Josefsson  <jas@extundo.com>
80229
80230         * tests/test-iconvme.c: New file.
80231
80232 2005-08-10  Simon Josefsson  <jas@extundo.com>
80233
80234         * m4/strnlen.m4: New file.
80235
80236         * m4/strndup.m4: Don't check for strnlen declaration, done in
80237         strnlen.m4.
80238
80239 2005-08-10  Simon Josefsson  <jas@extundo.com>
80240
80241         * lib/strndup.c: Use strnlen.h.
80242
80243         * lib/strnlen.h: New file.
80244
80245 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
80246
80247         * README: Typos.
80248
80249 2005-08-02  Simon Josefsson  <jas@extundo.com>
80250
80251         * modules/readline: New file.
80252
80253 2005-08-02  Simon Josefsson  <jas@extundo.com>
80254
80255         * modules/getdelim: New file.
80256
80257         * modules/getline: Rewrite, don't use getndelim2.
80258
80259 2005-08-02  Simon Josefsson  <jas@extundo.com>
80260
80261         * m4/getline.m4: Separate out getdelim stuff into separate module.
80262
80263         * m4/getdelim.m4: New file.
80264
80265 2005-08-02  Simon Josefsson  <jas@extundo.com>
80266
80267         * lib/getline.h, getline.c: Rewrite.
80268
80269         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
80270
80271 2005-07-31  Bruno Haible  <bruno@clisp.org>
80272
80273         * lib/lock.h (gl_lock_initializer): New macro.
80274         (gl_lock_define_initialized): Use it.
80275         (gl_rwlock_initializer): New macro.
80276         (gl_rwlock_define_initialized): Use it.
80277         (gl_recursive_lock_initializer): New macro.
80278         (gl_recursive_lock_define_initialized): Use it.
80279
80280 2005-07-30  Karl Berry  <karl@gnu.org>
80281
80282         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
80283         Report from Ben Pfaff, regarding getopt.
80284
80285 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
80286
80287         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
80288         normal way.
80289         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
80290         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
80291         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
80292         (gl_GETOPT): Use the new macros.  Most of the implementation
80293         is moved to the new macros.  This is for programs like Emacs
80294         that don't want all the functionality of gl_GETOPT.
80295
80296 2005-07-26  Bruno Haible  <bruno@clisp.org>
80297
80298         * m4/lock.m4: Update from GNU gettext.
80299
80300 2005-07-26  Bruno Haible  <bruno@clisp.org>
80301
80302         * lib/lock.h: Update from GNU gettext.
80303         * lib/lock.c: Update from GNU gettext.
80304
80305 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
80306
80307         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
80308         obsolescent AC_TRY_RUN.  Include the default includes files, for
80309         'exit'.
80310
80311 2005-07-24  Bruno Haible  <bruno@clisp.org>
80312
80313         * modules/visibility: New file.
80314         * MODULES.html.sh (Misc): Add visibility.
80315
80316 2005-07-24  Bruno Haible  <bruno@clisp.org>
80317
80318         * m4/visibility.m4: New file.
80319
80320 2005-07-24  Bruno Haible  <bruno@clisp.org>
80321
80322         * doc/visibility.texi: New file.
80323
80324 2005-07-22  Bruno Haible  <bruno@clisp.org>
80325
80326         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
80327         $(ALLOCA_H), redundant through BUILT_SOURCES.
80328         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
80329         redundant through BUILT_SOURCES.
80330         * modules/byteswap (Makefile.am): Remove explicit dependency on
80331         $(BYTESWAP_H), redundant through BUILT_SOURCES.
80332         * modules/fnmatch (Makefile.am): Remove explicit dependency on
80333         $(FNMATCH_H), redundant through BUILT_SOURCES.
80334         * modules/getopt (Makefile.am): Remove explicit dependency on
80335         $(GETOPT_H), redundant through BUILT_SOURCES.
80336         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
80337         redundant through BUILT_SOURCES.
80338         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
80339         redundant through BUILT_SOURCES.
80340         * modules/stdbool (Makefile.am): Remove explicit dependency on
80341         $(STDBOOL_H), redundant through BUILT_SOURCES.
80342         * modules/stdint (Makefile.am): Remove explicit dependency on
80343         $(STDINT_H), redundant through BUILT_SOURCES.
80344         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
80345         Remove explicit dependency on $(SYSEXITS_H).
80346         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
80347
80348 2005-07-18  Simon Josefsson  <jas@extundo.com>
80349
80350         * lib/check-version.c (check_version): Accept identical versions too.
80351
80352 2005-07-18  Bruno Haible  <bruno@clisp.org>
80353
80354         * modules/lock: New file.
80355         * MODULES.html.sh (Multithreading): New section.
80356
80357 2005-07-18  Bruno Haible  <bruno@clisp.org>
80358
80359         * m4/lock.m4: New file, from GNU gettext.
80360
80361 2005-07-18  Bruno Haible  <bruno@clisp.org>
80362
80363         * lib/lock.h: New file, from GNU gettext.
80364         * lib/lock.c: New file, from GNU gettext.
80365
80366 2005-07-18  Bruno Haible  <bruno@clisp.org>
80367
80368         * lib/lock.h (gl_once_t): New type.
80369         (gl_once_define, gl_once): New macros.
80370         * lib/lock.c (fresh_once): New variable.
80371         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
80372         functions.
80373
80374 2005-07-16  Simon Josefsson  <jas@extundo.com>
80375
80376         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
80377         workaround, suggested by Bruno.
80378
80379 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
80380
80381         * modules/xalloc (Depends-on): Add xalloc-die.
80382         * modules/xvasprintf (Depends-on): Add xalloc-die.
80383
80384 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
80385
80386         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
80387         with a minor change.
80388
80389 2005-07-15  Bruno Haible  <bruno@clisp.org>
80390
80391         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
80392         When using lib/poll.c, define poll as rpl_poll.
80393
80394 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
80395
80396         * modules/argp (Depends-on): Remove unlocked-io.
80397
80398 2005-07-14  Derek Price  <derek@ximbiot.com>
80399
80400         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
80401         for glob symlink bug.
80402
80403 2005-07-14  Bruno Haible  <bruno@clisp.org>
80404
80405         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
80406         Instead, test for *_unlocked function declarations directly.
80407
80408 2005-07-11  Simon Josefsson  <jas@extundo.com>
80409
80410         * modules/size_max: New file.
80411
80412         * modules/xsize: Depend on size_max module for size_max.m4.
80413
80414 2005-07-11  Simon Josefsson  <jas@extundo.com>
80415
80416         * lib/size_max.h: New file.
80417
80418 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
80419
80420         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
80421         copyright symbol and the year.
80422         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
80423         (version_etc_va): Use parameterized copyright notice.
80424         Reword to conform to the current GNU coding standards.
80425
80426 2005-07-11  Karl Berry  <karl@gnu.org>
80427
80428         * doc/gnulib.texi (Quoting): new node.
80429         (Initial import): more info, from Patrice.
80430
80431 2005-07-11  Bruno Haible  <bruno@clisp.org>
80432
80433         * gnulib-tool (func_usage): Document option --avoid.
80434         (Command line options): Handle --avoid.
80435         (func_acceptable): New function.
80436         (func_modules_transitive_closure): Use it.
80437
80438 2005-07-11  Bruno Haible  <bruno@clisp.org>
80439
80440         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
80441         Reported by Jim Meyering.
80442
80443 2005-07-10  Bruno Haible  <bruno@clisp.org>
80444
80445         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
80446         Needed when size_t is smaller than 'unsigned int'.
80447         Reported by Paul Eggert.
80448
80449 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
80450
80451         * modules/argp (Depends-on): Add unlocked-io
80452
80453 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
80454
80455         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
80456         block of defines.
80457
80458 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
80459
80460         * config/srclist.txt: Comment out regcomp.c, since we have a porting
80461         fix now.
80462
80463 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
80464         and Paul Eggert  <eggert@cs.ucla.edu>
80465
80466         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
80467         in wint_t, not wchar_t.  Remove now-unnecessary cast.
80468
80469 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
80470
80471         * modules/regex (Files): Add lib/regex_internal.c,
80472         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
80473         (Depends-on): Add extensions.
80474         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
80475
80476 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
80477
80478         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
80479         pathconf.
80480         * m4/same.m4 (gl_SAME): Likewise.
80481         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
80482
80483         * m4/regex.m4: Adjust to new libc regex implementation.
80484         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
80485         all the .c and .h parts of (the new) regex.
80486         Quote the m4 stuff better.
80487         Check for RE_ICASE bug of old gnulib.
80488         Check for REG_STARTEND of recent libc.
80489         Rename local variables from jm_* to gl_*.
80490         Quote operand of "test -f".
80491         Say "recent enough" version of libc, not "version 2".
80492         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
80493         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
80494         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
80495         Remove check for btowc, isascii.
80496         Require AM_LANGINFO_CODESET.
80497
80498 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
80499
80500         * lib/regex.c, regex.h: Sync from libc.
80501         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
80502         * lib/regexec.c:
80503         New files, synced from libc, except that regex_internal.h
80504         currently has a small porting fix.
80505
80506 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
80507
80508         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
80509         regex_internal.c, regexec.c.
80510         Add regex_internal.h too, but as a comment, since the libc version
80511         is currently broken in gnulib mode.
80512
80513 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
80514
80515         Support programs like Emacs that use gnulib but not gettext.
80516         * MODULES.html.sh (Internationalization functions): Add gettext-h.
80517         * modules/gettext-h: New file.
80518         * modules/gettext (Files): Remove lib/gettext.h.
80519         (Depends-on): Add gettext-h.
80520         (Makefile.am): Remove lib_SOURCES.
80521         * modules/argmatch, modules/c-stack, modules/closeout:
80522         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
80523         * modules/execute, modules/file-type, modules/getaddrinfo:
80524         * modules/getopt, modules/human, modules/javacomp:
80525         * modules/javaexec, modules/mkdir-p, modules/obstack:
80526         * modules/openat, modules/pagealign_alloc, modules/pipe:
80527         * modules/quotearg, modules/regex, modules/rpmatch:
80528         * modules/unicodeio, modules/userspec, modules/version-etc:
80529         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
80530         * modules/xsetenv:
80531         Depend on gettext-h, not gettext.
80532
80533 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
80534
80535         * gnulib-tool (func_import): Add support for 'public domain' license.
80536         * modules/alloca, modules/atexit, modules/memmove:
80537         Now public domain, not GPL.
80538         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
80539         * modules/realloc, modules/strerror, modules/strtod:
80540         Now LGPL, not GPL.
80541
80542 2005-07-05  Bruno Haible  <bruno@clisp.org>
80543
80544         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
80545         autoconf CVS. Needed for mingw.
80546
80547 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
80548
80549         Remove the dependency of the strftime module on the tzset module.
80550         * modules/strftime (Depends-on): Remove dependency on tzset.
80551
80552 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
80553
80554         Remove the dependency of the strftime module on the tzset module.
80555         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
80556         gl_FUNC_TZSET_CLOBBER.
80557
80558 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
80559
80560         Remove the dependency of the strftime module on the tzset module.
80561         * lib/strftime.c (my_strftime)
80562         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
80563         Copy the input structure, to work around some of the bug with
80564         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
80565         Solaris releases, you should also use the tzset module, but we won't
80566         require it as a dependency any more since we don't want LGPLed code
80567         to depend on GPLed code.
80568
80569 2005-07-02  Jim Meyering  <jim@meyering.net>
80570
80571         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
80572         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
80573         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
80574         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
80575
80576 2005-07-02  Jim Meyering  <jim@meyering.net>
80577
80578         * lib/backupfile.c (backup_args): Change a `0' to NULL.
80579
80580 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
80581
80582         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
80583         declares only 'struct timespec;' (!).
80584
80585 2005-07-01  Jim Meyering  <jim@meyering.net>
80586
80587         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
80588         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
80589         * lib/save-cwd.c, tempname.c:
80590         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
80591         and don't include <sys/file.h>).
80592
80593 2005-06-29  Jim Meyering  <jim@meyering.net>
80594
80595         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
80596         type name.  Use the variable name instead.
80597         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
80598         Likewise.
80599
80600 2005-06-28  Simon Josefsson  <jas@extundo.com>
80601
80602         * modules/check-version (Files): Add check-version.m4.
80603
80604 2005-06-28  Simon Josefsson  <jas@extundo.com>
80605
80606         * m4/check-version.m4: New file, suggested by Jim Meyering
80607         <jim@meyering.net>.
80608
80609 2005-06-28  Simon Josefsson  <jas@extundo.com>
80610
80611         * lib/check-version.h, lib/check-version.c: New files.
80612
80613 2005-06-28  Simon Josefsson  <jas@extundo.com>
80614
80615         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
80616         collision with global variable.  Better indentation.  Don't
80617         increment buffer pointer beyond buffer end.  Based on comments
80618         from Paul Eggert <eggert@cs.ucla.edu>.
80619
80620         * lib/base64.h: Indent.
80621
80622 2005-06-28  Simon Josefsson  <jas@extundo.com>
80623
80624         * doc/gnulib.texi (Library version handling): New section.
80625
80626 2005-06-28  Jim Meyering  <jim@meyering.net>
80627
80628         * check-module (find_included_lib_files): Hard-code another
80629         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
80630         but modules/fts-lgpl (correctly) does not list those files.
80631
80632         * modules/canonicalize (Files): Add lib/pathmax.h.
80633
80634 2005-06-25  Simon Josefsson  <jas@extundo.com>
80635
80636         * modules/check-version: New file.
80637
80638 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
80639
80640         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
80641         initializer of struct addrinfo, as an indication that we don't
80642         care how many members the structure has.
80643
80644 2005-06-24  Derek Price  <derek@ximbiot.com>
80645         and Bruno Haible  <bruno@clisp.org>
80646
80647         Remove stat module & update lstat.
80648         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
80649         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
80650         * m4/stat.m4: Remove this file.
80651
80652 2005-06-24  Derek Price  <derek@ximbiot.com>
80653         and Bruno Haible  <bruno@clisp.org>
80654
80655         Remove stat module & update lstat.
80656         * lib/stat.c: Remove this file...
80657         (slash_aware_lstat): ...moving this content and its support...
80658         * lib/lstat.c (rpl_lstat): ...into here.
80659         * lib/lstat.h: New file.
80660
80661 2005-06-24  Derek Price  <derek@ximbiot.com>
80662         and Bruno Haible  <bruno@clisp.org>
80663
80664         Remove stat module & update lstat.
80665         * config/srclist.txt (libc sources): Remove stat.
80666
80667 2005-06-24  Derek Price  <derek@ximbiot.com>
80668         and Bruno Haible  <bruno@clisp.org>
80669
80670         Remove stat module & update lstat.
80671         * MODULES.html.sh (stat): Remove.
80672         * MODULES.html: Regenerated.
80673         * modules/lstat (Description): Correct function name.
80674         (Files): Add "lstat.h".
80675         (Depends-on): Remove stat, add xalloc, stat-macros.
80676         * modules/stat: Remove this file.
80677         (Include): Add "lstat.h", remove <sys/stat.h>.
80678
80679 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
80680
80681         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
80682         (ranged_convert): Don't save conversion in a temporary struct.
80683         This causes a warning with GCC 4.0.0, and anyway in the typical
80684         case it's not worth the extra 100 bytes or so of code.
80685         (ranged_convert, __mktime_internal): When calling a function via a
80686         pointer P, use P () rather than (*P) (), as we now assume C89 or
80687         better.
80688
80689 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
80690
80691         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
80692         "who -r" failed to give output.  Problem reported by Tim Waugh.
80693
80694         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
80695         (xcalloc): Use it to avoid needless tests.
80696         Problem reported by Jim Meyering.
80697
80698 2005-06-20  Derek Price  <derek@ximbiot.com>
80699
80700         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
80701         unnecessary for Autoconfs > 2.59c.
80702
80703 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
80704
80705         * lib/argp.h (__option_is_short): Check upper limit of
80706         __key. Isprint() requires its argument to have the value
80707         of an unsigned char or EOF.
80708
80709 2005-06-16  Jim Meyering  <jim@meyering.net>
80710
80711         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
80712         when either N or S is zero.
80713
80714 2005-06-16  Derek Price  <derek@ximbiot.com>
80715
80716         * m4/bison.m4: Declare YACC & YFLAGS precious.
80717
80718 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
80719
80720         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
80721         multibyte string or pattern, fall back on unibyte matching.
80722         Problem reported by James Youngman.
80723
80724 2005-06-08  Bruno Haible  <bruno@clisp.org>
80725
80726         * modules/csharpcomp: New file.
80727         * MODULES.html.sh (C#): Add csharpcomp.
80728
80729 2005-06-08  Bruno Haible  <bruno@clisp.org>
80730
80731         * m4/csharpcomp.m4: New file, from GNU gettext.
80732
80733 2005-06-08  Bruno Haible  <bruno@clisp.org>
80734
80735         * lib/csharpcomp.h: New file, from GNU gettext.
80736         * lib/csharpcomp.c: New file, from GNU gettext.
80737         * lib/csharpcomp.sh.in: New file, from GNU gettext.
80738
80739 2005-06-08  Bruno Haible  <bruno@clisp.org>
80740
80741         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
80742         warning on mingw.
80743
80744 2005-06-07  Derek Price  <derek@ximbiot.com>
80745
80746         Sync from CVS.
80747         * lib/glob_.h: Indent nested #ifdef.
80748
80749 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
80750
80751         Sync from coreutils.
80752         Use "file name" when talking about file names, instead of "filename"
80753         or "path", as per the GNU coding standards.
80754         * lib/mkdir-p.c: Renamed from makepath.c.
80755         (make_dir_parents): Renamed from make_path.  All callers changed.
80756         * lib/mkdir-p.h: Likewise.  All includers changed.
80757         * lib/filenamecat.c: Renamed from path-concat.c.
80758         (file_name_concat): Renamed from path_concat.  All callers changed.
80759         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
80760         * lib/filenamecat.h: Likewise.  All includers changed.
80761         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
80762         in comments or local variable names.
80763         * lib/basename.c: Likewise.
80764         * lib/canonicalize.c, canonicalize.h: Likewise.
80765         * lib/dirname.c, dirname.h: Likewise.
80766         * lib/euidaccess.c: Likewise.
80767         * lib/exclude.c: Likewise
80768         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
80769         * lib/fsusage.c, fsuage.h: Likewise.
80770         * lib/fts.c, fts_.h: Likewise.
80771         * lib/getcwd.c: Likewise.
80772         * lib/getloadavg.c: Likewise.
80773         * lib/mkstemp.c: Likewise.
80774         * lib/mountlist.c, mountlist.h: Likewise.
80775         * lib/openat.c, openat.h: Likewise.
80776         * lib/readlink-stub.c: Likewise.
80777         * lib/readutmp.c, readutmp.h: Likewise.
80778         * lib/rename.c: Likewise.
80779         * lib/rmdir.c: Likewise.
80780         * lib/same.c: Likewise.
80781         * lib/savedir.c: Likewise.
80782         * lib/stripslash.c: Likewise.
80783         * lib/tempname.c: Likewise.
80784         * lib/xreadlink.c: Likewise.
80785         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
80786         All uses changed.
80787         * lib/exclude.h: Likewise.
80788
80789         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
80790         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
80791         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
80792         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
80793         * lib/pathmax.h: Include <limits.h> unconditionally, since other
80794         files have been getting away with it for years (MORE/BSD 4.3
80795         is extinct now).
80796         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
80797         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
80798
80799         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
80800         Define to 256, not 255, as per modern POSIX.
80801
80802 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
80803
80804         Sync from coreutils.
80805         Use "file name" when talking about file names, instead of "filename"
80806         or "path", as per the GNU coding standards.
80807         * MODULES.html.sh: mkdir-p renamed from makepath.
80808         filenamecat renamed from path-concat.
80809         * modules/filenamecat: Renamed from modules/path-concat.
80810         (Files): filenamecat.h and filenamecat.c renamed from
80811         path-concat.h and path-concat.c.
80812         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
80813         (Include): filenamecat.h, not path-concat.h.
80814         * modules/mkdir-p: Renamed from modules/makepath.
80815         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
80816         makepath.c.
80817         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
80818         (Include): mkdir-p.h, not makepath.h.
80819
80820 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
80821
80822         Sync from coreutils.
80823         * m4/mkdir-p.m4: Renamed from makepath.m4.
80824         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
80825         Rename files from makepath.c to mkdir-p.c, and from
80826         makepath.h to mkdir-p.h.
80827         * m4/filenamecat.m4: Renamed from path-concat.m4.
80828         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
80829         Rename files from path-concat.c to filenamecat.c,
80830         and from path-concat.h to filenamecat.h.
80831         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
80832         "file name" in local variables or comments.
80833         * m4/rename.m4: Likewise.
80834
80835 2005-06-01  Bruno Haible  <bruno@clisp.org>
80836
80837         * modules/csharpexec: New file.
80838         * MODULES.html.sh (C#): New section.
80839
80840 2005-06-01  Bruno Haible  <bruno@clisp.org>
80841
80842         * m4/csharp.m4: New file, from GNU gettext.
80843         * m4/csharpexec.m4: New file, from GNU gettext.
80844
80845 2005-06-01  Bruno Haible  <bruno@clisp.org>
80846
80847         * lib/csharpexec.h: New file, from GNU gettext.
80848         * lib/csharpexec.c: New file, from GNU gettext.
80849         * lib/csharpexec.sh.in: New file, from GNU gettext.
80850
80851 2005-05-31  Derek Price  <derek@ximbiot.com>
80852             Paul Eggert  <eggert@cs.ucla.edu>
80853
80854         Sync from cvs.
80855         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
80856
80857 2005-05-31  Derek Price  <derek@ximbiot.com>
80858             Paul Eggert  <eggert@cs.ucla.edu>
80859
80860         Sync from cvs.
80861         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
80862
80863 2005-05-29  Derek Price  <derek@ximbiot.com>
80864
80865         * config/srclist.txt (glob_.h, glob.c): Add these files.
80866
80867 2005-05-29  Derek Price  <derek@ximbiot.com>
80868
80869         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
80870         * modules/glob: New file.
80871         * modules/getlogin_r: Add link to POSIX spec in description.
80872
80873 2005-05-29  Derek Price  <derek@ximbiot.com>
80874             Paul Eggert  <eggert@cs.ucla.edu>
80875
80876         * m4/glob.m4: New file.
80877
80878 2005-05-29  Derek Price  <derek@ximbiot.com>
80879             Paul Eggert  <eggert@cs.ucla.edu>
80880
80881         * lib/glob_.h, lib/glob.c: New files.
80882
80883 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
80884
80885         * modules/fts (Files): Remove m4/inttypes-pri.m4.
80886         * modules/fts-lgpl (Depends-on): Remove gettext.
80887
80888 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
80889
80890         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
80891         and don't require gt_INTTYPES_PRI.
80892
80893 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
80894
80895         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
80896
80897         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
80898         the configuration hassle isn't worth it.
80899         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
80900         (LONGEST_MODIFIER, PRIuMAX): Remove.
80901
80902 2005-05-27  Bruno Haible  <bruno@clisp.org>
80903
80904         * lib/getlogin_r.h: Remove second include of <stddef.h>.
80905
80906 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
80907
80908         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
80909         _POSIX_PTHREAD_SEMANTICS for Solaris.
80910
80911 2005-05-25  Derek Price  <derek@ximbiot.com>
80912
80913         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
80914
80915 2005-05-25  Derek Price  <derek@ximbiot.com>
80916             Paul Eggert  <eggert@cs.ucla.edu>
80917
80918         * modules/getlogin_r, m4/getlogin_r.m4: New files.
80919         * lib/getlogin_r.c, getlogin_r.h: New files.
80920
80921 2005-05-25  Bruno Haible  <bruno@clisp.org>
80922             Derek Price  <derek@ximbiot.com>
80923
80924         * lib/getlogin_r.h: Simplify API documentation.
80925
80926 2005-05-23  Derek Price  <derek@ximbiot.com>
80927
80928         * modules/minmax (Files): Add m4/minmax.m4.
80929         (configure.ac): Add gl_MINMAX.
80930
80931 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
80932
80933         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
80934         so that unistd-safer.h (GPL'ed code) need not be included.
80935
80936 2005-05-22  Bruno Haible  <bruno@clisp.org>
80937
80938         * m4/minmax.m4: New file.
80939         Based on a patch by Derek Price <derek@ximbiot.com>.
80940
80941 2005-05-22  Bruno Haible  <bruno@clisp.org>
80942
80943         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
80944         (INT64_MIN): Fix definition.
80945         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
80946
80947         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
80948         NEED_SIGNED_INT_TYPES.
80949
80950         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
80951         HAVE_SYSTEM_INTTYPES.
80952
80953 2005-05-22  Bruno Haible  <bruno@clisp.org>
80954
80955         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
80956         Also include <sys/param.h> if it defines MIN, MAX.
80957         Based on a patch by Derek Price <derek@ximbiot.com>.
80958
80959 2005-05-21  Jim Meyering  <jim@meyering.net>
80960
80961         * modules/fts (Files): Add m4/inttypes-pri.m4.
80962         (Depends-on): Add lstat and remove gettext.  Alphabetize.
80963
80964 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
80965
80966         New fts module.
80967         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
80968         (setup_dir, free_dir): New functions.
80969         (enter_dir, leave_dir): Define trivial
80970         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
80971         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
80972         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
80973         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
80974         Move to fts-cycle.c.
80975         (fts_open): Use setup_dir.
80976         (fts_close): Use free_dir.
80977         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
80978         This adds a label and some gotos, but the alternatives were messier.
80979         Check for memory allocation failure when entering a dir.
80980         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
80981         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
80982         (FTS): New member fts_cycle, that is a union that contains the
80983         old active_dir_ht and cycle_state.  All uses changed to mention
80984         fts_cycle.ht and fts_cycle.state.
80985         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
80986         fts.c, with the following changes:
80987         (setup_dir, free_dir): New functions.
80988         (enter_dir): Now returns bool.  Return true if successful, false
80989         if memory exhausted.  All callers changed.
80990         Do not bother partly cleaning up on
80991         memory allocation failure; that is free_dir's job.
80992         However, free ad if hash_insert fails, to avoid memory leak.
80993         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
80994         fts->fts_options to see which union member to use.
80995
80996 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
80997
80998         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
80999         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
81000
81001 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
81002
81003         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
81004
81005 2005-05-20  Jim Meyering  <jim@meyering.net>
81006
81007         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
81008         Now a macro, to pacify GCC.
81009
81010 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
81011
81012         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
81013         of -1.
81014
81015 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
81016
81017         * lib/chown.c (rpl_chown): Return -1 on failure.
81018
81019 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
81020
81021         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
81022         Don't check for stddef.h.
81023         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
81024         don't use its results.
81025         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
81026         since we include them unconditionally.  Don't require
81027         AM_STDBOOL_H, since stdbool is a prerequisite.
81028         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
81029         since we assume C89 or better.
81030         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
81031         as we don't use their results.
81032         Don't check for fchdir, memmove, memset, strrchr, as we use
81033         them unconditionally.
81034         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
81035         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
81036
81037 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
81038
81039         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
81040         Include <stddef.h> unconditionally, since we assume C89 now.
81041         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
81042         * lib/fts.c: Include fts_.h first, to check interface.
81043         Do not include intprops.h; no longer needed.
81044         Include cycle-check.h and hash.h, since fts_.h no longer does.
81045         Remove unnecessary casts of closedir to void.
81046         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
81047         decide whether to decrement nlinks.
81048         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
81049         (FTS): Use struct hash_table * instead of Hash_table, so that
81050         we no longer need to include hash.h here.
81051
81052 2005-05-18  Jim Meyering  <jim@meyering.net>
81053
81054         * modules/dirfd (License): Change to LGPL.  Most of the code
81055         is already in the public domain.
81056
81057 2005-05-18  Jim Meyering  <jim@meyering.net>
81058
81059         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
81060         Reported by Yoann Vandoorselaere.
81061
81062 2005-05-17  Jim Meyering  <jim@meyering.net>
81063
81064         * m4/fts.m4: New file, from coreutils.
81065
81066 2005-05-17  Jim Meyering  <jim@meyering.net>
81067
81068         * lib/fts.c, lib/fts_.h: New files, from coreutils.
81069
81070 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
81071
81072         Sync from coreutils.
81073         * m4/unlinkdir.m4: New file.
81074
81075 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
81076
81077         Sync from coreutils.
81078         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
81079         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
81080         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
81081         White space changes only.
81082         * lib/makepath.c (make_path): Port to hosts where leading "//" is
81083         special.
81084         * lib/yesno.c: Include getline.h, not ctype.h.
81085         (yesno): Don't remove leading white space; POSIX doesn't allow it.
81086         Use getline to remove arbitrary restriction on response length.
81087
81088 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
81089
81090         * config/srclist-update: Spell out "Street" in FSF postal
81091         mail address; this is the style the FSF seems to prefer.
81092
81093         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
81094         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
81095         this updates FSF postal mail address.
81096
81097         Sync from coreutils.
81098         * modules/unlinkdir: New file.
81099         * modules/yesno (Depends-on): Add getline.
81100         * MODULES.html.sh (File system functions): Add unlinkdir.
81101
81102 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
81103
81104         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
81105         lib/strsep.h:
81106         Change the initial comment to refer to GPL, not LGPL.
81107         gnulib-tool will change it to LGPL as needed.
81108
81109         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
81110         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
81111         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
81112         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
81113         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
81114         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
81115         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
81116         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
81117         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
81118         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
81119         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
81120         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
81121         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
81122         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
81123         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
81124         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
81125         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
81126         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
81127         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
81128         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
81129         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
81130         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
81131         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
81132         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
81133         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
81134         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
81135         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
81136         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
81137         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
81138         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
81139         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
81140         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
81141         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
81142         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
81143         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
81144         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
81145         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
81146         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
81147         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
81148         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
81149         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
81150         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
81151         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
81152         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
81153         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
81154         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
81155         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
81156         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
81157         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
81158         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
81159         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
81160         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
81161         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
81162         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
81163         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
81164         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
81165         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
81166         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
81167         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
81168         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
81169         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
81170         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
81171         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
81172         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
81173         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
81174         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
81175         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
81176         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
81177         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
81178         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
81179         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
81180         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
81181         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
81182         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
81183         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
81184         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
81185         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
81186         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
81187         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
81188         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
81189         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
81190         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
81191         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
81192         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
81193         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
81194         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
81195         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
81196         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
81197         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
81198         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
81199         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
81200         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
81201         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
81202         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
81203         lib/yesno.c, lib/yesno.h:
81204         Update FSF postal mail address.
81205
81206 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
81207
81208         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
81209         tests/test-memmem.c, tests/test-stpncpy.c:
81210         Update FSF postal mail address.
81211
81212 2005-05-13  Bruno Haible  <bruno@clisp.org>
81213
81214         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
81215         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
81216         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
81217         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
81218         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
81219         Add support for 64-bit integers in the MSVC compiler.
81220
81221 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
81222
81223         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
81224
81225 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
81226
81227         * gnulib-tool (func_import): Sort and uniquify recommended includes.
81228
81229 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
81230
81231         * doc/getdate.texi (General date syntax): Don't say that date
81232         date --iso-8601=ns generates acceptable dates; it doesn't yet.
81233         Problem reported by Nic Ferrier.
81234
81235 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
81236
81237         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
81238         specified in ai_socktype. Fix invalid ai_protocol
81239         check. ai_protocol is usually set to 0 or depending on
81240         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
81241         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
81242         ai_socktype / ai_protocol in the returned addrinfo structure.
81243
81244 2005-05-10  Simon Josefsson  <jas@extundo.com>
81245
81246         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
81247         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
81248
81249 2005-05-10  Karl Berry  <karl@gnu.org>
81250
81251         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
81252         (from http://www.gnu.org/licenses).
81253         * doc/COPYING.LIB: also rename to COPYING.LESSER.
81254         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
81255         fdl.texi suffices.
81256
81257 2005-05-10  Karl Berry  <karl@gnu.org>
81258
81259         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
81260         (COPYING.DOC): remove.
81261
81262         * config/srclist-update: new FSF address.
81263
81264 2005-05-10  Derek Price  <derek@ximbiot.com>
81265
81266         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
81267         possible.
81268
81269 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
81270             Bruno Haible  <bruno@clisp.org>
81271
81272         * modules/inet_ntop: New file.
81273         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
81274         inet_ntop.
81275
81276 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
81277             Bruno Haible  <bruno@clisp.org>
81278
81279         * m4/inet_ntop.m4: New file.
81280
81281 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
81282             Bruno Haible  <bruno@clisp.org>
81283
81284         * lib/inet_ntop.h: New file.
81285         * lib/inet_ntop.c: New file, from glibc with modifications.
81286
81287 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
81288
81289         * modules/time_r (License): Change to LGPL.
81290         * modules/extensions (License): Change to LGPL.  Actually,
81291         the license is more permissive than that, but currently gnulib-tool
81292         doesn't know how to handle more-permissive licenses.
81293
81294         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
81295         Problem reported by Dave Love.
81296
81297 2005-05-08  Jim Meyering  <jim@meyering.net>
81298
81299         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
81300         blank.
81301
81302 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
81303
81304         * modules/argmatch (Depends-on): Add stdbool.
81305         * modules/backupfile (Depends-on): Likewise.
81306         * modules/chdir-long (Depends-on): Likewise.
81307         * modules/closeout (Depends-on): Likewise.
81308         * modules/cycle-check (Depends-on): Likewise.
81309         * modules/dirname (Depends-on): Likewise.
81310         * modules/fnmatch (Depends-on): Likewise.
81311         * modules/fsusage (Depends-on): Likewise.
81312         * modules/fwriteerror (Depends-on): Likewise.
81313         * modules/getcwd (Depends-on): Likewise.
81314         * modules/getloadavg (Depends-on): Likewise.
81315         * modules/hard-locale (Depends-on): Likewise.
81316         * modules/makepath (Depends-on): Likewise.
81317         * modules/mountlist (Depends-on): Likewise.
81318         * modules/nanosleep (Depends-on): Likewise.
81319         * modules/posixtm (Depends-on): Likewise.
81320         * modules/quotearg (Depends-on): Likewise.
81321         * modules/readtokens (Depends-on): Likewise.
81322         * modules/readtokens0 (Depends-on): Likewise.
81323         * modules/readutmp (Depends-on): Likewise.
81324         * modules/save-cwd (Depends-on): Likewise.
81325         * modules/strftime (Depends-on): Likewise.
81326         * modules/userspec (Depends-on): Likewise.
81327         * modules/utimecmp (Depends-on): Likewise.
81328         * modules/xgetcwd (Depends-on): Likewise.
81329         * modules/xnanosleep (Depends-on): Likewise.
81330         * modules/xstrtod (Depends-on): Likewise.
81331         * modules/yesno (Depends-on): Likewise.
81332
81333 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
81334
81335         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
81336         needless checks.
81337
81338 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
81339
81340         Merge from coreutils.  Among other things,
81341         add bulletproofing for cases where stdin, stdout, or stderr are closed.
81342         * lib/fd-safer.c: New file.
81343         * lib/fcntl-safer.h, open-safer.c: Remove.
81344         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
81345         * lib/dup-safer.c: Include unistd-safer.h first.
81346         Don't include errno.h.
81347         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
81348         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
81349         * lib/file-type.c: Rely on file-type.h change.
81350         * lib/getloadavg.c: Include unistd-safer.h.
81351         (getloadavg): Use safer open.
81352         * lib/getusershell.c: Include "stdio-safer.h".
81353         (getusershell): Use safer fopen.
81354         * lib/long-options.c (long_options): Use NULL rather than 0.
81355         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
81356         'free'.
81357         * lib/modechange.c: Likewise.
81358         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
81359         (MODE_DONE): New constant.
81360         (struct mode_change): Remove 'next' member.
81361         (make_node_op_equals): New function; like the old one of the
81362         same name, except it allocates an array.
81363         (mode_compile, mode_create_from_ref): Use it.
81364         (mode_compile): Allocate result as an array, not a linked list.
81365         Parse octal string ourself, so that we catch mistakes like "+0".
81366         (mode_adjust): Arg is an array, not a linked list.
81367         * lib/modechange.c: Include stat-macros.h, xalloc.h.
81368         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
81369         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
81370         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
81371         Remove.  This is now stat-macros.h's job.
81372         (talloc): Remove.  All callers replaced by xalloc, so that
81373         our invokers don't have to worry about reporting memory failures.
81374         (make_node_op_equals): Remove.
81375         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
81376         New constants.
81377         (struct mode_change): Moved here from modechange.h.
81378         (mode_append_entry): Remove.
81379         (mode_compile): Remove MASKED_OPS arg, since it encouraged
81380         apps to have incorrect behavior.  Use simpler algorithm for head
81381         and tail.  Don't futz with umask; that's now the job of mode_adjust.
81382         Detect more invalid usages rather than having somewhat-random behavior.
81383         Don't insert an "a=" action, as that leads to incorrect behavior.
81384         (mode_compile, mode_create_from_ref): Return NULL on error instead
81385         of an enum, since now there's only one way to have an error.  All
81386         callers changed.
81387         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
81388         at the correct time.  Simplify calculation of "+u" and its ilk.
81389         Don't mishandle "+X".
81390         (mode_free): Remove "register" and localize decls.
81391         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
81392         (struct mode_change): Move to modechange.c; callers don't
81393         need to see this stuff.
81394         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
81395         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
81396         (mode_change, mode_adjust): Reflect the new signatures noted above.
81397         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
81398         that might redefine system include files.
81399         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
81400         (my_usleep): Use NULL rather than (void *) 0.
81401         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
81402         Use siginterrupt to specify that system calls should be interrupted.
81403         (rpl_nanosleep): Move initialization of suspended closer to call of
81404         my_usleep.
81405         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
81406         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
81407         (desirable_utmp_entry): New function.
81408         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
81409         using x2nrealloc, to simplify logic.
81410         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
81411         size calculation.  Do not assume utmp file is a regular file.
81412         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
81413         (READ_UTMP_CHECK_PIDS): New constant.
81414         * lib/save-cwd.c: Include unistd-safer.h.
81415         (save_cwd): Use fd_safer.
81416         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
81417         [!_LIBC] Include "stat-macros.h" instead.
81418         * lib/unistd-safer.h (fd_safer): New decl.
81419
81420 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
81421
81422         * modules/getloadavg (Depends-on): Add unistd-safer.
81423         * modules/getusershell (Depends-on): Add stdio-safer.
81424         * modules/lstat (Depends-on): Remove xalloc.
81425         * modules/mkstemp (Depends-on): Add stat-macros.
81426         * modules/modechange (Depends-on): Remove xstrtol.
81427         Add stat-macros, xalloc.
81428         * modules/save-cwd (Depends-on): Add unistd-safer.
81429         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
81430         * modules/unistd-safer (Files): Add lib/fd-safer.c
81431         (Makefile.am): Remove lib_SOURCES.
81432
81433         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
81434         Remove fcntl-safer; unistd-safer supersedes it.
81435
81436 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
81437
81438         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
81439         AC_HEADER_STAT.
81440         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
81441         (gl_PREREQ_CHOWN): Remove.
81442         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
81443         it.  Don't require AC_HEADER_STAT.
81444         (gl_PREREQ_LSTAT): Remove.
81445         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
81446         Don't require AC_HEADER_STAT.
81447         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
81448         (gl_PREREQ_RMDIR): Remove.
81449         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
81450         mention stat-macros.h or AC_HEADER_STAT, since we'll make
81451         the stat-macros module a prerequisite.
81452         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
81453         * m4/filemode.m4 (gl_FILEMODE): Likewise.
81454         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
81455         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
81456         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
81457         variable names.
81458         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
81459         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
81460         variable prefixes.
81461         * m4/fcntl-safer.m4: Remove.
81462         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
81463         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
81464         Invoke gl_PREREQ_FD_SAFER.
81465         (gl_PREREQ_FD_SAFER): New macro.
81466         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
81467         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
81468         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
81469         Remove duplicate call to AC_LIBOBJ(readutmp).
81470         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
81471
81472         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
81473         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
81474
81475 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
81476
81477         * MODULES.html.sh (Misc): Add byteswap.
81478
81479 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
81480
81481         * modules/getcwd (Depends-on): Add extensions.
81482         * modules/openat (Depends-on): Likewise.
81483
81484 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
81485
81486         * modules/byteswap: New file.
81487
81488 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
81489
81490         * m4/byteswap.m4: New file.
81491
81492 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
81493
81494         * lib/byteswap_.h: New file.
81495
81496 2005-04-25  Karl Berry  <karl@gnu.org>
81497
81498         * m4/gettext.m4: Update from GNU gettext 0.14.4.
81499
81500 2005-04-25  Albert Chin  <china@thewrittenword.com>
81501
81502         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
81503         Toolkit C bug.
81504
81505 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
81506
81507         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
81508         (func_ln_if_changed): Remove forcibly for no error message
81509         in case file does not exist.
81510
81511 2005-04-19  Simon Josefsson  <jas@extundo.com>
81512
81513         * gnulib-tool (Options): Make --symlink mean --symbolic.
81514
81515 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
81516
81517         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
81518
81519 2005-04-16  Simon Josefsson  <jas@extundo.com>
81520
81521         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
81522
81523 2005-04-15  Simon Josefsson  <jas@extundo.com>
81524
81525         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
81526
81527 2005-04-15  Simon Josefsson  <jas@extundo.com>
81528
81529         * gnulib-tool: Rename --symlink to --symbolic.
81530
81531 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
81532
81533         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
81534         symbolic links to files instead of copying/moving.  Add --aux-dir,
81535         specifying directory relative --dir where auxiliary build tools
81536         are placed.
81537
81538 2005-04-14  Bruno Haible  <bruno@clisp.org>
81539
81540         * modules/allocsa (License): Change to LGPL.
81541         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
81542
81543 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
81544
81545         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
81546         that "UTC +1 second" continues to work.  Problem reported
81547         by Dmitry V. Levin.
81548         (relunit_snumber): New rule.
81549         (relunit): Use it.
81550
81551 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
81552
81553         * lib/getdate.y (universal_time_zone_table): New constant.
81554         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
81555         universal_time_zone_table.
81556         (lookup_zone): Prefer universal_time_zone_table to
81557         local_time_zone_table, so that "GMT" time stamps are allowed in
81558         London during the summer.  Problem reported by Ian Abbott.
81559
81560 2005-04-12  Jim Meyering  <jim@meyering.net>
81561
81562         * lib/human.c (humblock): Set *options even when returning due to
81563         xstrtoumax conversion failure.  Thanks to a used-uninitialized
81564         warning from gcc-4.
81565
81566 2005-04-09  Jim Meyering  <jim@meyering.net>
81567
81568         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
81569         -Wuninitialized: initialize tm0.tm_year.
81570
81571 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
81572
81573         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
81574         count, since there's no maximum.  All uses changed.
81575         Add member dsts_seen.
81576         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
81577         not being INT_MAX.
81578         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
81579         Use pc_rels_seen to decide whther a date is absolute.
81580
81581         * lib/getdate.y (number): Don't overwrite year.
81582         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
81583         check.
81584
81585 2005-04-02  Simon Josefsson  <jas@extundo.com>
81586
81587         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
81588         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
81589
81590 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
81591
81592         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
81593         where no absolute path name can be longer than PATH_MAX.
81594
81595 2005-03-27  Jim Meyering  <jim@meyering.net>
81596
81597         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
81598
81599 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
81600
81601         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
81602         "one's complement" -> "ones' complement" in comment, as per Knuth.
81603         "value of type" -> "type or expression" in comment.
81604         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
81605
81606 2005-03-26  Jim Meyering  <jim@meyering.net>
81607
81608         Comment nits.
81609         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
81610         Correct typos: s/or/of/.
81611
81612 2005-03-26  Jim Meyering  <jim@meyering.net>
81613
81614         * modules/check-include-files: Move to ../ and rename to...
81615         * check-module: ...this.
81616
81617 2005-03-25  Jim Meyering  <jim@meyering.net>
81618
81619         * modules/xvasprintf (Files): Add xalloc.h.
81620
81621 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
81622
81623         * modules/gettext (Files): config/config.rpath ->
81624         build-aux/config.rpath
81625         * modules/iconv (Files): Likewise.
81626         Problem reported by Oskar Liljeblad.
81627
81628 2005-03-23  Jim Meyering  <jim@meyering.net>
81629
81630         * modules/check-include-files: New script to check for
81631         missing dependencies, multiple includes, etc.
81632
81633         * modules/c-strtold (Depends-on): Add xalloc.
81634         * modules/c-strtod (Depends-on): Add xalloc.
81635         * modules/hash (Depends-on): Add xalloc.
81636         (Files): Remove lib/xalloc.h.
81637
81638         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
81639         * modules/userspec (Files): Add lib/inttostr.h.
81640
81641 2005-03-23  Jim Meyering  <jim@meyering.net>
81642
81643         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
81644
81645 2005-03-22  Jim Meyering  <jim@meyering.net>
81646
81647         * modules/stat-macros: New module.
81648         * modules/canonicalize, modules/euidaccess, modules/file-type,
81649         * modules/filemode, modules/lchown, modules/makepath,
81650         * modules/rmdir, modules/stat: Depend on new stat-macros module
81651         rather than listing lib/stat-macros.h manually.
81652         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
81653
81654 2005-03-22  Jim Meyering  <jim@meyering.net>
81655
81656         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
81657
81658 2005-03-22  Bruno Haible  <bruno@clisp.org>
81659
81660         * config/srclist.txt: Replace target directory 'config' with
81661         'build-aux'.
81662         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
81663         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
81664         ../build-aux/.
81665
81666 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
81667
81668         * modules/chdir-long (Depends-on): Add mempcpy.
81669
81670         * modules/acl, modules/backupfile, modules/c-strtod,
81671         modules/c-strtold, modules/canon-host, modules/canonicalize,
81672         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
81673         modules/exclude, modules/exitfail, modules/file-type,
81674         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
81675         modules/getdate, modules/getline, modules/getpagesize,
81676         modules/getpass, modules/getugroups, modules/group-member,
81677         modules/hard-locale, modules/hash, modules/human, modules/idcache,
81678         modules/inttostr, modules/long-options, modules/makepath,
81679         modules/md5, modules/memcasecmp, modules/memcoll,
81680         modules/modechange, modules/mountlist, modules/path-concat,
81681         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
81682         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
81683         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
81684         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
81685         modules/strftime, modules/strndup, modules/strverscmp,
81686         modules/timespec, modules/unlocked-io, modules/userspec,
81687         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
81688         modules/yesno:
81689         Remove lib_SOURCES line from Makefile.am section, as this is now
81690         done automatically by the corresponding Autoconf macro.
81691
81692 2005-03-21  Jim Meyering  <jim@meyering.net>
81693
81694         Changes imported from coreutils.
81695
81696         * lib/cycle-check.c: Don't include xalloc.h.
81697
81698         * lib/path-concat.c: Don't include assert.h.
81699         (path_concat): Remove assertion that would have triggered
81700         for ABASE starting with more than one slash.
81701         Reported by Andreas Schwab.
81702
81703         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
81704         properly when ABASE is an absolute file name.
81705         Correct the description of this function.
81706         Include <assert.h>.
81707         Add an assertion and a test driver.
81708         This fixes a bug introduced on 2004-07-02.
81709         Andreas Schwab reported the resulting failure of cp --parents:
81710         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
81711
81712 2005-03-21  Jim Meyering  <jim@meyering.net>
81713
81714         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
81715         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
81716
81717 2005-03-21  Jim Meyering  <jim@meyering.net>
81718         and  Paul Eggert  <eggert@cs.ucla.edu>
81719
81720         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
81721         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
81722         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
81723         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
81724         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
81725         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
81726         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
81727         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
81728         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
81729         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
81730         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
81731         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
81732         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
81733         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
81734         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
81735         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
81736         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
81737         for these modules.
81738
81739 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
81740
81741         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
81742         (which shouldn't happen), generate nothing instead of returning 0
81743         immediately, so that nstrftime (NULL, ...) doesn't return 0.
81744
81745 2005-03-16  Bruno Haible  <bruno@clisp.org>
81746
81747         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
81748         HAVE_LONGLONG_64BIT.
81749
81750 2005-03-16  Bruno Haible  <bruno@clisp.org>
81751
81752         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
81753         HAVE_LONGLONG_64BIT.
81754
81755 2005-03-16  Bruno Haible  <bruno@clisp.org>
81756
81757         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
81758         HAVE_LONGLONG_64BIT.
81759
81760 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
81761
81762         * lib/strftime.c (my_strftime): Prepend space to format so that we can
81763         reliably distinguish strftime failure from empty output on POSIX
81764         hosts.
81765
81766 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
81767
81768         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
81769         (iconv_string): Don't guess a size-zero buffer, as that might cause
81770         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
81771         result would be 'too large', where 'too large' is (heuristically)
81772         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
81773         overflow concerns.  This will prevent some unwanted malloc failures
81774         when the inputs are very large.
81775
81776 2005-03-15  Karl Berry  <karl@gnu.org>
81777
81778         * config/srclist.txt (config.rpath): from gettext.
81779         * config/config.rpath: update.
81780
81781 2005-03-15  Bruno Haible  <bruno@clisp.org>
81782
81783         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
81784         to 'negate'.
81785
81786         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
81787         variable.
81788
81789         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
81790         results.
81791
81792 2005-03-14  Simon Josefsson  <jas@extundo.com>
81793
81794         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
81795         <fx@gnu.org>.
81796
81797 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
81798
81799         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
81800         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
81801         intprops.h.
81802         * lib/strtol.c: Likewise.
81803
81804 2005-03-14  Jim Meyering  <jim@meyering.net>
81805
81806         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
81807         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
81808         to be nonzero so that we (and caller) can detect the difference
81809         between a valid zero-length expansion and an error return, even
81810         when the underlying strftime fails before writing anything into
81811         that location.
81812
81813 2005-03-14  Bruno Haible  <bruno@clisp.org>
81814
81815         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
81816         Update from GNU gettext 0.14.3.
81817
81818 2005-03-10  Jim Meyering  <jim@meyering.net>
81819
81820         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
81821
81822 2005-03-10  Jim Meyering  <jim@meyering.net>
81823
81824         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
81825         so that this module works on systems without fchdir.
81826
81827 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
81828
81829         Factor int-properties macros into a single file, except for
81830         glibc-related files.
81831         * lib/intprops.h: New file.
81832         * lib/getloadavg.c: Include it instead of limits.h.
81833         (INT_STRLEN_BOUND): Remove.
81834         * lib/human.c: Include intprops.h.
81835         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
81836         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
81837         302/1000.
81838         * lib/inttostr.h: Include intprops.h instead of limits.h.
81839         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
81840         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
81841         for consistency with intprops.h.
81842         (time_t_is_integer, twos_complement_arithmetic): Use them.
81843         * lib/sig2str.h: Include <signal.h>, intprops.h.
81844         (INT_STRLEN_BOUND): Remove.
81845         * lib/strftime.c (TYPE_SIGNED): Remove.
81846         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
81847         * lib/strtol.c: Adjust comments to match intprops.h.
81848         * lib/userspec.c: Include intprops.h.
81849         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
81850         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
81851         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
81852         instead of rolling our own expressions.
81853         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
81854
81855         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
81856         instead of int.
81857         (my_strftime): Do not mishandle years close to INT_MAX, by doing
81858         the right thing even if adding 1900 would overflow.  Similarly
81859         for tm_mon + 1 and tm_yday + 1.
81860         Make %Y always equivalent to %C%y, and similarly for %G and %g.
81861         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
81862         (DO_SIGNED_NUMBER): New macro.
81863         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
81864
81865 2005-03-07  Bruno Haible  <bruno@clisp.org>
81866
81867         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
81868
81869 2005-03-07  Bruno Haible  <bruno@clisp.org>
81870
81871         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
81872
81873 2005-03-04  Derek R. Price  <derek@ximbiot.com>
81874
81875         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
81876         (func_import): Only replace files via --import when they have actually
81877         changed.
81878
81879 2005-03-03  Derek R. Price  <derek@ximbiot.com>
81880
81881         * m4/mmap-anon.m4: New file.
81882         * m4/pagealign_alloc.m4: New file.
81883
81884 2005-03-03  Derek R. Price  <derek@ximbiot.com>
81885             Bruno Haible  <bruno@clisp.org>
81886
81887         * modules/pagealign_alloc: New file.
81888         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
81889
81890 2005-03-03  Derek R. Price  <derek@ximbiot.com>
81891             Bruno Haible  <bruno@clisp.org>
81892
81893         * lib/pagealign_alloc.h: New file.
81894         * lib/pagealign_alloc.c: New file.
81895
81896 2005-03-03  Bruno Haible  <bruno@clisp.org>
81897
81898         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
81899         Use an all-permissive copyright notice, recommended by RMS.
81900
81901 2005-03-02  Bruno Haible  <bruno@clisp.org>
81902
81903         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
81904         of AIX, the replacement has to be done only after <string.h> is
81905         included, therefore not in config.h. stpncpy.h does the replacement,
81906         and stpncpy.c uses it.
81907
81908 2005-03-02  Bruno Haible  <bruno@clisp.org>
81909
81910         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
81911         stpncpy.c uses it.
81912
81913 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
81914
81915         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
81916         The workaround isn't strictly needed for POSIX conformance, and
81917         it's too much of a pain to configure and maintain.  We'll ask
81918         people to fix their kernels instead.
81919         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
81920         (NANOSLEEP_BUG_WORKAROUND): Remove.
81921         (xnanosleep): Remove the workaround.
81922
81923 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
81924
81925         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
81926         Reported by Derek Price.
81927         (Include): Add "timespec.h".
81928
81929         * modules/xnanosleep (Depends-on): Remove gethrxtime.
81930
81931 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
81932
81933         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
81934         to detect nanosleep bug.
81935
81936 2005-03-01  Bruno Haible  <bruno@clisp.org>
81937
81938         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
81939
81940 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
81941
81942         * modules/gethrxtime: New file.
81943         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
81944         (Depends-on): Add gethrxtime.
81945         (configure.ac): Add gl_XNANOSLEEP.
81946         (Makefile.am): Remove lib_SOURCES line.
81947
81948 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
81949
81950         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
81951         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
81952
81953 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
81954
81955         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
81956         * lib/timespec.h (gettime): Return void, since it always
81957         succeeds now.  All uses changed.
81958         * lib/gettime.c (gettime): Likewise.
81959         [HAVE_NANOTIME]: Prefer nanotime.
81960         Assume gettimeofday succeeds, as POSIX requires.
81961         Assime time () succeeds, since other code already does.
81962         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
81963         (timespec_subtract): Remove.
81964         (NANOSLEEP_BUG_WORKAROUND): New constant.
81965         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
81966         things considerably.  Use it only on GNU/Linux hosts, since the
81967         workaround shouldn't be needed elsewhere.
81968
81969 2005-02-24  Bruno Haible  <bruno@clisp.org>
81970
81971         * modules/gettext (Files): Add m4/glibc2.m4.
81972
81973 2005-02-24  Bruno Haible  <bruno@clisp.org>
81974
81975         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
81976         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
81977         * m4/progtest.m4:
81978         Update from GNU gettext 0.14.2.
81979         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
81980
81981 2005-02-24  Bruno Haible  <bruno@clisp.org>
81982
81983         * lib/localcharset.c: Update from GNU gettext 0.14.2.
81984         * lib/config.charset: Update from GNU gettext 0.14.2.
81985
81986 2005-02-24  Bruno Haible  <bruno@clisp.org>
81987
81988         * lib/gettext.h: Update from GNU gettext 0.14.2.
81989
81990 2005-02-23  Simon Josefsson  <jas@extundo.com>
81991
81992         * m4/iconvme.m4: New file.
81993
81994 2005-02-23  Jim Meyering  <jim@meyering.net>
81995
81996         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
81997         change.
81998         Thanks to Bruno Haible for catching it.
81999
82000 2005-02-22  Simon Josefsson  <jas@extundo.com>
82001
82002         * modules/iconvme: New file.
82003
82004         * MODULES.html.sh: Add iconvme.
82005
82006 2005-02-22  Simon Josefsson  <jas@extundo.com>
82007
82008         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
82009
82010 2005-02-22  Simon Josefsson  <jas@extundo.com>
82011
82012         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
82013
82014 2005-02-22  Jim Meyering  <jim@meyering.net>
82015
82016         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
82017         s/ifndef/ifdef/.
82018
82019 2005-02-20  Neil Conway  <neilc@samurai.com>
82020
82021         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
82022         returned by OSX/Darwin if the specified buffer is not large
82023         enough for the hostname.
82024
82025 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82026
82027         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
82028         pass it to _help, otherwise the latter coredumps trying to
82029         dereference state.root_argp.
82030
82031 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
82032
82033         * modules/chdir-long (Depends-on): Add memrchr.
82034         * modules/memrchr (Files): Add lib/memrchr.h.
82035         (Include): "memrchr.h".
82036
82037 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
82038
82039         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
82040
82041 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
82042
82043         * lib/memrchr.h: New file.
82044         * lib/chdir-long.c: Include it.
82045         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
82046         Don't bother including stddef.h.
82047
82048 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
82049
82050         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
82051         inclusion.
82052         Include <sys/types.h>, for dev_t.
82053         (ME_DUMMY, ME_REMOTE): Move from here....
82054         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
82055         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
82056         Dmitry V. Levin.
82057         Include mountlist.h first, to test the interface.
82058
82059 2005-01-29  Bruno Haible  <bruno@clisp.org>
82060
82061         * lib/progname.c (program_name): Initialize.
82062         Needed when linking statically on MacOS X.
82063
82064 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
82065
82066         Sync from coreutils.
82067         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
82068         (Depends-on): Add c-strtod.
82069         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
82070
82071 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
82072
82073         Sync from coreutils.
82074         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
82075
82076         Remove files that are specific to coreutils.
82077         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
82078
82079 2005-01-28  Bruno Haible  <bruno@clisp.org>
82080
82081         * modules/javacomp: New file.
82082         * MODULES.html.sh (Java): Add javacomp.
82083
82084 2005-01-28  Bruno Haible  <bruno@clisp.org>
82085
82086         * m4/javacomp.m4: New file, from GNU gettext.
82087
82088 2005-01-28  Bruno Haible  <bruno@clisp.org>
82089
82090         * lib/javacomp.sh.in: New file, from GNU gettext.
82091         * lib/javacomp.h: New file, from GNU gettext.
82092         * lib/javacomp.c: New file, from GNU gettext.
82093
82094 2005-01-26  Simon Josefsson  <jas@extundo.com>
82095
82096         * lib/gai_strerror.c: Use GPL in header.
82097
82098 2005-01-26  Bruno Haible  <bruno@clisp.org>
82099
82100         * modules/javaexec: New file.
82101         * MODULES.html.sh (Java): Add javaexec.
82102
82103 2005-01-26  Bruno Haible  <bruno@clisp.org>
82104
82105         * m4/javaexec.m4: New file, from GNU gettext.
82106
82107 2005-01-26  Bruno Haible  <bruno@clisp.org>
82108
82109         * lib/javaexec.sh.in: New file, from GNU gettext.
82110         * lib/javaexec.h: New file, from GNU gettext.
82111         * lib/javaexec.c: New file, from GNU gettext.
82112
82113 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82114
82115         * modules/lchown (Depends-on): Remove lchown.h
82116
82117 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82118
82119         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
82120         must be defined if the header file was not found, in order
82121         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
82122
82123 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82124
82125         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
82126         initializers for struct pentry_state.
82127         (__argp_error): Check return value of __asprintf
82128         (__argp_failure): Translate error message
82129
82130         * lib/argp-parse.c: Removed braces around the expansion of N_()
82131
82132 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
82133
82134         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
82135         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
82136         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
82137         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
82138         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
82139         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
82140         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
82141         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
82142         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
82143         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
82144         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
82145         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
82146         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
82147         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
82148         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
82149         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
82150         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
82151         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
82152         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
82153         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
82154         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
82155         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
82156         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
82157         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
82158         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
82159         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
82160         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
82161         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
82162         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
82163         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
82164         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
82165         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
82166         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
82167         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
82168         xstrtol.m4, xstrtoumax.m4, yesno.m4:
82169         Use an all-permissive copyright notice, recommended by RMS.
82170
82171 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
82172
82173         * modules/chdir-long (Depends-on): Remove mempcpy.
82174
82175 2005-01-21  Jim Meyering  <jim@meyering.net>
82176
82177         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
82178         same value as for Solaris 9.
82179
82180         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
82181         component length.  This included changing the parameter to be
82182         of type `char *' rather than `char const *'.
82183         * lib/chdir-long.h (chdir_long): Update prototype.
82184
82185         * lib/openat.c (fdopendir, fstatat): New functions.
82186         * lib/openat.h: Include headers required for use of DIR and struct
82187         stat.
82188         [AT_SYMLINK_NOFOLLOW]: Define.
82189         (fdopendir, fstatat): Add prototypes.
82190
82191 2005-01-21  Bruno Haible  <bruno@clisp.org>
82192
82193         * modules/classpath: New file.
82194         * MODULES.html.sh (Java): Add classpath.
82195
82196 2005-01-21  Bruno Haible  <bruno@clisp.org>
82197
82198         * lib/classpath.h: New file, from GNU gettext.
82199         * lib/classpath.c: New file, from GNU gettext.
82200
82201 2005-01-20  Simon Josefsson  <jas@extundo.com>
82202
82203         * modules/version-etc-fsf: New file.
82204
82205 2005-01-20  Simon Josefsson  <jas@extundo.com>
82206
82207         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
82208         * lib/version-etc.c: Remove version_etc_copyright.
82209         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
82210         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
82211
82212 2005-01-20  Simon Josefsson  <jas@extundo.com>
82213
82214         * lib/base64.h (isbase64): Add.
82215
82216         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
82217         using a unsigned prototype, don't inline.
82218         (base64_decode): Use it.
82219
82220 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
82221
82222         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
82223         it.
82224
82225 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
82226
82227         * lib/save-cwd.c (save_cwd): Remove code to support the case
82228         where fchdir is missing or flaky.
82229
82230 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
82231
82232         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
82233
82234 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
82235
82236         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
82237         AC_LIBSOURCES now does this.
82238         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
82239         with new ullong_max module.
82240
82241 2005-01-19  Bruno Haible  <bruno@clisp.org>
82242
82243         * modules/sh-quote: New file.
82244         * MODULES.html.sh (Executing programs): Add sh-quote.
82245
82246 2005-01-19  Bruno Haible  <bruno@clisp.org>
82247
82248         * lib/sh-quote.h: New file, from GNU gettext.
82249         * lib/sh-quote.c: New file, from GNU gettext.
82250
82251 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
82252
82253         Merge from coreutils.
82254         * m4/ullong_max.m4: New file.
82255         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
82256         (gl_MACROS): Assume localeconv exists.
82257
82258 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
82259
82260         Merge changes from coreutils, as described below in several
82261         changelogs dated today.
82262
82263         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
82264         (O_DIRECTORY): Remove; not needed here, since "." must be
82265         a directory.  All uses removed.
82266         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
82267         universal on Suns, and we also need to test for IRIX.
82268         Revamp code to use 'if' rather than '#if'.
82269         Avoid unnecessary comparison of cwd->desc to 0.
82270
82271         * lib/utimens.c (futimens): Robustify the previous patch, by checking
82272         for known valid error numbers rather than observed invalid ones.
82273
82274 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
82275
82276         * modules/ullong_max: New file.
82277
82278         * modules/chdir-long, modules/openat: New files.
82279         * modules/save-cwd (Depends-on): Depend on chdir-long.
82280         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
82281
82282 2005-01-18  Jim Meyering  <jim@meyering.net>
82283
82284         Merge from coreutils.
82285         * m4/chdir-long.m4, m4/openat.m4: New files.
82286         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
82287         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
82288         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
82289         is sane and DOES follow symlinks.  Besides, testing 20 different
82290         systems found no broken chown implementations.
82291         Prompted by a change in rsync's copy of this macro.
82292         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
82293
82294         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
82295
82296         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
82297         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
82298         NULL-means-set-to-current-time semantics.
82299         Remove temporary file immediately, rather than waiting
82300         for configure's at-exit trap code to do it.
82301
82302 2005-01-18  Jim Meyering  <jim@meyering.net>
82303
82304         * lib/version-etc.c (version_etc_copyright): Update copyright date.
82305
82306         * lib/utimens.c (futimens): Account for the fact that futimes
82307         can also fail with errno == ENOSYS or errno == ENOENT.
82308         Patch from Dmitry V. Levin.
82309
82310         Change the name of the robust chdir function from chdir to chdir_long.
82311         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
82312         (restore_cwd): Use chdir_long, not chdir.
82313         * lib/chdir-long.c: Renamed from chdir.c.
82314         * lib/chdir-long.h: Renamed from chdir.h.
82315         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
82316         Hurd.
82317
82318 2005-01-18  Bruno Haible  <bruno@clisp.org>
82319
82320         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
82321         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
82322         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
82323         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
82324         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
82325         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
82326         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
82327         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
82328         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
82329         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
82330         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
82331         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
82332         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
82333         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
82334         Use an all-permissive copyright notice, recommended by RMS.
82335
82336 2005-01-18  Bob Proulx  <bob@proulx.com>
82337
82338         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
82339         simplify offsetof() macro construct to avoid compile failure with
82340         native HP-UX 11.0 ANSI C compiler.
82341
82342 2005-01-17  Bruno Haible  <bruno@clisp.org>
82343
82344         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
82345         redundant because stpncpy.m4 takes care of it.
82346
82347 2005-01-17  Bruno Haible  <bruno@clisp.org>
82348
82349         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
82350
82351 2005-01-17  Bruno Haible  <bruno@clisp.org>
82352
82353         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
82354         used.
82355
82356 2005-01-17  Bruno Haible  <bruno@clisp.org>
82357
82358         * lib/fwriteerror.h (fwriteerror): Change specification to include
82359         fclose.
82360         * lib/fwriteerror.c: Include <stdbool.h>.
82361         (fwriteerror): At the end, close the file stream. Record whether
82362         stdout was already closed.
82363
82364 2005-01-17  Bruno Haible  <bruno@clisp.org>
82365
82366         * lib/execute.c (environ): Declare if needed.
82367         * lib/pipe.c (environ): Likewise.
82368         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
82369
82370 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82371
82372         * modules/argp: Depend on vsnprintf
82373
82374 2005-01-10  Jim Meyering  <jim@meyering.net>
82375
82376         * modules/closeout (Depends-on): Add atexit.
82377
82378 2005-01-06  Bruno Haible  <bruno@clisp.org>
82379
82380         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
82381
82382 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
82383
82384         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
82385         definitions to be after all include files, to avoid collisions.
82386         Problem reported by Bob Proulx.
82387
82388 2005-01-04  Jim Meyering  <jim@meyering.net>
82389
82390         Changes imported from coreutils.
82391         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
82392         as the mkstemp template, use a temporary directory and an
82393         8.3-friendly template to avoid trouble on systems like DJGPP.
82394         Reported by Juan M. Guerrero via Stepan Kasal.
82395         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
82396         close. Remove the temporary directory right away, rather than waiting
82397         for configure's at-exit trap code to do it.
82398         Suggestion from Stepan Kasal.
82399
82400 2005-01-01  Simon Josefsson  <jas@extundo.com>
82401
82402         * gnulib-tool: Print #include directives when --import'ing.
82403
82404 2004-12-28  Simon Josefsson  <jas@extundo.com>
82405
82406         * tests/test-base64.c: Include required header files.  Remove
82407         unused variables.
82408
82409 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
82410
82411         * modules/error (Depends-on): Remove gettext.
82412
82413 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
82414
82415         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
82416         not needed.  This removes a dependency on the gettext module.
82417         [defined _LIBC]: Do not include <libintl.h>; not needed.
82418
82419 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
82420
82421         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
82422         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
82423
82424 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
82425
82426         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
82427         HAVE_DECL_STRTOLD.
82428
82429 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
82430
82431         * modules/getdate (Depends-on): Remove alloca-opt.
82432
82433 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
82434
82435         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
82436
82437 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
82438
82439         * lib/argp-parse.c: Include <stddef.h>.
82440         (alignof, alignto): New macros.
82441         (parser_init): Don't assume that void * is aligned sufficiently
82442         for struct option.
82443
82444         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
82445         need to extend the stack.
82446         (YYINITDEPTH): New macro, so that the initial stack isn't overly
82447         large.
82448
82449 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82450
82451         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
82452
82453 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
82454
82455         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
82456         (2004-10-24) change.  Apparently this was a false alarm.
82457
82458         * modules/getdate: Depend on alloca-opt, not alloca.
82459
82460 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
82461
82462         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
82463         Remove now-obsolete comment about AIX.
82464         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
82465         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
82466         (YYMAXDEPTH): New macro.
82467
82468 2004-12-18  Simon Josefsson  <jas@extundo.com>
82469
82470         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
82471
82472 2004-12-18  Bruno Haible  <bruno@clisp.org>
82473
82474         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
82475
82476 2004-12-18  Bruno Haible  <bruno@clisp.org>
82477
82478         * lib/fatal-signal.c (fatal_signals): Make non-const.
82479         (init_fatal_signals): New function.
82480         (uninstall_handlers, install_handlers): Ignore signals that were set to
82481         SIG_IGN.
82482         (at_fatal_signal): Call init_fatal_signals.
82483         (init_fatal_signal_set): Likewise. Ignore signals that were set to
82484         SIG_IGN.
82485         Reported by Paul Eggert.
82486
82487 2004-12-18  Bruno Haible  <bruno@clisp.org>
82488
82489         * doc/alloca.texi: New file.
82490         * doc/alloca-opt.texi: New file.
82491
82492 2004-12-17  Jim Meyering  <jim@meyering.net>
82493
82494         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
82495         Otherwise, install-sh could exit with improper exit status when
82496         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
82497
82498 2004-12-16  Simon Josefsson  <jas@extundo.com>
82499
82500         * tests/test-base64.c: Add license.
82501
82502 2004-12-15  Stepan Kasal  <address@hidden>
82503
82504         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
82505
82506 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
82507
82508         * modules/getcwd (Files): Add m4/d-ino.m4.
82509         Suggested by Mark D. Baushke.
82510
82511 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
82512
82513         * lib/getdate.y (textint): New member "negative".
82514         (time_zone_hhmm): New function.
82515         Expect 14 shift-reduce conflicts, not 13.
82516         (o_colon_minutes): New rule.
82517         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
82518         (yylex): Set the "negative" member of signed numbers.
82519
82520 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
82521
82522         * doc/getdate.texi (Time of day items, Time zone items):
82523         Describe new formats +00:00, UTC+00:00.
82524
82525 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
82526
82527         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
82528         spurious "-l"s.  Problem reported by Stepan Kasal.
82529
82530 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
82531
82532         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
82533         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
82534
82535 2004-12-04  Simon Josefsson  <jas@extundo.com>
82536
82537         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
82538         Vandoorselaere <yoann@prelude-ids.org>.
82539
82540 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
82541
82542         Changes imported from coreutils.
82543         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
82544         exist.
82545         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
82546
82547 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
82548
82549         Changes imported from coreutils.
82550         * lib/hard-locale.c: Assume <locale.h> exists.
82551         Include "strdup.h".
82552         (GLIBC_VERSION): New macro.
82553         (hard_locale): Assume setlocale exists.
82554         Rewrite to avoid #ifdef.
82555         Use strdup rather than malloc + strcpy.
82556         * lib/human.c: Assume <locale.h> exists.
82557         (human_readable): Assume localeconv exists.
82558
82559 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
82560
82561         * modules/hard-locale (Depends-on): Add strdup.
82562
82563 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
82564
82565         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
82566         convert T2, not T.  (Imported from libc.)
82567
82568 2004-11-30  Simon Josefsson  <jas@extundo.com>
82569
82570         * modules/restrict (License): Change to LGPL.
82571
82572 2004-11-30  Simon Josefsson  <jas@extundo.com>
82573
82574         * m4/restrict.m4: Add copyright and copying conditions.
82575
82576 2004-11-30  Simon Josefsson  <jas@extundo.com>
82577
82578         * m4/base64.m4: New file.
82579
82580 2004-11-30  Simon Josefsson  <jas@extundo.com>
82581
82582         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
82583         base64.
82584
82585         * tests/test-base64.c: New file.
82586
82587         * modules/base64: New file.
82588
82589 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
82590
82591         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
82592         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
82593
82594         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
82595
82596 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
82597
82598         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
82599         (__getcwd.c): Don't restore errno; glibc doesn't.
82600         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
82601         first, falling back to our code only if its results look suspicious.
82602         Ensure that the resulting buffer is only as large as necessary.
82603
82604         * lib/readutmp.c: Include readutmp.h first.
82605         Include <errno.h>, since readutmp.h no longer does that.
82606         * lib/readutmp.h: Don't include <errno.h>,
82607         <sys/param.h>, <time.h>; not needed to establish interface.
82608         (errno): Remove decl.
82609         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
82610         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
82611         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
82612
82613 2004-11-28  Simon Josefsson  <jas@extundo.com>
82614
82615         * lib/base64.h, base64.c: New file.
82616
82617 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
82618
82619         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
82620
82621 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
82622
82623         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
82624         (Depends-on): Remove pathmax, same.  Add mempcpy.
82625         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
82626         (Makefile.am): Append getcwd.h to lib_SOURCES.
82627         (Include): Add getcwd.h.
82628         (Maintainer): Change from Jim Meyering to "all, glibc",
82629         since getdate now uses intended-for-glibc code.
82630         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
82631         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
82632
82633 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
82634
82635         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
82636         HP's ANSI C compiler.
82637         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
82638         Declaring int functions causes warnings on some modern systems and
82639         shouldn't be needed to compile on ancient ones.
82640         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
82641         defined.
82642
82643         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
82644         with the following changes.
82645         (__set_errno): Parenthesize properly.
82646         Include <stdbool.h>.
82647         (MIN, MAX, MATCHING_INO): New macros.
82648         (__getcwd): Define with prototype, not K&R form.
82649         Use heuristics to allocate default buffer on stack if possible.
82650         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
82651         behavior, and to avoid the PATH_MAX limit when computing
82652         ../../../../...
82653         Use MATCHING_INO to compare inode number to file.
82654         Check for arithmetic overflow in size calculations.
82655         Fix bug in reallocation of dot array that caused getcwd to fail
82656         on directories nested deeper than 75.
82657         Be more careful about saving errno on error.
82658         Do not use realloc; use only free+malloc, as this is a bit
82659         more flexible and avoids a needless copy operation.
82660         Do not inspect st_dev and st_ino for symbolic links; POSIX
82661         doesn't specify the latter.
82662         Check for closedir errors.
82663         Avoid needless casts.
82664         Use "#ifdef weak_alias" around weak_alias, to be like other
82665         glibc code.
82666         The following changes to getcwd.c have effect only when used in
82667         gnulib; they have no effect inside glibc proper.
82668         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
82669         as alloca isn't used.
82670         (alloca, __alloca): Likewise.
82671         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
82672         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
82673         unconditionally, as gnulib assumes C89 or better.
82674         Do not include <sys/param.h>.
82675         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
82676         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
82677         better.
82678         (NULL) [!defined NULL]: Remove; we assume C89 or better.
82679         Include <dirent.h> in a way that is compatible with modern Autoconf.
82680         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
82681         New macros, if not already defined.
82682         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
82683         Use "_LIBC", not "defined _LIBC", for consistency.
82684         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
82685         a mempcpy module.
82686         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
82687         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
82688         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
82689         credit only to Jim Meyering and adjust the copyright dates.
82690         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
82691         <stdlib.h>, <unistd.h>, "pathmax.h".
82692         Instead, include "xgetcwd.h" (first) and "getcwd.h".
82693         (INITIAL_BUFFER_SIZE): Remove.
82694         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
82695
82696 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
82697
82698         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
82699         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
82700         Use the _ONCE methods, for efficiency.
82701         Check for fcntl.h.  In test program, include <errno.h>
82702         and <fcntl.h> if available.  Remove old K&R cruft from
82703         test program.  Check for common errors in GNU/Linux,
82704         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
82705         don't do AC_LIBOBJ, as that's getcwd.m4's job.
82706         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
82707         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
82708         name accordingly.
82709         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
82710         accommodate new getcwd.c.
82711         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
82712         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
82713         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
82714         that's all we need now.
82715
82716 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82717
82718         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
82719         argp-parse.c depends on getopt internals, that means we should
82720         always use our getopt, to be on the safe side.
82721         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
82722         order not to spoil the result of an eventual previous invocation
82723         of gl_GETOPT_SUBSTITUTE.
82724
82725 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82726
82727         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
82728         redefinition warnings. To avoid them, include the defines
82729         in `#if !defined __need_getopt ... #endif'. The only place
82730         where __getopt_argv_const is used is in definitions
82731         of getopt_long and getopt_long_only below, which are as well
82732         protected by `#ifndef __need_getopt'.
82733         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
82734         __need_getopt after including <stdio.h> and <unistd.h> These
82735         headers might have defined it.
82736
82737 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
82738
82739         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
82740
82741 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
82742
82743         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
82744         (futimens): New function, which uses futimes if available.
82745         (futimens, utimens): Support timespec==NULL, with same semantics
82746         as utime and utimens.
82747         * lib/utimens.h (futimens): New decl.
82748
82749 2004-11-23  Jim Meyering  <jim@meyering.net>
82750
82751         * lib/getopt_.h: Remove trailing blanks.
82752
82753 2004-11-23  Jim Meyering  <jim@meyering.net>
82754
82755         * lib/__fpending.c: Add comment.
82756
82757 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
82758
82759         * modules/canonicalize (Depends-on): Add xreadlink.
82760         Problem reported by James Youngman.
82761
82762 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
82763
82764         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
82765         New macros.
82766         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
82767         optopt): Use them instead of invoking ## directly; otherwise, the
82768         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
82769
82770 2004-11-19  Bruno Haible  <bruno@clisp.org>
82771
82772         * lib/strtok_r.c: Move comments from here...
82773         * lib/strtok_r.h: ... to here.
82774
82775 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
82776
82777         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
82778         implementations that mishandle size_t overflow.
82779
82780 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
82781
82782         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
82783         might fail.  Problem reported by Yoann Vandoorselaere.
82784         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
82785         implementations that mishandle size_t overflow.
82786
82787 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
82788
82789         * modules/canon-host (Depends-on): Add strdup.
82790
82791 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
82792
82793         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
82794
82795 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
82796
82797         * lib/canon-host.c: Include "strdup.h".
82798         (canon_host): Use getaddrinfo if available, so that IPv6 works.
82799         Use strdup instead of malloc/strcpy to duplicate strings.
82800
82801         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
82802         (human_space_before_unit): New constant.
82803         * lib/human.c (human_readable): Support it.
82804
82805         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
82806         (xgetcwd): Set errno correctly when failing.
82807         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
82808         the failure is actually due to a PATH_MAX problem.
82809
82810         Further getopt changes to make it more likely that glibc will
82811         buy the changes back.
82812         * lib/getopt.c (POSIXLY_CORRECT): New constant.
82813         (getopt): Use it, so to preserve glibc semantic
82814         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
82815         when compiling for libc.
82816         * lib/getopt_.h (__getopt_argv_const): Bring it back.
82817         (getopt_long, getopt_long_only): Use it.
82818
82819         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
82820         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
82821         (getopt): Argv is now char * const *, as per standard.
82822         (_getopt_internal_r, _getopt_internal): Argv is now char **,
82823         not char *__getopt_argv_const *.
82824         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
82825         _getopt_long_only_r): Likewise.
82826         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
82827         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
82828         _getopt_long_r, _getopt_long_only_r): Likewise.
82829         * lib/getopt_.h (__getopt_argv_const): Remove.
82830         (getopt): Argv is now char * const *, as per standard.
82831
82832         * lib/getdate.y (tORDINAL): New token.
82833         (day, relunit): Allow it for relative times.
82834         (relative_time_table): Use tORDINAL for ordinals.
82835
82836 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
82837
82838         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
82839         Document that "second" isn't allowed as an ordinal number.
82840
82841 2004-11-16  Jim Meyering  <jim@meyering.net>
82842
82843         * modules/closeout (Depends-on): Add fpending.
82844
82845 2004-11-15  Jim Meyering  <jim@meyering.net>
82846
82847         * lib/closeout.c: Include "__fpending.h" once again.
82848         Include <stdbool.h>.
82849         (close_stdout): Don't fail just because stdout was closed initially,
82850         since some programs don't write to stdout in the normal course of
82851         operation (other than --version and --help), and we don't want this
82852         function to make e.g. `touch file >&-' fail.
82853         But do fail if it was closed and someone has tried to write to it.
82854         E.g., `printf foo >&-' must fail.
82855
82856 2004-11-13  Jim Meyering  <jim@meyering.net>
82857
82858         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
82859
82860 2004-11-12  Simon Josefsson  <jas@extundo.com>
82861
82862         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
82863         small doc fix is still pending.
82864
82865 2004-11-11  Simon Josefsson  <jas@extundo.com>
82866
82867         * modules/strtok_r: New file.
82868
82869         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
82870         strtok_r.
82871
82872 2004-11-11  Simon Josefsson  <jas@extundo.com>
82873
82874         * m4/strtok_r.m4: New file.
82875
82876         * m4/getopt.m4: Replace opterr.
82877
82878 2004-11-11  Simon Josefsson  <jas@extundo.com>
82879
82880         * lib/strtok_r.h, strtok_r.c: New file.
82881
82882 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
82883
82884         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
82885         of replacing opterr, getopt, etc.  This should handle the
82886         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
82887
82888 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
82889
82890         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
82891         we can stop lying to compilers about the constness of argv when we
82892         are compiled outside glibc.
82893         (getopt, getopt_long, getopt_long_only): Use it.
82894         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
82895         _getopt_internal, getopt): Likewise.
82896         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
82897         _getopt_long_only_r): Likewise.
82898         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
82899         _getopt_long_r, _getopt_long_only_r): Likewise.
82900
82901         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
82902         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
82903         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
82904         the other external symbols.
82905         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
82906         declaration, since the above renaming now works around collisions.
82907
82908 2004-11-11  Jim Meyering  <jim@meyering.net>
82909
82910         * lib/linebreak.c: Remove trailing blanks.
82911         * lib/alloca_.h: Likewise.
82912         * lib/acosl.c: Likewise.
82913         * lib/euidaccess.c: Likewise.
82914         * lib/allocsa.h: Likewise.
82915
82916 2004-11-10  Simon Josefsson  <jas@extundo.com>
82917
82918         * m4/getaddrinfo.m4: New file.
82919
82920 2004-11-10  Simon Josefsson  <jas@extundo.com>
82921
82922         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
82923
82924 2004-11-10  Simon Josefsson  <jas@extundo.com>
82925
82926         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
82927         getaddrinfo.
82928
82929         * modules/getaddrinfo: New file.
82930
82931 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
82932
82933         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
82934
82935 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
82936
82937         * lib/mktime.c (SHR): New macro, which is a portable
82938         substitute for >> that should work even on Crays.
82939         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
82940         Problem reported by Mark D. Baushke in
82941         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
82942         * lib/getdate.y (SHR): Likewise.
82943         (tm_diff): Use it.
82944         * lib/strftime.c (SHR): Likewise.
82945         (tm_diff): Use it.
82946         * lib/quotearg.c (struct quoting_options): Use unsigned int for
82947         quote_these_too, so that right shifts are well defined.  All uses
82948         changed.
82949
82950 2004-11-10  Jim Meyering  <jim@meyering.net>
82951
82952         Ensure that no close failure goes unreported.
82953         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
82954         return early when it seems there's nothing to flush.
82955         Don't include __fpending.h.
82956
82957 2004-11-10  Jim Meyering  <jim@meyering.net>
82958
82959         * modules/closeout (Depends-on): Remove fpending.
82960
82961 2004-11-10  Jim Meyering  <jim@meyering.net>
82962
82963         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
82964
82965 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
82966
82967         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
82968         gl_FUNC_STRFTIME.
82969         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
82970         and AC_REQUIRE when possible, to avoid duplicate checks.
82971         Check for <wchar.h>.
82972
82973 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
82974
82975         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
82976
82977 2004-11-09  Bruno Haible  <bruno@clisp.org>
82978
82979         * m4/sockpfaf.m4: New file.
82980
82981 2004-11-05  Bruno Haible  <bruno@clisp.org>
82982
82983         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
82984         Reported by Mark D. Baushke <mdb@cvshome.org>.
82985
82986 2004-11-04  Bruno Haible  <bruno@clisp.org>
82987
82988         2004-09-11  Bruno Haible  <bruno@clisp.org>
82989                 * allocsa.valgrind: New file.
82990         2004-02-06  Bruno Haible  <bruno@clisp.org>
82991                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
82992                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
82993                 Reported by Christopher Seip <chris.seip@hp.com>.
82994
82995 2004-11-04  Bruno Haible  <bruno@clisp.org>
82996
82997         * modules/allocsa (Files): Add lib/allocsa.valgrind.
82998         (Makefile.am): Distribute it.
82999
83000 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
83001
83002         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
83003         with errno == ERANGE if the buffer is too small.
83004         Problem reported by Mark D. Baushke.
83005
83006 2004-11-03  Albert Chin  <china@thewrittenword.com>
83007             Paul Eggert  <eggert@cs.ucla.edu>
83008
83009         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
83010         equivalent, substitute $ac_type for equivalent type rather than
83011         blindly using uint32_t *always* which won't work if uint32_t is not
83012         available.  Define _UINT32_T to work around typedef of uint32_t if
83013         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
83014         2.5.1.
83015
83016 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
83017
83018         * m4/jm-macros.m4: Sync from coreutils.
83019         (gl_MACROS): Check for mbrlen, for pathchk.
83020         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
83021
83022 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
83023
83024         * lib/xreadlink.c (MAXSIZE): New macro.
83025         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
83026         size does not exceed MAXSIZE.  Avoid cast.
83027         As suggested by Mark D. Baushke in
83028         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
83029         if readlink fails with buffer size just under MAXSIZE, try again
83030         with MAXSIZE.
83031
83032 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
83033
83034         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
83035
83036 2004-11-02  Derek R. Price  <derek@ximbiot.com>
83037         and  Paul Eggert  <eggert@cs.ucla.edu>
83038
83039         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
83040         (get_date): Overparenthesize to avoid GCC warning.
83041
83042 2004-11-02  Bruno Haible  <bruno@clisp.org>
83043
83044         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
83045         returns void.
83046
83047 2004-11-02  Bruno Haible  <bruno@clisp.org>
83048
83049         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
83050         function returns void.
83051
83052 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
83053
83054         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
83055         fflush_unlocked, flockfile, funlockfile, funlockfile,
83056         fputs_unlocked, putc_unlocked.
83057
83058 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
83059
83060         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
83061         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
83062         already declared.
83063
83064 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
83065
83066         * modules/getdate (Files): Add doc/getdate.texi.
83067         (Depends-on): Add setenv, xalloc.
83068
83069 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
83070
83071         * lib/getdate.y: Add support for TZ="foo" within a date string.
83072         Fix some bugs near time_t boundaries.  Reject dates with
83073         out-of-range components, e.g., "Sept 31".
83074         Include <stdlib.h>, "setenv.h", "xalloc.h".
83075         (ISDIGIT_LOCALE): Remove; unused.
83076         Note that the TZ and time functions used here are not reentrant.
83077         (mktime_ok, get_tz): New functions.
83078         (TZBUFSIZE): New constant.
83079         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
83080         This requires that we sometimes generate our own TZ="XXX..." setting.
83081
83082 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
83083
83084         * doc/getdate.texi: New file, from coreutils with modifications for
83085         the new TZ parsing.
83086
83087 2004-10-27  Derek R. Price  <derek@ximbiot.com>
83088
83089         * lib/mktime.c (not_equal_tm): Remove redundant check.
83090
83091 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
83092
83093         * modules/regex (lib_SOURCES): Add regex.c.
83094         Reported by James Youngman in
83095         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
83096
83097 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
83098
83099         * lib/getdate.y: Use Bison 1.875 features, and some minor
83100         code cleanups.  This change does not affect semantics.
83101         Don't include <stdlib.h>; no longer needed.
83102         Don't include unlocked-io.h; only the "#if TEST" code uses
83103         stdio, and performance isn't crucial there.
83104         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
83105         Bison 1.875 features as described below.
83106         All uses of "PC." replaced by "pc->".
83107         (YYSTYPE): Add a forward declaration.
83108         (yylex, yyerror): Use full prototypes in forward decls.
83109         Use "%pure-parser" rather than obsolescent "%pure_parser".
83110         Use %parse-param and %lex-param instead of obsolescent
83111         YYPARSE_PARAM and YYLEX_PARAM.
83112         (meridian_table, month_and_day_table, time_units_table,
83113         relative_time_table, time_zone_table, military_table,
83114         lookup_zone, lookup_word, get_date):
83115         Use NULL instead of 0 where appropriate.
83116         (to_hour): Avoid abort (), to avoid a dependency on
83117         stdlib.h.
83118         (yyerror, yylex): Now accepts parser_control * arg.
83119         (main) [TEST]: Use '\0' rather than 0 for char.
83120
83121 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
83122
83123         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
83124
83125 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
83126
83127         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
83128         It's now the caller's responsibility to handle the case where
83129         !HAVE_GETPAGESIZE && !defined getpagesize.
83130
83131         * lib/mktime.c (leapyear): Arg is long int, not int.
83132
83133 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
83134
83135         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
83136
83137 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
83138
83139         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
83140         missing.  Problem reported by James Youngman.
83141
83142 2004-10-16  Simon Josefsson  <jas@extundo.com>
83143
83144         * gnulib-tool: Fix comments.  Fix parse problem.
83145         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
83146
83147 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
83148
83149         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
83150         implementation of getopt_long.  Problem reported by Alexander Taler in:
83151         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
83152
83153 2004-10-15  Bruno Haible  <bruno@clisp.org>
83154
83155         * gnulib-tool: Untabify. Initialize supplied_libname.
83156         (func_usage): More homogenous output.
83157         (func_modules_transitive_closure, func_modules_to_filelist,
83158         func_emit_lib_Makefile_am): New functions.
83159         (func_import): New function, extracted from big case statement. Use
83160         func_get_license, func_modules_transitive_closure,
83161         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
83162         opt_lgpl. Don't use test -a, as it's not portable.
83163         (func_create_testdir): Use func_modules_transitive_closure,
83164         func_modules_to_filelist, func_emit_lib_Makefile_am.
83165
83166 2004-10-15  Bruno Haible  <bruno@clisp.org>
83167
83168         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
83169
83170 2004-10-15  Bruno Haible  <bruno@clisp.org>
83171
83172         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
83173         the portions belonging to each module.
83174         Suggested by Derek Robert Price <derek@ximbiot.com>.
83175
83176 2004-10-12  Simon Josefsson  <jas@extundo.com>
83177
83178         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
83179         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
83180         to real functions.
83181
83182 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
83183
83184         * modules/vsnprintf: New file.
83185
83186 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
83187
83188         * m4/vsnprintf.m4: New file.
83189
83190 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
83191
83192         * lib/vsnprintf.h: New file.
83193         * lib/vsnprintf.c: New file.
83194
83195 2004-10-11  Bruno Haible  <bruno@clisp.org>
83196
83197         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
83198         vsnprintf.
83199
83200 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
83201
83202         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
83203
83204 2004-10-07  Bruno Haible  <bruno@clisp.org>
83205
83206         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
83207         fits into the provided buffer.
83208
83209 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
83210
83211         * lib/diacrit.c, diacrit.h: Add GPL notice.
83212
83213         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
83214         notice.
83215         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
83216         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
83217         This avoids a potential constant-folding bug.
83218
83219 2004-10-05  Bruno Haible  <bruno@clisp.org>
83220
83221         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
83222         for the declaration of strsep.
83223
83224 2004-10-05  Bruno Haible  <bruno@clisp.org>
83225
83226         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
83227
83228 2004-10-04  Simon Josefsson  <jas@extundo.com>
83229
83230         * modules/memmem: New file.
83231         * tests/test-memmem.c: New file.
83232         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
83233
83234 2004-10-04  Simon Josefsson  <jas@extundo.com>
83235
83236         * m4/memmem.m4: New file.
83237
83238 2004-10-04  Simon Josefsson  <jas@extundo.com>
83239
83240         * lib/memmem.h: New file.
83241         * lib/memmem.c: New file, taken from glibc.
83242
83243 2004-10-04  Simon Josefsson  <jas@extundo.com>
83244
83245         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
83246         '#ifdef USE_UNLOCKED_IO'.
83247
83248 2004-10-04  Simon Josefsson  <jas@extundo.com>
83249
83250         * config/srclist.txt: Add memmem from glibc.
83251
83252 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
83253
83254         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
83255
83256         * modules/argmatch, modules/argp, modules/closeout, modules/error,
83257         modules/exclude, modules/getdate, modules/getline,
83258         modules/getndelim2, modules/getpass, modules/getpass-gnu,
83259         modules/getusershell, modules/linebuffer, modules/md5,
83260         modules/mountlist, modules/posixtm, modules/readtokens,
83261         modules/readutmp, modules/regex, modules/sha1,
83262         modules/version-etc, modules/yesno:
83263         Remove dependency on unlocked-io.
83264
83265 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
83266
83267         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
83268
83269         * m4/unlocked-io.m4: Add copyright notice.
83270         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
83271
83272 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
83273
83274         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
83275         * lib/xmalloc.c (xmemdup): Likewise.
83276         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
83277         XFREE): Remove these long-obsolescent macros.
83278         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
83279         * lib/xstrdup.c: Remove.
83280
83281         * lib/regex.c (re_comp): Cast gettext return value to char *,
83282         Problem reported by Martin Neitzel via Mark D. Baushke.
83283
83284 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
83285
83286         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
83287         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
83288         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
83289         regex.c, sha1.c, version-etc.c, yesno.c:
83290         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
83291         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
83292         the includer's responsibility.
83293
83294         Sync from coreutils.
83295
83296         * lib/modechange.c (mode_compile): Don't decrement a pointer that
83297         points to the start of a string, as the C Standard says the
83298         resulting behavior is undefined.
83299
83300         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
83301         simple -> simple_backups, numbered_existing ->
83302         numbered_existing_backups, numbered -> numbered_backups
83303         to avoid shadowing problems.  All uses changed.
83304         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
83305         * lib/backupfile.c (check_extension, numbered_backup):
83306         Rename locals to avoid shadowing 'basename'.
83307         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
83308         once.
83309
83310         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
83311         * lib/.cvsignore: Add getopt.h.
83312
83313 2004-10-04  Bruno Haible  <bruno@clisp.org>
83314
83315         * modules/README: New file.
83316         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
83317         not a module.
83318
83319 2004-10-02  Jim Meyering  <jim@meyering.net>
83320
83321         * lib/dirfd.h, getpagesize.h: Add copyright notice.
83322
83323 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
83324
83325         * modules/strsep: New file.
83326
83327 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
83328
83329         * m4/strsep.m4: New file.
83330
83331 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
83332
83333         * lib/strsep.h: New file.
83334         * lib/strsep.c: New file.
83335
83336 2004-10-01  Simon Josefsson  <jas@extundo.com>
83337
83338         * lib/snprintf.c (snprintf): Handle size==0.
83339
83340 2004-10-01  Simon Josefsson  <jas@extundo.com>
83341             Bruno Haible  <bruno@clisp.org>
83342
83343         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
83344         (snprintf): Declare 'args'.
83345
83346 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
83347
83348         * lib/snprintf.c: Remove comments as to why each header is needed.
83349
83350 2004-10-01  Bruno Haible  <bruno@clisp.org>
83351
83352         * MODULES.html.sh: Add strsep.
83353
83354 2004-09-30  Simon Josefsson  <jas@extundo.com>
83355
83356         * modules/snprintf: New file.
83357
83358 2004-09-30  Simon Josefsson  <jas@extundo.com>
83359
83360         * m4/snprintf.m4: New file.
83361
83362 2004-09-30  Simon Josefsson  <jas@extundo.com>
83363
83364         * lib/snprintf.h, lib/snprintf.c: New files.
83365
83366 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
83367
83368         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
83369         (hol_entry_help): Never translate an empty string.
83370         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
83371         * lib/argp.h (OPTION_NO_TRANS): New option.
83372
83373 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
83374
83375         * modules/argp (Maintainer): Replace Simon Josefsson
83376         by Sergey Poznyakoff.
83377
83378 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
83379
83380         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
83381         changes merged back into glibc.
83382
83383 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
83384
83385         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
83386
83387 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
83388
83389         * lib/xvasprintf.c: Include xalloc.h.
83390         (xvasprintf): Use xalloc_die, not xmalloc_die.
83391
83392 2004-09-29  Bruno Haible  <bruno@clisp.org>
83393
83394         * modules/alloca-opt: New file, derived from modules/alloca.
83395         * modules/allocsa: Depend on alloca-opt instead of alloca.
83396         * modules/setenv: Likewise.
83397         * modules/vasnprintf: Likewise.
83398         * MODULES.html.sh: Add alloca-opt.
83399
83400 2004-09-28  Simon Josefsson  <jas@extundo.com>
83401
83402         * gnulib-tool: New parameter --lgpl, to asseert that modules are
83403         LGPL, and to replace license template from GPL to LGPL.
83404
83405 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
83406
83407         * modules/dummy: Change license to LGPL.
83408
83409 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
83410
83411         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
83412
83413 2004-09-24  Simon Josefsson  <jas@extundo.com>
83414
83415         * modules/minmax (License): Change from GPL to LGPL.
83416
83417 2004-09-23  Simon Josefsson  <jas@extundo.com>
83418
83419         * gnulib-tool (--import): Typo.
83420
83421 2004-09-23  Simon Josefsson  <jas@extundo.com>
83422
83423         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
83424
83425 2004-09-22  Bruno Haible  <bruno@clisp.org>
83426
83427         * modules/*: Add 'License' field.
83428         * gnulib-tool: Accept --extract-license option.
83429         (func_get_license): New function.
83430
83431 2004-09-21  Bruno Haible  <bruno@clisp.org>
83432
83433         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
83434         Reported by Simon Josefsson.
83435
83436 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
83437
83438         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
83439         gl_AC_TYPE_LONG_LONG.
83440
83441 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
83442
83443         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
83444
83445 2004-09-18  Simon Josefsson  <jas@extundo.com>
83446         and  Paul Eggert  <eggert@cs.ucla.edu>
83447
83448         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
83449         calls with autoreconf.  Define GL_LIB.
83450
83451 2004-09-14  Karl Berry  <karl@gnu.org>
83452
83453         * config/srclist.txt: unsync setenv.c, sigh.
83454
83455 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
83456
83457         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
83458         Problem reported by Bruno Haible in:
83459         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
83460
83461 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
83462
83463         * config/srclist.txt: Comment out argp-pvh.c.
83464
83465 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
83466
83467         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
83468         in case some system header has #define'd it.  Problem reported by
83469         Soeren D. Schulze in
83470         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
83471
83472 2004-09-09  Karl Berry  <karl@gnu.org>
83473
83474         * regex.[ch]: delete from the root.  These were supposed to be
83475                 synced with emacs cvs, but this has not happened for about
83476                 a year, and anyway nothing else uses emacs regex.[ch].
83477                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
83478                 lib/regex[.ch] is untouched.
83479
83480 2004-09-09  Bruno Haible  <bruno@clisp.org>
83481
83482         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
83483
83484 2004-09-09  Bruno Haible  <bruno@clisp.org>
83485
83486         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
83487         modifications.
83488         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
83489
83490 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
83491
83492         * modules/xvasprintf: New file.
83493         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
83494
83495 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
83496
83497         * lib/xvasprintf.h: New file.
83498         * lib/xvasprintf.c: New file.
83499         * lib/xasprintf.c: New file.
83500
83501 2004-09-08  Bruno Haible  <bruno@clisp.org>
83502
83503         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
83504
83505 2004-09-08  Bruno Haible  <bruno@clisp.org>
83506
83507         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
83508         length is > INT_MAX.
83509         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
83510         more.
83511
83512 2004-09-08  Bruno Haible  <bruno@clisp.org>
83513
83514         * lib/stdint_.h: New file, taken from GNU clisp.
83515
83516 2004-09-08  Bruno Haible  <bruno@clisp.org>
83517             Oskar Liljeblad  <oskar@osk.mine.nu>
83518
83519         * modules/stdint: New file.
83520         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
83521
83522 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
83523
83524         Import from coreutils.
83525         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
83526         strings on unbounded length.  alloca's performance benefits aren't
83527         that important here.
83528         (V_STRDUP): Remove.
83529         (parse_with_separator): New function, with most of the internals
83530         of the old parse_user_spec.  Allow user to omit both user and group,
83531         for compatibility with FreeBSD.
83532         Clone only the user name, not the entire spec.
83533         Do not set *uid, *gid unless entirely successful.
83534         Avoid memory leak in some failing cases.
83535         Fix regression for USER.GROUP reported by Dmitry V. Levin in
83536         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
83537         (parse_user_spec): Rewrite to use parse_with_separator.
83538
83539 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
83540
83541         * modules/userspec: Don't depend on alloca.
83542
83543 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
83544
83545         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
83546
83547 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
83548
83549         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
83550         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
83551         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
83552
83553 2004-08-16  Simon Josefsson  <jas@extundo.com>
83554
83555         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
83556         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
83557         Add --dry-run for --import.
83558         Let user provided command line parameters override configure.ac
83559         settings.
83560
83561 2004-08-12  Simon Josefsson  <jas@extundo.com>
83562
83563         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
83564         as discussed with Paul Eggert in threads rooted at
83565         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
83566         and
83567         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
83568         Before, the test was empty, and relied on ELIDE_CODE in source
83569         code.)
83570         (gl_PREREQ_GETOPT): New macro.
83571         (gl_GETOPT): Use them.
83572
83573 2004-08-12  Simon Josefsson  <jas@extundo.com>
83574
83575         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
83576         * lib/getopt_.h: Renamed from getopt.h.
83577
83578 2004-08-12  Simon Josefsson  <jas@extundo.com>
83579
83580         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
83581         Change default library name from libfoo to libgnu.
83582         Now, if you have a configure.ac that says:
83583                 gl_SOURCE_BASE(gl)
83584                 gl_M4_BASE(gl/m4)
83585                 gl_MODULES(error getopt etcetera)
83586                 gl_INIT
83587         you can import all you need by running:
83588                 ../gnulib/gnulib-tool --import
83589
83590         * modules/getopt (Files): Rename getopt.h to getopt_.h.
83591         (Makefile.am): Rewrite, use logic from argz.
83592         (Include): Use <getopt.h> instead of "getopt.h".
83593
83594 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
83595
83596         * modules/argp (Files): Add m4/unlocked-io.m4.
83597         (Depends-on): Add extensions.
83598
83599 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
83600
83601         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
83602         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
83603         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
83604         Check for program_invocation_name, program_invocation_short_name,
83605         flockfile, funlockfile, features.h, _getopt_long_only_r.
83606
83607 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
83608
83609         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
83610         its complicated substitute.
83611         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
83612         and program_invocation_name.
83613         (__argp_basename) [!_LIBC]: Remove; the only use was
83614         replaced by its body.
83615         (__argp_short_program_name): Change condition from
83616         !defined __argp_short_program_name to
83617         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
83618         to match argp-namefrob.h.
83619         (__argp_failure): Don't assume strerror_r returns char *.
83620         * lib/argp-parse.c (N_): Define unconditionally.
83621         (argp_default_options): Fill out initializers with 0 to avoid
83622         gcc warnings.
83623
83624 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
83625
83626         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
83627         getopt1.c.
83628
83629 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
83630
83631         Merge from coreutils.
83632
83633         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
83634
83635         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
83636         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
83637
83638 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
83639
83640         Merge from coreutils.
83641
83642         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
83643         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
83644         for Reliant Unix 5.43.
83645
83646         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
83647         (union fooround): Use uintmax_t, not long int.
83648         The rest is a merge from libc:
83649         [defined _LIBC]: Include <shlib-compat.h>.
83650         (_obstack) [defined _LIBC]: Remove after 2.3.4.
83651
83652         * lib/settime.c (settime): Recode to avoid warning with
83653         Sun Forte C 6U2.
83654
83655         * lib/strverscmp.c: Convert to UTF-8.
83656
83657 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
83658
83659         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
83660         m4/uintmax_t.m4.
83661
83662 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
83663
83664         * modules/xalloc-die: New file.
83665         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
83666
83667         * modules/md5 (Files): Add m4/uint32_t.m4.
83668         * modules/sha1: Renamed from modules/sha.
83669         (Files):
83670         Rename lib/sha.h to lib/sha1.h.
83671         Rename lib/sha.c to lib/sha1.c.
83672         Rename m4/sha.m4 to m4/sha1.m4.
83673         (lib_SOURCES): Likewise.
83674         (configure.ac): Rename gl_SHA to gl_SHA1.
83675         (Include): sha.h -> sha1.h.
83676
83677 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
83678
83679         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
83680         * m4/sha1.m4: Renamed from sha.m4.
83681         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
83682
83683 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
83684
83685         * lib/obstack.h (obstack_empty_p):
83686         Don't assume that chunk->contents is suitably aligned.
83687         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
83688         Likewise. Problem reported by Benno in
83689         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
83690
83691         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
83692         readable.  This could be improved further but it'd take some work.
83693
83694 2004-08-08  Simon Josefsson  <jas@extundo.com>
83695
83696         * modules/xgethostname (Depends-on): Remove exit and error (not
83697         used).
83698
83699         * modules/getpass-gnu: Add getpass.h.
83700         (Depends-on): Add stdbool.
83701         * modules/getpass: Add getpass.h.
83702
83703 2004-08-08  Simon Josefsson  <jas@extundo.com>
83704
83705         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
83706         Check getpass declaration.
83707
83708 2004-08-08  Simon Josefsson  <jas@extundo.com>
83709
83710         * lib/xgethostname.c: Don't include error.h (not used).
83711
83712         * lib/getpass.h: Add.
83713         * lib/getpass.c: Include getpass.h first.
83714
83715 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
83716
83717         * lib/xalloc-die.c: New file.
83718         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
83719         All uses removed.
83720         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
83721         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
83722         xalloc-die.c.
83723         (_, N_, xalloc_die): Move to xalloc-die.c.
83724         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
83725         so that we needn't mess with xalloc_msg_memory_exhausted.
83726
83727         * lib/sha1.h: Renamed from sha.h.
83728         (SHA1_H): Renamed from _SHA_H.
83729         (sha1_ctx): Renamed from sha_ctx.
83730         (sha1_init_ctx): Renamed from sha_init_ctx.
83731         (sha1_process_block): Renamed from sha_process_block.
83732         (sha1_process_bytes): Renamed from sha_process_bytes.
83733         (sha1_finish_ctx): Renamed from sha_finish_ctx.
83734         (sha1_read_ctx): Renamed from sha_read_ctx.
83735         (sha1_stream): Renamed from sha_stream.
83736         (sha1_buffer): Renamed from sha_buffer.
83737         * lib/sha1.c: Likewise; renamed from sha.c.
83738         Do not include <sys/types.h>.
83739         Include <stddef.h> rather than <stdlib.h>.
83740
83741 2004-08-08  Bruno Haible  <bruno@clisp.org>
83742
83743         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
83744         FILESYSTEM_PREFIX_LEN.
83745         * lib/progreloc.c: Likewise.
83746         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
83747
83748 2004-08-06  Simon Josefsson  <jas@extundo.com>
83749
83750         * modules/progname (Depends-on): Don't depend on stdbool.
83751
83752 2004-08-06  Simon Josefsson  <jas@extundo.com>
83753
83754         * modules/getsubopt: New file.
83755         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
83756         getsubopt.
83757
83758 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
83759
83760         More merge from coreutils.
83761
83762         * m4/utimens.m4, m4/utimecmp.m4: New files.
83763         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
83764         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
83765         prereq.m4, sha.m4: Import changes from coreutils.
83766
83767 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
83768
83769         More merge from coreutils.
83770         * modules/raise, modules/readtokens0, modules/utimens:
83771         * modules/utimecmp, module/xnanosleep: New files.
83772         * modules/strftime: Add lib/strftime.h.
83773         Change include from <time.h> to "strftime.h".
83774         * modules/yesno: Add lib/yesno.h.
83775         * modules/backupfile: Remove lib/addext.c.
83776         * modules/euidaccess: Add stat-macros.h.
83777         * modules/canonicalize, modules/euidaccess,
83778         modules/filemode, modules/lchown, modules/makepath,
83779         modules/rmdir, modules/stat: Likewise.
83780
83781 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
83782
83783         Merge from tar.
83784         * lib/argp-help.c (make_hol, hol_append): Don't assume that
83785         SIZE_MAX is a valid preprocessor constant.
83786         (__argp_basename): Change from "#ifndef _LIBC"
83787         to "#ifndef __argp_short_program_name", so that
83788         we don't compile these functions for tar.
83789
83790         More merges from coreutils.
83791         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
83792         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
83793         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
83794         * lib/addext.c: Remove; no longer needed.
83795         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
83796         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
83797         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
83798         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
83799         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
83800         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
83801         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
83802         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
83803         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
83804         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
83805         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
83806         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
83807         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
83808         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
83809         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
83810         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
83811         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
83812         Import changes from coreutils.
83813
83814 2004-08-05  Simon Josefsson  <jas@extundo.com>
83815
83816         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
83817
83818 2004-08-05  Simon Josefsson  <jas@extundo.com>
83819
83820         * m4/getsubopt.m4: New file.
83821
83822 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
83823
83824         Merge from coreutils.
83825
83826         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
83827         * m4/getcwd-path-max.m4: New files.
83828
83829         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
83830         FILESYSTEM_PREFIX_LEN ->
83831         FILE_SYSTEM_PREFIX_LEN.
83832         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
83833         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
83834         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
83835         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
83836
83837         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
83838         prerequisite modules now handle the DOS stuff.
83839         Don't check for unistd.h.
83840
83841 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
83842
83843         Merge from coreutils.
83844
83845         * lib/.gdb-history: Remove; this doesn't belong here.
83846
83847         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
83848         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
83849         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
83850         * lib/getcwd.c: New files.
83851
83852         * lib/dirname.h: Include <stdbool.h>.
83853         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
83854         for consistency with POSIX terminology.  All uses changed.
83855         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
83856         (strip_trailing_slashes): Use bool for booleans.
83857         * lib/stripslash.c (strip_trailing_slashes): Likewise.
83858
83859         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
83860         sometimes returns a positive errno value even when it succeeds.
83861         (print_errno_message) [!LIBC]: Fall back on strerror if
83862         __strerror_r fails.
83863
83864         * lib/path-concat.c (mempcpy): Don't define if a system header defines
83865         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
83866         (longest_relative_suffix): New function.
83867         (path_concat): Use it.  Assume first argument is not NULL.
83868         Port to DOS.  Omit redundant separators.
83869         Report an error instead of returning NULL.
83870         Use mempcpy instead of memcpy.
83871         (xpath_concat): Remove: not declared or used.
83872
83873         * lib/same.h: Include <stdbool.h>
83874         (same_name): Return bool, not int.
83875         * lib/same.c (same_name): Likewise.
83876         (errno): Don't declare; we assume C89 or better now.
83877
83878         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
83879         if not already defined.
83880
83881         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
83882         * lib/dup-safer.c (errno): Likewise.
83883
83884 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
83885
83886         Merge from coreutils.
83887         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
83888         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
83889         * modules/path-concat: Don't depend on strdup.
83890
83891 2004-08-03  Simon Josefsson  <jas@extundo.com>
83892
83893         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
83894         * lib/progname.h: Don't include stdbool.h.
83895
83896 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
83897
83898         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
83899         * MODULES.html.sh (func_all_modules): Remove fatal.
83900
83901 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
83902
83903         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
83904
83905 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
83906
83907         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
83908         working.
83909
83910 2004-08-02  Simon Josefsson  <jas@extundo.com>
83911
83912         * lib/getsubopt.h: New file, with comments from Bruno Haible.
83913         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
83914         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
83915
83916 2004-08-01  Simon Josefsson  <jas@extundo.com>
83917
83918         * lib/xgetdomainname.c: Include stdlib.h, for free().
83919
83920 2004-07-19  Bruno Haible  <bruno@clisp.org>
83921
83922         * MODULES.html.sh (func_all_modules): Add dummy.
83923
83924 2004-07-16  Simon Josefsson  <jas@extundo.com>
83925
83926         * modules/dummy: New file.
83927
83928 2004-07-16  Simon Josefsson  <jas@extundo.com>
83929
83930         * lib/dummy.c: New file.
83931
83932 2004-07-16  Bruno Haible  <bruno@clisp.org>
83933
83934         * lib/backupfile.h: Add extern "C" for C++.
83935         * lib/closeout.h: Likewise.
83936         * lib/copy-file.h: Likewise.
83937         * lib/findprog.h: Likewise.
83938         * lib/full-write.h: Likewise.
83939         * lib/pathname.h: Likewise.
83940         * lib/progname.h: Likewise.
83941         * lib/stpcpy.h: Likewise.
83942         * lib/stpncpy.h: Likewise.
83943         * lib/strcase.h: Likewise.
83944         * lib/strstr.h: Likewise.
83945         * lib/xalloc.h: Likewise.
83946
83947         * lib/mbswidth.h: Add extern "C" for C++.
83948         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
83949
83950 2004-07-13  Robert Millan  <robertmh@gnu.org>
83951
83952         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
83953
83954 2004-07-09  Simon Josefsson  <jas@extundo.com>
83955
83956         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
83957         failed without this.)
83958
83959 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
83960
83961         * modules/chown (Files): Add lib/fchown-stub.c, since
83962         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
83963
83964 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
83965
83966         * lib/fchown-stub.c: New file.
83967
83968 2004-06-24  Jim Meyering  <jim@meyering.net>
83969
83970         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
83971
83972 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
83973
83974         * modules/argz: Omit "#include".
83975
83976         * MODULES.html.sh (func_all_modules): Add calloc, to match
83977         2004-06-01 addition of calloc module.
83978
83979 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
83980
83981         * m4/argz.m4: New file, which is autoupdated from libtool.
83982
83983 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
83984
83985         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
83986         libtool.
83987
83988 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
83989
83990         * config/srclist-update: Don't insist on "USA." before the
83991         close-comment, as libtool omits the period and puts the */ on a
83992         separate line.
83993         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
83994         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
83995
83996 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
83997
83998         * modules/argz: New file.
83999         * MODULES.html.sh (func_all_modules): Add argz.
84000
84001 2004-06-12  Jim Meyering  <jim@meyering.net>
84002         and  Paul Eggert  <eggert@cs.ucla.edu>
84003
84004         * modules/hash (Files): Add lib/xalloc.h.
84005         * modules/pipe (Depends-on): Add wait-process.
84006         * modules/stat (Depends-on): Add xalloc.
84007         * modules/userspec (Files): Add lib/userspec.h.
84008         * modules/xstrto
84009
84010         Upgrade from gettext-0.13.
84011         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
84012         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
84013         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
84014
84015 2004-06-10  Jim Meyering  <jim@meyering.net>
84016
84017         * lib/calloc.c: New file.
84018
84019 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
84020
84021         * lib/getdate.y (yylex): Allow space between sign and number.
84022         Problem reported by Dan Jacobson.
84023
84024 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
84025
84026         Merge from coreutils CVS.
84027
84028         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
84029         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
84030         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
84031         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
84032         xstrtol.m4: Fix copyright date and/or serial number.
84033
84034         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
84035         See if we need an fchown replacement.
84036         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
84037         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
84038         and use the replacement function if we detect either defect.
84039
84040         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
84041         gl_UTIMECMP.
84042
84043 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
84044         and  Jim Meyering  <jim@meyering.net>
84045
84046         Merge from coreutils CVS.
84047
84048         * lib/stat-macros.h: New file, with contents from file-type.h
84049         and coreutils' system.h.
84050         * lib/file-type.c: Include "stat-macros.h".
84051         * lib/file-type.h (file_type): Move all macro definitions to new file,
84052         stat-macros.h.
84053
84054         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
84055         Wrap old code with this conditional.
84056         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
84057         function that does not dereference symlinks.
84058         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
84059
84060         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
84061         dependency problems.
84062         (xreadlink): Accept new arg SIZE, for efficiency.
84063         All decls and uses changed.
84064         * lib/xreadlink.h: Include <stddef.h>, for size_t.
84065
84066         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
84067         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
84068
84069         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
84070         sysexits.h.
84071
84072 2004-06-01  Jim Meyering  <jim@meyering.net>
84073
84074         * m4/calloc.m4: New file.
84075
84076 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
84077
84078         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
84079         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
84080         Also, fix a typo in a diagnostic.
84081
84082 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
84083
84084         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
84085         or AC_FUNC_REALLOC.
84086
84087 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
84088
84089         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
84090         macros to be defined.
84091         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
84092         the allocator returns NULL because the requested size is zero.
84093
84094 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
84095
84096         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
84097         var.  Add comment explaining why libc still defines it.  This
84098         merges the following patch from glibc:
84099         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
84100
84101 2004-05-20  Andreas Schwab  <schwab@suse.de>
84102
84103         * m4/free.m4: Replace free if it not known to work, not the other
84104         way round.
84105
84106 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
84107
84108         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
84109         present in glibc since revision 1.1 of this file.
84110         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
84111         obstack_alignment_mask, obstack_alloc, obstack_base,
84112         obstack_blank, obstack_blank_fast, obstack_chunk_size,
84113         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
84114         obstack_grow0, obstack_init, obstack_int_grow,
84115         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
84116         obstack_next_free, obstack_object_size, obstack_ptr_grow,
84117         obstack_ptr_grow_fast, obstack_room): Remove declarations of
84118         nonexistent functions.
84119
84120 2004-05-18  Karl Berry  <karl@gnu.org>
84121
84122         * config/srclist.txt: break link for vasnprintf.c.
84123
84124 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
84125
84126         Port obstack to the AS/400, where pointers are 16 bytes wide and
84127         you cannot cast an integer to a valid pointer.  This patch is
84128         currently waiting to be integrated into glibc; see
84129         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
84130
84131         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
84132         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
84133         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
84134         (struct obstack): temp member is now a union of a pointer and
84135         an integer, instead of an integer.  All integer uses changed.
84136         This does not affect the physical layout of struct obstack,
84137         except on hosts (like the AS/400) where the size or alignment of
84138         void * is greater than that of ptrdiff_t.
84139         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
84140         __STDC__)]: Store temporary in pointer member of union, not
84141         integer member.
84142         * lib/obstack.c: Include <stddef.h>, for offsetof.
84143         (struct fooalign): Remove; it doesn't need a name.
84144         (union fooround): Change double to long double, and add void *.
84145         (DEFAULT_ALIGNMENT): Use offsetof to compute.
84146         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
84147         not a macro.  Hence the values are always int; so remove all
84148         casts-to-int in uses.
84149
84150 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
84151
84152         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
84153         we can get this patch merged into glibc.
84154
84155 2004-05-17  Derek R. Price  <derek@ximbiot.com>
84156             Paul Eggert  <eggert@cs.ucla.edu>
84157
84158         * m4/argp: Depend on alloca.
84159
84160 2004-05-17  Derek R. Price  <derek@ximbiot.com>
84161             Paul Eggert  <eggert@cs.ucla.edu>
84162
84163         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
84164         freecoding.
84165
84166 2004-05-17  Bruno Haible  <bruno@clisp.org>
84167
84168         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
84169         precision that consists of a '.' followed by an empty digit string.
84170         Patch by Tor Lillqvist <tml@iki.fi>.
84171
84172 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
84173
84174         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
84175         for backward compatibility with older code.  We need our own
84176         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
84177         it under some other name, and our alloca.h will define it.
84178
84179 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
84180             Derek Price  <derek@ximbiot.com>
84181
84182         * lib/alloca.c: Include <alloca.h>, to get our interface.
84183         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
84184         include <alloca.h> first.  Use C89 prototype for alloca; this
84185         requires including <stddef.h> for size_t.  Use extern "C" if C++.
84186         Use #elif for simplicity, since we can assume C89 now.
84187         Don't try to source the system alloca.h since it will not be found
84188         and to prevent recursively including its replacement.
84189         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
84190         * lib/regex.c: Likewise.
84191
84192 2004-05-16  Derek Price  <derek@ximbiot.com>
84193             Paul Eggert  <eggert@cs.ucla.edu>
84194
84195         getline cleanup.  This changes the getndelim2 API: both order of
84196         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
84197         no delimiter).
84198
84199         * lib/getline.c: Don't include stddef.h or stdio.h, since our
84200         interface does that.
84201         (getline): Always use getdelim, so that we don't have two
84202         copies of this code.
84203         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
84204         if available.
84205         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
84206         (GETNDELIM2_MAXIMUM): New macro.
84207         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
84208         instead of the old practice of delim2==0.  All callers changed.
84209         Return -1 on overflow, instead of returning junk.
84210         Do not set *linesize unless allocation succeeds.
84211         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
84212         that we include sys/types.h.
84213         * lib/getnline.h: Likewise.
84214         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
84215         (getndelim2): Reorder arguments.
84216         * lib/getnline.c (getnline, getndelim):
84217         Don't discard the NMAX argument.
84218         (getnline): Invoke getndelim, to avoid code duplication.
84219         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
84220         of (size_t) -1 by callers of the getnline family.
84221
84222 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
84223
84224         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
84225         Check for gettimeofday.
84226         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
84227         Check for settimeofday, stime.
84228
84229 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
84230
84231         * lib/nanosleep.c (suspended): Change its type from int to
84232         sig_atomic_t volatile.
84233         (first_call): Make it private to rpl_nanosleep, and have it
84234         be zero initially as that's a bit faster.
84235         (my_usleep): Round up fractional times instead of truncating them,
84236         as this is the usual meaning for 'sleep'.
84237
84238         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
84239         doesn't work.
84240         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
84241         (ENOSYS): Define if not defined.
84242         (settime): Fall back on stime if it exists and settimeofday fails.
84243         But don't bother with fallbacks if a method fails with errno == EPERM.
84244
84245 2004-05-11  Jim Meyering  <jim@meyering.net>
84246
84247         Prior to this change, the save_cwd caller required read access to the
84248         current directory on most systems (ones with the fchdir function).
84249
84250         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
84251         fails, try write-only, and finally, resort to using xgetcwd.
84252
84253 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
84254
84255         * lib/obstack.c, obstack.h: Import changes from libc.
84256
84257 2004-04-28  Bruno Haible  <bruno@clisp.org>
84258
84259         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
84260         also implicitly appends .exe to executables.
84261         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
84262         accepts Windows pathnames.
84263         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
84264         Treat Cygwin like Windows, since it now accepts Windows pathnames.
84265         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
84266         Treat Cygwin like Windows, since it now accepts Windows pathnames.
84267         Reported by Derek Robert Price <derek@ximbiot.com>.
84268
84269 2004-04-21  Karl Berry  <karl@gnu.org>
84270
84271         * config/srclist.txt (localcharset.c): break sync.
84272
84273 2004-04-20  Paul Eggert  <eggert@twinsun.com>
84274
84275         * m4/host-os.m4: Add a copyright notice.
84276
84277 2004-04-20  Jim Meyering  <jim@meyering.net>
84278
84279         Change UTILS_ to gl_ in AC_DEFINE'd names.
84280         Change utils_- and jm_-prefixed variables, too.
84281         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
84282         UTILS_FUNC_MKDIR_TRAILING_SLASH.
84283         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
84284
84285         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
84286         Don't emit trailing blanks.
84287         Also rename jm_-prefixed variables to have gl_ prefix.
84288
84289         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
84290         Also rename jm_-prefixed variables to have gl_ prefix.
84291
84292         * m4/jm-macros.m4: Reflect the renamings.
84293         * m4/prereq.m4: Likewise.
84294
84295 2004-04-20  Jim Meyering  <jim@meyering.net>
84296
84297         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
84298         memory.
84299
84300 2004-04-20  Jim Meyering  <jim@meyering.net>
84301             Bruno Haible  <bruno@clisp.org>
84302
84303         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
84304         memory when realloc fails.
84305
84306 2004-04-19  Jim Meyering  <jim@meyering.net>
84307
84308         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
84309         now that readutmp.c may call `free (0)'.
84310
84311 2004-04-19  Bruno Haible  <bruno@clisp.org>
84312
84313         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
84314         * m4/inttypes_h.m4: Likewise.
84315         * m4/stdint_h.m4: Likewise.
84316         * m4/intmax_t.m4: Likewise.
84317         * m4/uintmax_t.m4: Likewise.
84318
84319 2004-04-18  Jim Meyering  <jim@meyering.net>
84320
84321         * m4/prereq.m4: Don't forbid jm_ prefix.
84322
84323         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
84324         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
84325         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
84326         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
84327         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
84328         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
84329         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
84330         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
84331         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
84332         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
84333         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
84334         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
84335         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
84336         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
84337         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
84338         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
84339         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
84340         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
84341         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
84342
84343 2004-04-18  Jim Meyering  <jim@meyering.net>
84344
84345         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
84346         failure, don't leak memory and do call END_UTMP_ENT.
84347
84348 2004-04-16  Jim Meyering  <jim@meyering.net>
84349
84350         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
84351         coreutils' stat program.
84352         (gl_PREREQ): Don't require jm_PREREQ_STAT.
84353
84354 2004-04-11  Paul Eggert  <eggert@twinsun.com>
84355
84356         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
84357         C89.
84358         (CHAR_BIT): Remove, since we assume C89.
84359         Include <stdint.h> if available, as per current Autoconf CVS advice.
84360
84361 2004-03-31  Jim Meyering  <jim@meyering.net>
84362
84363         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
84364         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
84365         * m4/xalloc.m4: Likewise.
84366
84367 2004-03-30  Paul Eggert  <eggert@twinsun.com>
84368
84369         Merge from coreutils.
84370
84371         * m4/inttostr.m4: New file.
84372         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
84373         Require AM_STDBOOL_H and gl_TIMESPEC instead.
84374         Require gl_CLOCK_TIME.
84375         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
84376
84377 2004-03-30  Paul Eggert  <eggert@twinsun.com>
84378
84379         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
84380         not bool, to be more consistent with Unix conventions.
84381         Suggested by Bruno Haible.
84382
84383         Merge from coreutils.
84384
84385         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
84386         * lib/umaxtostr.c: New files.
84387
84388         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
84389         the usual <time.h> dance.
84390         (get_date): Change signature to support fractional time stamps.
84391         All callers changed.
84392         * lib/getdate.y: Include "getdate.h" first, as we can now
84393         assume C89 and don't need to worry about 'const'.
84394         Similarly, include "unlocked-io.h" near start, not in middle.
84395         Include <limits.h>.
84396         (textint.value): Use long int rather than int.
84397         (textint.digits): Use size_t rather than int.
84398         (BILLION, LOG10_BILLION): New constants.
84399         (parser_control): New member rel_ns.  Members day_ordinal,
84400         time_zone, month, day, hour, minutes, rel_year, rel_month,
84401         rel_day, rel_hour, rel_minutes, rel_seconds
84402         are now long int, not int.  Member seconds is now struct timespec,
84403         not int.  New member timespec_seen.  Members dates_seen, days_seen,
84404         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
84405         not int.
84406         (%union.intval): Now long int, not int.
84407         New member timespec.
84408         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
84409         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
84410         (spec): Now is a timespec or an item list.
84411         (timespec, items): New nonterminals.
84412         (time, rel, relunit, number, get_date):
84413         Add support for fractional seconds.
84414         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
84415         (gmtime, localtime, mktime): Remove decls; not needed with C89.
84416         (to_hour): First arg is now long int, not int.
84417         (to_year): Returns long int, not int.
84418         Don't treat year -70 like 70.
84419         (tm_diff): Returns long int, not int.
84420         (lookup_word): Use bool instead of int when appropriate.
84421         (yylex): Use size_t for count, not int.
84422         Detect overflow when parsing large integer constants.
84423         Add support for fractions.
84424         (get_date): Make pointers 'const' if possible.
84425         Use more-portable code to detect integer overflow.
84426         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
84427         Don't use ctime; it's not reliable if the year has >4 digits.
84428
84429         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
84430         This is for compatibility with BSD.
84431
84432         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
84433         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
84434         From coreutils' system.h.
84435
84436         * lib/userspec.c: Don't include "posixver.h".
84437         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
84438         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
84439         compatible extension.  Simplify code by removing a boolean int
84440         that was always nonzero if a string was nonnull.
84441
84442 2004-03-30  Jim Meyering  <jim@meyering.net>
84443
84444         Merge from coreutils.
84445
84446         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
84447         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
84448         on some systems one must include <grp.h> before it.
84449         Reported by Christian Krackowizer.
84450
84451 2004-03-30  Jim Meyering  <jim@meyering.net>
84452
84453         Merge from coreutils.
84454
84455         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
84456
84457         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
84458         an empty input stream.
84459
84460         * lib/readtokens.c: Include <stdbool.h>.
84461         (readtoken): Use `size_t' rather than int/long.
84462         All callers adjusted.
84463         Use `bool' rather than `int' where appropriate.
84464         Use memset rather than an explicit loop.
84465         Use x2nrealloc rather than xrealloc.
84466         Allow the use of `\0' as a delimiter.
84467         (readtokens): Likewise.
84468         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
84469
84470 2004-03-30  Jim Meyering  <jim@meyering.net>
84471
84472         * m4/realloc.m4: Remove file, since now it does no more than
84473         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
84474         the `configure.ac' section of module/realloc.
84475         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
84476
84477 2004-03-30  Bruno Haible  <bruno@clisp.org>
84478
84479         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
84480         nonnull.
84481
84482 2004-03-29  Paul Eggert  <eggert@twinsun.com>
84483
84484         Merge changes to getloadavg.c from coreutils and Emacs.
84485
84486         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
84487         Define to an expression, not to the empty string.
84488         Include cloexec.h and xalloc.h.
84489         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
84490         Use set_cloexec_flag rather than rolling our own.
84491         * lib/cloexec.c, lib/cloexec.h: New files.
84492
84493 2004-03-29  Paul Eggert  <eggert@twinsun.com>
84494
84495         * m4/cloexec.m4: New file.
84496
84497 2004-03-18  Paul Eggert  <eggert@twinsun.com>
84498
84499         * lib/getopt.h: Sync with libc CVS.
84500
84501 2004-03-18  Paul Eggert  <eggert@twinsun.com>
84502             Bruno Haible  <bruno@clisp.org>
84503
84504         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
84505         mbswidth.
84506
84507 2004-03-18  Paul Eggert  <eggert@twinsun.com>
84508             Bruno Haible  <bruno@clisp.org>
84509
84510         * lib/mbswidth.h: Include <wchar.h> only if
84511         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
84512         <wchar.h>.
84513         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
84514
84515 2004-03-09  Paul Eggert  <eggert@twinsun.com>
84516
84517         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
84518         Sync with libc CVS.
84519         * lib/getopt_int.h: New file, also synced from libc.
84520
84521 2004-03-09  Paul Eggert  <eggert@twinsun.com>
84522
84523         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
84524         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
84525         Bring back getopt.c, getopt.h, getopt1.c.
84526
84527 2004-03-07  Paul Eggert  <eggert@twinsun.com>
84528
84529         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
84530         All uses changed.  Check for sa_sigaction member; this fixes
84531         a bug first reported by Jason Andrade in
84532         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
84533
84534 2004-03-07  Paul Eggert  <eggert@twinsun.com>
84535
84536         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
84537         '#if' expressions.  Unlike the code it replaces, it does not
84538         depend on (defined _SC_PAGESIZE).  However, it does depend on
84539         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
84540         first reported by Jason Andrade in
84541         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
84542
84543 2004-02-25  Simon Josefsson  <jas@extundo.com>
84544
84545         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
84546
84547 2004-02-25  Simon Josefsson  <jas@extundo.com>
84548
84549         * lib/strdup.h: New file.
84550         * lib/strdup.c: Include it.
84551         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
84552         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
84553
84554 2004-02-23  Karl Berry  <karl@gnu.org>
84555
84556         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
84557         (from fencepost.gnu.org:/gd/gnuorg).
84558
84559 2004-02-23  Karl Berry  <karl@gnu.org>
84560
84561         * config/srclistvars.sh (GNUORG) [karl]: redefine.
84562         * config/srclist.txt: add maintain/standards documents.
84563
84564 2004-02-18  Bruno Haible  <bruno@clisp.org>
84565
84566         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
84567         Reported by Derek Robert Price <derek@ximbiot.com>.
84568
84569 2004-02-16  Karl Berry  <karl@gnu.org>
84570
84571         * config/mkinstalldirs, install-sh: update from automake.
84572
84573 2004-02-06  Karl Berry  <karl@gnu.org>
84574
84575         * m4/po.m4: update from gettext 0.14.1.
84576
84577 2004-02-06  Karl Berry  <karl@gnu.org>
84578
84579         * lib/config.charset: update from gettext 0.14.1.
84580
84581 2004-02-05  Paul Eggert  <eggert@twinsun.com>
84582
84583         Add comments and code, prompted by suggestions from Bruno Haible
84584         for sh-quote.
84585         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
84586         describing the enum quoting_style values.
84587         * lib/quotearg.c (quotearg_alloc): New function.
84588         (quotearg_buffer_restyled): Treat lone { and } as special.
84589         Treat = as special.  Work around bug with older shells
84590         that "see" a '\' that is really the 2nd byte of a multibyte char.
84591         Quote empty string with shell_quoting_style.
84592
84593 2004-02-03  Bruno Haible  <bruno@clisp.org>
84594
84595         * m4/pipe.m4: New file, from GNU gettext.
84596
84597 2004-02-03  Bruno Haible  <bruno@clisp.org>
84598
84599         * lib/pipe.h: New file, from GNU gettext.
84600         * lib/pipe.c: New file, from GNU gettext.
84601
84602 2004-01-27  Bruno Haible  <bruno@clisp.org>
84603
84604         * m4/execute.m4: New file, from GNU gettext.
84605
84606 2004-01-27  Bruno Haible  <bruno@clisp.org>
84607
84608         * lib/execute.h: New file, from GNU gettext.
84609         * lib/execute.c: New file, from GNU gettext.
84610         * lib/w32spawn.h: New file, from GNU gettext.
84611
84612 2004-01-24  Paul Eggert  <eggert@twinsun.com>
84613
84614         Merge from diffutils.
84615
84616         * lib/file-type.c (file_type): Add typed memory objects.
84617         * lib/file-type.h (S_TYPEISTMO): New macro.
84618
84619         * lib/c-stack.h (c_stack_action): Remove argv argument.
84620         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
84621         (die): Don't calculate message unless segv_action returns.
84622         (get_stack_location, min_address_from_argv, max_address_from_argv,
84623         volatile stack_base, volatile_stack_size): Remove.
84624         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
84625         that every segmentation violation is a stack overflow.  (Ouch!)
84626         See Debian bug 136249 (still outstanding) for more info about why
84627         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
84628
84629 2004-01-24  Paul Eggert  <eggert@twinsun.com>
84630
84631         Exit-status fix from coreutils.
84632
84633         Use exit_failure consistently in place of EXIT_FAILURE,
84634         so that program exit statuses are consistent on failure.
84635
84636         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
84637         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
84638         * lib/argmatch.h: Comment fix to match the above.
84639         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
84640         Now a macro referring to exit_failure, instead of a separate
84641         variable.  Include "exitfail.h" to get it.
84642         * lib/xstrtol.h: Include "exitfail.h".
84643         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
84644
84645         * lib/long-options.c (parse_long_options): Use prototype
84646         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
84647         for clarity.
84648
84649 2004-01-21  Jim Meyering  <jim@meyering.net>
84650
84651         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
84652         so as not to conflict with a different-sized __mktime_internal
84653         function in GNU libc.
84654         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
84655         Problem building statically-linked `ls' reported by Michael Brunnbauer.
84656
84657 2004-01-20  Karl Berry  <karl@gnu.org>
84658
84659         * config/config.guess: update from config.
84660
84661         * config/srclistvars.sh: GNUWWWLICENSES for karl.
84662
84663 2004-01-20  Bruno Haible  <bruno@clisp.org>
84664
84665         Safer stack allocation.
84666         * lib/setenv.c: Include allocsa.h.
84667         (alloca): Remove fallback definition.
84668         (freea): Remove macro.
84669         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
84670         instead of freea.
84671
84672 2004-01-20  Bruno Haible  <bruno@clisp.org>
84673
84674         * m4/eealloc.m4: New file, from GNU gettext.
84675
84676 2004-01-20  Bruno Haible  <bruno@clisp.org>
84677
84678         * m4/allocsa.m4: New file, from GNU gettext.
84679
84680 2004-01-20  Bruno Haible  <bruno@clisp.org>
84681
84682         * lib/xallocsa.h: New file, from GNU gettext.
84683         * lib/xallocsa.c: New file, from GNU gettext.
84684
84685 2004-01-20  Bruno Haible  <bruno@clisp.org>
84686
84687         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
84688
84689 2004-01-20  Bruno Haible  <bruno@clisp.org>
84690
84691         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
84692         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
84693         specially.
84694
84695 2004-01-20  Bruno Haible  <bruno@clisp.org>
84696
84697         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
84698         patch.
84699
84700 2004-01-20  Bruno Haible  <bruno@clisp.org>
84701
84702         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
84703
84704 2004-01-20  Bruno Haible  <bruno@clisp.org>
84705
84706         * lib/eealloc.h: New file.
84707
84708 2004-01-20  Bruno Haible  <bruno@clisp.org>
84709
84710         * lib/binary-io.h: Avoid warnings on Cygwin.
84711
84712 2004-01-20  Bruno Haible  <bruno@clisp.org>
84713
84714         * lib/allocsa.h: New file, from GNU gettext.
84715         * lib/allocsa.c: New file, from GNU gettext.
84716
84717 2004-01-18  Karl Berry  <karl@gnu.org>
84718
84719         * doc/gpl.texi, doc/lgpl.texi: new files.
84720
84721 2004-01-18  Karl Berry  <karl@gnu.org>
84722
84723         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
84724         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
84725
84726 2004-01-15  Paul Eggert  <eggert@twinsun.com>
84727
84728         Merge from coreutils.
84729
84730         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
84731         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
84732         (gl_DEFAULT_POSIX2_VERSION): Move
84733         the documentation from 'configure' into 'config.hin',
84734         so that 'configure --help' isn't burdened by it and
84735         we don't have to worry about its formatting there.
84736         Reword the documentation so that it's more succinct
84737         and can be run together into a single paragraph.
84738         * m4/same.m4 (gl_SAME): Check for pathconf.
84739
84740 2004-01-15  Paul Eggert  <eggert@twinsun.com>
84741
84742         Merge from coreutils.
84743
84744         * lib/posixver.c: Include posixver.h.
84745
84746         * lib/same.c: Include <stdbool.h>, <limits.h>.
84747         (_POSIX_NAME_MAX): Define if not defined.
84748         (MIN): New macro.
84749         (same_name): If file names are silently truncated, report
84750         that the file names are the same if they are the same after
84751         the silent truncation.
84752
84753         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
84754         conversion function.
84755         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
84756         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
84757         longer needed.
84758
84759 2004-01-15  Jim Meyering  <jim@meyering.net>
84760
84761         Merge from coreutils.
84762
84763         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
84764         if no library is required.
84765         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
84766         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
84767         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
84768         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
84769         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
84770         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
84771         value, $ac_cv_search_crypt, if it's "none required".
84772         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
84773         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
84774         not gl_FUNC_GETLOADAVG.
84775         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
84776         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
84777
84778 2004-01-15  Jim Meyering  <jim@meyering.net>
84779
84780         Merge from coreutils.
84781
84782         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
84783         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
84784         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
84785
84786         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
84787         optional configure-time default.
84788
84789         * lib/version-etc.c (version_etc_copyright): Update copyright date.
84790
84791         * lib/xreadlink.c (xreadlink): Correct outdated comment.
84792
84793 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
84794
84795         Merge from coreutils.
84796
84797         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
84798         value, $ac_cv_search_nanosleep, if it's "none required".
84799
84800 2004-01-14  Paul Eggert  <eggert@twinsun.com>
84801
84802         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
84803         with like-named macro in fnmatch.c.
84804         (EXT): Use an internal constant instead.
84805
84806         Merge fnmatch patches from glibc.
84807         * lib/fnmatch.c (mbsinit): Remove define.
84808         Add libc_hidden_ver (__fnmatch, fnmatch).
84809         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
84810         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
84811
84812 2004-01-14  Karl Berry  <karl@gnu.org>
84813
84814         * config/install-sh: update from automake.
84815
84816 2004-01-13  Karl Berry  <karl@gnu.org>
84817
84818         * config/install-sh: update from automake.
84819
84820 2004-01-09  Karl Berry  <karl@gnu.org>
84821
84822         * config/install-sh: update from automake.
84823
84824 2004-01-05  Karl Berry  <karl@gnu.org>
84825
84826         * config/config.{sub,guess}: update from config.
84827
84828 2003-12-31  Karl Berry  <karl@gnu.org>
84829
84830         * config/depcomp: update from automake.
84831
84832 2003-12-14  Karl Berry  <karl@gnu.org>
84833
84834         * lib/config.charset: update from gettext-runtime.
84835
84836 2003-12-03  Paul Eggert  <eggert@twinsun.com>
84837
84838         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
84839         Bug reported by Alfred M. Szmidt.
84840
84841 2003-12-03  Bruno Haible  <bruno@clisp.org>
84842
84843         * m4/gettext.m4: Upgrade from gettext-0.13.
84844         * m4/po.m4: Upgrade from gettext-0.13.
84845         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
84846         * m4/intmax.m4: New file, from gettext-0.13.
84847         * m4/printf-posix.m4: New file, from gettext-0.13.
84848
84849 2003-11-29  Karl Berry  <karl@gnu.org>
84850
84851         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
84852
84853 2003-11-25  Paul Eggert  <eggert@twinsun.com>
84854             Bruno Haible  <bruno@clisp.org>
84855
84856         * lib/printf-parse.h: Don't include sys/types.h.
84857         (ARG_NONE): New macro.
84858         (char_directive): Change type of *arg_index fields to size_t.
84859         * lib/printf-parse.c: Don't include sys/types.h.
84860         (SSIZE_MAX): Remove macro.
84861         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
84862         Remove unnecessary overflow check.
84863         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
84864         fields.
84865
84866 2003-11-25  Bruno Haible  <bruno@clisp.org>
84867
84868         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
84869
84870 2003-11-25  Bruno Haible  <bruno@clisp.org>
84871
84872         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
84873         gt_TYPE_SSIZE_T.
84874
84875 2003-11-24  Paul Eggert  <eggert@twinsun.com>
84876
84877         * modules/alloca: Remove dependency on xalloc.
84878
84879 2003-11-24  Paul Eggert  <eggert@twinsun.com>
84880
84881         * lib/alloca.c: Remove dependency on xalloc module.
84882         (xalloc_die): Remove.
84883         (memory_full) [!defined emacs]: New macro.
84884         [!defined emacs]: Don't include xalloc.h.
84885         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
84886         address arithmetic overflows.  Change datatypes a bit to avoid
84887         unnecessary casts.
84888
84889 2003-11-22  Jim Meyering  <jim@meyering.net>
84890
84891         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
84892         s/size/size_t/.
84893
84894 2003-11-21  Karl Berry  <karl@gnu.org>
84895
84896         * config/config.{sub,guess}: update from config.
84897
84898 2003-11-18  Karl Berry  <karl@gnu.org>
84899
84900         * config/config.{sub,guess}: update from config.
84901
84902         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
84903
84904 2003-11-17  Paul Eggert  <eggert@twinsun.com>
84905
84906         * README: Mention that S+T cannot overflow if S is the size of
84907         an existing object and T is sufficiently small.
84908
84909 2003-11-17  Jim Meyering  <jim@meyering.net>
84910
84911         On systems without utime and without a utimes function capable of
84912         dealing with a NULL struct utimbuf* argument, this utime replacement
84913         could -- in unusual circumstances -- leak a file descriptor.
84914         * lib/utime.c: Include <unistd.h> and <errno.h>.
84915         (utime_null): Be sure to close `fd' and to preserve errno.
84916         Reported by Geoff Collyer via Arnold Robbins.
84917
84918 2003-11-17  Bruno Haible  <bruno@clisp.org>
84919
84920         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
84921         (Depends-on): Add xsize.
84922
84923 2003-11-17  Bruno Haible  <bruno@clisp.org>
84924
84925         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
84926
84927 2003-11-17  Bruno Haible  <bruno@clisp.org>
84928
84929         * lib/vasnprintf.c (alloca): Remove fallback definition.
84930         (freea): Remove definition.
84931         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
84932         Reported by Paul Eggert.
84933
84934 2003-11-16  Paul Eggert  <eggert@twinsun.com>
84935             Bruno Haible  <bruno@clisp.org>
84936
84937         Protect against address arithmetic overflow.
84938         * lib/printf-args.h: Include stddef.h.
84939         (arguments): Change type of field 'count' to size_t.
84940         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
84941         'unsigned int' where appropriate.
84942         * lib/printf-parse.h: Include sys/types.h.
84943         (char_directive): Change type of *arg_index fields to ssize_t.
84944         (char_directives): Change type of fields 'count', max_*_length to
84945         size_t.
84946         * lib/printf-parse.c: Include sys/types.h and xsize.h.
84947         (SSIZE_MAX): Define fallback value.
84948         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
84949         instead of 'int' where appropriate. Check a_allocated, d_allocated
84950         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
84951         * lib/vasnprintf.c: Include xsize.h.
84952         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
84953         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
84954         overflow. Avoid wraparound when converting a width or precision from
84955         decimal to binary.
84956
84957 2003-11-16  Bruno Haible  <bruno@clisp.org>
84958
84959         Update from GNU gettext.
84960         * lib/printf-parse.c: Generalize to it can be compiled for wide
84961         strings.
84962         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
84963         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
84964         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
84965         SNPRINTF): New macros.
84966         Don't include <alloca.h> if the file is used inside libintl.
84967         (local_wcslen): New function, for Solaris 2.5.1.
84968         (VASNPRINTF): Use it instead of wcslen.
84969
84970 2003-11-16  Bruno Haible  <bruno@clisp.org>
84971
84972         * lib/xsize.h (xmax): New function.
84973         (xsum, xsum3, xsum4): Declare as "pure" functions.
84974
84975 2003-11-12  Paul Eggert  <eggert@twinsun.com>
84976
84977         * modules/xalloc (Files): Undo latest change, since xalloc.h
84978         no longer needs SIZE_MAX or PTRDIFF_MAX.
84979
84980 2003-11-12  Paul Eggert  <eggert@twinsun.com>
84981
84982         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
84983         gl_PTRDIFF_MAX.
84984
84985 2003-11-12  Paul Eggert  <eggert@twinsun.com>
84986
84987         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
84988         "return", to pacify some unknown compiler.  Problem reported
84989         by Joerg Schilling.
84990
84991 2003-11-12  Paul Eggert  <eggert@twinsun.com>
84992
84993         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
84994         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
84995         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
84996         heuristic is just as accurate as far as we know, and it removes a
84997         dependency on size_max.m4 and ptrdiff_max.m4.
84998
84999 2003-11-11  Bruno Haible  <bruno@clisp.org>
85000
85001         * modules/xsize (Files): Add m4/size_max.m4.
85002         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
85003
85004 2003-11-11  Bruno Haible  <bruno@clisp.org>
85005
85006         * m4/size_max.m4: New file.
85007         * m4/ptrdiff_max.m4: New file.
85008         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
85009         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
85010         (gl_XALLOC): Invoke it.
85011
85012 2003-11-11  Bruno Haible  <bruno@clisp.org>
85013
85014         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
85015         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
85016         defined.
85017
85018 2003-11-10  Paul Eggert  <eggert@twinsun.com>
85019
85020         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
85021         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
85022         rejected some allocations of exactly SIZE_MAX - 2 bytes.
85023         From Bruno Haible.
85024         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
85025         not (size_t) -1, since it's defined here.
85026
85027 2003-11-09  Karl Berry  <karl@gnu.org>
85028
85029         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
85030
85031 2003-11-06  Paul Eggert  <eggert@twinsun.com>
85032
85033         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
85034         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
85035         Reject sizes of exactly SIZE_MAX bytes.
85036         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
85037         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
85038
85039 2003-11-05  Bruno Haible  <bruno@clisp.org>
85040
85041         * lib/xsize.h: Include limits.h, to avoid a possible collision with
85042         SIZE_MAX defined in <limits.h> on Solaris.
85043
85044 2003-11-04  Jim Meyering  <jim@meyering.net>
85045
85046         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
85047         variable names, rather than @VAR@.
85048         * modules/poll: Likewise.
85049
85050 2003-11-04  Bruno Haible  <bruno@clisp.org>
85051
85052         * modules/xsize: New file.
85053         * modules/linebreak: Depend on xsize.
85054         * MODULES.html.sh (func_all_modules): Add xsize.
85055
85056 2003-11-04  Bruno Haible  <bruno@clisp.org>
85057
85058         * m4/xsize.m4: New file.
85059
85060 2003-11-04  Bruno Haible  <bruno@clisp.org>
85061
85062         * lib/xsize.h: New file.
85063         * lib/linebreak.c: Include xsize.h.
85064         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
85065         argument for overflow.
85066         Suggested by Paul Eggert.
85067
85068 2003-11-03  Karl Berry  <karl@gnu.org>
85069
85070         * config/config.{guess,sub}: update from config.
85071
85072 2003-11-03  Jim Meyering  <jim@meyering.net>
85073
85074         * modules/userspec (lib_SOURCES): Add userspec.h.
85075         (Include): Add "userspec.h".
85076         Improve description.
85077
85078 2003-11-03  Jim Meyering  <jim@meyering.net>
85079
85080         * lib/userspec.c: Include "userspec.h".
85081         * lib/userspec.h: New file.
85082
85083 2003-11-03  Bruno Haible  <bruno@clisp.org>
85084
85085         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
85086
85087 2003-11-03  Bruno Haible  <bruno@clisp.org>
85088
85089         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
85090         available, to avoid (extremely rare) race condition.
85091         Suggested by Paul Eggert.
85092
85093 2003-11-02  Karl Berry  <karl@gnu.org>
85094
85095         * config/srclist.txt (vasprintf.c): sync broken, sigh.
85096
85097 2003-10-31  Paul Eggert  <eggert@twinsun.com>
85098
85099         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
85100         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
85101         (read_filesystem_list): Set and use me_type_malloced.
85102         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
85103         whatever the type happens to be), for brevity and consistency.
85104         Check for size calculation overflow on Alphas running OSF/1.
85105
85106 2003-10-31  Jim Meyering  <jim@meyering.net>
85107
85108         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
85109
85110         * lib/linebuffer.c: Include <string.h> for declaration of memset.
85111
85112 2003-10-30  Paul Eggert  <eggert@twinsun.com>
85113             Bruno Haible  <bruno@clisp.org>
85114
85115         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
85116         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
85117
85118 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
85119
85120         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
85121         netbsd*-gnu*.  Suggested by Robert Millan.
85122
85123 2003-10-29  Paul Eggert  <eggert@twinsun.com>
85124
85125         * modules/group-member: Depend on stdbool.
85126
85127 2003-10-29  Paul Eggert  <eggert@twinsun.com>
85128
85129         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
85130
85131 2003-10-29  Paul Eggert  <eggert@twinsun.com>
85132
85133         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
85134         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
85135         after the 'gnu' in these cases.  This fixes some bugs in the
85136         previous change, and is based on suggestions by Robert Millan.
85137
85138 2003-10-29  Paul Eggert  <eggert@twinsun.com>
85139
85140         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
85141         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
85142         no longer needed.
85143         * lib/quotearg.c (quotearg_n_options): Use it.
85144         * lib/group-member.c: Include <stdbool.h>.
85145         (free_group_info): Arg is now const *; don't free arg.
85146         (get_group_info): Now returns bool and accepts struct group_info *,
85147         rather than returning a malloc'ed struct group_info *.
85148         All uses changed.  Check for overflow in internal size calculation.
85149
85150         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
85151         rather than xmalloc/xrealloc.
85152         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
85153         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
85154         conformance bug: the old code used a pointer after freeing the
85155         storage that it addressed.
85156         * lib/hash.c (hash_initialize): Simplify the code by using
85157         xalloc_oversized rather than doing it by hand.
85158         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
85159         the buffer preserved.  Use free and xmalloc instead.
85160         * lib/quotearg.c (quotearg_n_options): Likewise.
85161         Use a simpler test for size overflow.  Don't use xalloc_oversized
85162         because unsigned int might be wider than size_t (!); this suggests
85163         that we should switch from unsigned int to size_t for slot numbers.
85164
85165 2003-10-28  Paul Eggert  <eggert@twinsun.com>
85166
85167         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
85168         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
85169         NetBSD kernels.  Requested by Richard Stallman.
85170
85171 2003-10-27  Paul Eggert  <eggert@twinsun.com>
85172
85173         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
85174         to allocate the returned structure.  Do not allocate a subarray,
85175         as x2nrealloc will do that.
85176         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
85177         instead of xnrealloc.
85178         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
85179
85180 2003-10-27  Bruno Haible  <bruno@clisp.org>
85181
85182         * lib/stdbool_.h: Better support for BeOS.
85183
85184 2003-10-26  Paul Eggert  <eggert@twinsun.com>
85185
85186         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
85187         now uses inline.
85188
85189 2003-10-26  Paul Eggert  <eggert@twinsun.com>
85190
85191         * lib/xalloc.h (xalloc_oversized): New static inline function, for
85192         callers that want to do their own size-overflow checking.  Include
85193         <stdbool.h>, since xalloc_oversized returns bool.
85194         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
85195         to use xalloc_oversized.
85196
85197         Add two functions x2realloc, x2nrealloc, for programs that grow
85198         arrays dynamically by doubling their sizes.
85199         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
85200         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
85201         New functions.
85202
85203         Port to C99 semantics for 'inline' of external functions.
85204         Bug reported by Bruno Haible.
85205         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
85206         with the old contents of xnmalloc.
85207         (xnmalloc, xmalloc): Use it.
85208         (xnrealloc_inline): New static inline function,
85209         with the old contents of xnrealloc.
85210         (xnrealloc, xrealloc): Use it.
85211
85212         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
85213         that.
85214
85215 2003-10-26  Karl Berry  <karl@gnu.org>
85216
85217         * config/srclist.txt (COPYING.DOC): no longer available from
85218         /gd/gnuorg; don't know where the ultimate source is.
85219
85220 2003-10-25  Paul Eggert  <eggert@twinsun.com>
85221
85222         Fix several address-calculation bugs in the hash modules,
85223         plus some minor code cleanup.
85224
85225         * lib/hash.h: Include <stdbool.h>, for bool.
85226         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
85227         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
85228         hash_get_n_entries, hash_get_max_bucket_length,
85229         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
85230         hash_rehash): Use size_t rather than unsigned.
85231         * lib/hash.c (struct hash_table, hash_get_n_buckets,
85232         hash_get_n_buckets_used, hash_get_n_entries,
85233         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
85234         hash_get_entries, hash_do_for_each, hash_string, is_prime,
85235         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
85236         Likewise.
85237         (SIZE_MAX): Define if not defined.
85238         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
85239         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
85240         hash_print):
85241         Use const * when possible.
85242         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
85243         (check_tuning): Fix bug: if tuning parameters were very close to
85244         0 or 1, rounding errors could have caused subscript violations.
85245         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
85246         (hash_initialize): Add 'fail:' label
85247         to free table and return NULL, and use it to simplify code.
85248         Use calloc rather than clearing the storage ourself.
85249         (hash_initialize, hash_rehash): Check for arithmetic overflow in
85250         buffer size calculations.
85251         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
85252         Include <stddef.h>, for size_t.
85253         * lib/hash-pjw.c (hash_pjw): Likewise.
85254         Switch to method described by Bruno Haible.
85255         Include <limits.h>, for CHAR_BIT.
85256         (SIZE_BITS): New macro.
85257
85258 2003-10-23  Paul Eggert  <eggert@twinsun.com>
85259
85260         * m4/getline.m4 (AM_FUNC_GETLINE):
85261         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
85262         hosts.  Problem reported by Derek Robert Price in
85263         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
85264         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
85265         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
85266
85267 2003-10-21  Paul Eggert  <eggert@twinsun.com>
85268
85269         * lib/getndelim2.c (getndelim2): When size calculation overflows,
85270         ceiling the allocation at NMAX bytes rather than silently
85271         discarding input bytes before NMAX is reached.  This makes
85272         a difference only if NMAX exceeds SIZE_MAX / 2.
85273
85274         * lib/obstack.c: Merge from glibc.
85275         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
85276         Add libc_hidden_def (_obstack_newchunk).
85277         (_obstack_free) [! defined _LIBC]: Remove.
85278         [defined _LIBC]: Make a strong alias from obstack_free, rather than
85279         a clone of the function body.
85280         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
85281         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
85282
85283         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
85284         glibc.
85285         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
85286         arg to memcpy.
85287
85288         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
85289         (obstack_ptr_grow_fast, obstack_int_grow_fast):
85290         Don't use lvalue casts, as GCC plans to remove support for them
85291         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
85292         was also present in the non-GCC version, indicating that this
85293         code had always been buggy and had never been widely used.
85294         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
85295         Use the fast variant of each macro, rather than copying the
85296         definiens of the fast variant; that way, we'll be more likely to
85297         catch future bugs in the fast variants.
85298
85299 2003-10-20  Bruno Haible  <bruno@clisp.org>
85300
85301         * modules/wait-process: New file.
85302         * MODULES.html.sh (func_all_modules): Add wait-process.
85303
85304 2003-10-20  Bruno Haible  <bruno@clisp.org>
85305
85306         * m4/wait-process.m4: New file.
85307
85308 2003-10-20  Bruno Haible  <bruno@clisp.org>
85309
85310         * lib/wait-process.h: New file, from GNU gettext.
85311         * lib/wait-process.c: New file, from GNU gettext.
85312
85313 2003-10-19  Jim Meyering  <jim@meyering.net>
85314
85315         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
85316         HPUX 10.20.
85317
85318 2003-10-18  Karl Berry  <karl@gnu.org>
85319
85320         * config/config.guess: update from config.
85321
85322 2003-10-16  Paul Eggert  <eggert@twinsun.com>
85323
85324         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
85325         (getgroups): First arg is int, not size_t.
85326         Don't let 'free' mangle errno.
85327
85328 2003-10-16  Paul Eggert  <eggert@twinsun.com>
85329
85330         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
85331
85332 2003-10-16  Karl Berry  <karl@gnu.org>
85333
85334         * config/config.{guess,sub}: update from config.
85335
85336 2003-10-16  Jim Meyering  <jim@meyering.net>
85337
85338         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
85339         memcpy.
85340
85341 2003-10-15  Paul Eggert  <eggert@twinsun.com>
85342
85343         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
85344         (SIZE_MAX): Remove.
85345         (new_exclude, add_exclude_file): Initial size no longer needs to
85346         be a power of 2.
85347         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
85348         our own address arithmetic overflow checking.
85349
85350         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
85351         (fnmatch): Do not alloca more than 2000 wide characters;
85352         instead, use malloc for large buffers.
85353         Check for address arithmetic overflow, and return -1
85354         with errno set to ENOMEM in that case.
85355         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
85356         (NEW_PATTERN): Do not alloca more than 8000 bytes;
85357         instead, return -1.  Check for address arithmetic overflow.
85358
85359 2003-10-14  Paul Eggert  <eggert@twinsun.com>
85360
85361         Handle invalid suffixes and overflow independently, so that
85362         callers can treat them independently as needed.  Fix some bugs in
85363         suffix handling, e.g., "100k@" was not diagnosed as an invalid
85364         suffix for a human-readable blocksize.  The major caller-visible
85365         change is the addition of a new
85366         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
85367         that both overflow and suffix chars were found.
85368
85369         * lib/human.c (humblock): Don't check separately for invalid suffix
85370         char; that is xstrtoumax's job (now that its bug is fixed).
85371         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
85372         INTMAX_MAX]: New macros.
85373         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
85374         TYPE_MAXIMUM): New macros.
85375         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
85376         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
85377         if overflow occurs, as it's what __strtol does and it's more useful
85378         in practice.
85379         (__xstrtol): If __strtol reports some error other than ERANGE,
85380         reflect it to the caller as LONGINT_INVALID.  If it reports
85381         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
85382         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
85383         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
85384         value.
85385         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
85386         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
85387         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
85388         [defined UINTMAX_MAX]: New macros.
85389
85390 2003-10-14  Bruno Haible  <bruno@clisp.org>
85391
85392         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
85393
85394 2003-10-14  Bruno Haible  <bruno@clisp.org>
85395
85396         * m4/sig_atomic_t: New file, from GNU gettext.
85397         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
85398
85399 2003-10-14  Bruno Haible  <bruno@clisp.org>
85400
85401         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
85402         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
85403         Also use volatile where needed.
85404
85405 2003-10-12  Paul Eggert  <eggert@twinsun.com>
85406
85407         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
85408         Change maintainer from Bruno Haible to 'all'.
85409
85410 2003-10-12  Paul Eggert  <eggert@twinsun.com>
85411
85412         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
85413
85414 2003-10-12  Paul Eggert  <eggert@twinsun.com>
85415
85416         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
85417         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
85418         and define in terms of the other primitives.
85419         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
85420         (SIZE_MAX): Define if not already defined.
85421         (array_size_overflow): New function.
85422         (xalloc_die): Abort instead of exiting if 'error' returns.
85423         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
85424         (xmalloc, xrealloc): Use them.
85425         (xcalloc): Check for address arithmetic overflow.
85426         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
85427         a bit faster than strcpy.
85428
85429 2003-10-10  Simon Josefsson  <jas@extundo.com>
85430
85431         * modules/argp (Depends-on): Add restrict and strcase.
85432
85433 2003-10-10  Simon Josefsson  <jas@extundo.com>
85434
85435         * m4/argp.m4: Add AC_C_INLINE.
85436
85437 2003-10-08  Paul Eggert  <eggert@twinsun.com>
85438
85439         Merge getpass from libc, plus a few fixes.
85440
85441         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
85442         Include <stdbool.h>.
85443         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
85444         __fsetlocking to empty.
85445         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
85446         do include <bits/libc-lock.h>.
85447         Do not include <fcntl.h>; not needed.
85448         [_LIBC]: Include <wchar.h>.
85449         (NOTCANCEL_MODE): New macro.
85450         (flockfile, funlockfile) [_LIBC]: New macros.
85451         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
85452         [!_LIBC]: New macros.
85453         (call_fclose): New function.
85454         (getpass): Use it.  Save tty stream separately; this simplifies the
85455         code and makes it more reliable if stdin happens to equal stdout.
85456         Invoke __fsetlocking on tty.
85457         Handle thread cancellation if needed.
85458         Namespace cleanup (use __tcgetattr, __getline).
85459         Use bool for Booleans.
85460         [USE_IN_LIBIO]: Handle wide streams.
85461         [!_LIBC]: Unconditionally do the fseek, since we don't know what
85462         stream might go where.
85463
85464         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
85465         doesn't have to include <stdio.h> before us.
85466         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
85467         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
85468         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
85469         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
85470         if not declared, so that we can use getpass.c code from libc without
85471         rewriting it.
85472         (flockfile, ftrylockfile, funlockfile): New macros.
85473
85474 2003-10-08  Paul Eggert  <eggert@twinsun.com>
85475
85476         * modules/getpass: Depend on stdbool.
85477
85478 2003-10-08  Paul Eggert  <eggert@twinsun.com>
85479
85480         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
85481
85482 2003-10-07  Karl Berry  <karl@gnu.org>
85483
85484         * config/config.{guess,sub}: update from config.
85485
85486 2003-10-06  Jim Meyering  <jim@meyering.net>
85487             Bruno Haible  <bruno@clisp.org>
85488
85489         This lets translators provide better translations for the
85490         "Written by ..." part of --version output.
85491         * lib/version-etc.h: Include stdarg.h.
85492         (version_etc_copyright): Declare as readonly.
85493         (version_etc): Make this function variadic with a NULL-terminated list
85494         of author name strings.
85495         (version_etc_va): New declaration.
85496         * lib/version-etc.c: Include stdarg.h, stdlib.h.
85497         (version_etc_copyright): Declare as readonly.
85498         (version_etc_va): New function. Provide a different translatable string
85499         for each possible number of authors < 10. Abbreviate when there are 10
85500         authors or more.
85501         (version_etc): Make this function variadic. Call version_etc_va.
85502         Suggestion from Gary V. Vaughan.
85503
85504         * lib/long-options.h (parse_long_options): Change prototype: the
85505         authors string is moved to the end and becomes variadic.
85506         * lib/long-options.c: Include stdarg.h.
85507         (parse_long_options): Make this function variadic, too.
85508         Call version_etc_va, not version_etc.
85509
85510 2003-10-06  Bruno Haible  <bruno@clisp.org>
85511
85512         * modules/version-etc-2: Remove file.
85513         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
85514
85515 2003-10-06  Bruno Haible  <bruno@clisp.org>
85516
85517         * modules/fatal-signal: New file.
85518         * MODULES.html.sh (func_all_modules): Add fatal-signal.
85519
85520 2003-10-06  Bruno Haible  <bruno@clisp.org>
85521
85522         * m4/fatal-signal.m4: New file.
85523         * m4/signalblocking.m4: New file, from GNU gettext.
85524
85525 2003-10-06  Bruno Haible  <bruno@clisp.org>
85526
85527         * lib/version-etc-2.h: Remove file.
85528         * lib/version-etc-2.c: Remove file.
85529
85530 2003-10-06  Bruno Haible  <bruno@clisp.org>
85531
85532         * lib/fatal-signal.h: New file, from GNU gettext.
85533         * lib/fatal-signal.c: New file, from GNU gettext.
85534
85535 2003-10-05  Paul Eggert  <eggert@twinsun.com>
85536
85537         * README: Rework advice for preventing empty .o files.
85538         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
85539         not <sys/types.h>.
85540
85541 2003-10-04  Karl Berry  <karl@gnu.org>
85542
85543         * lib/argp*: update from libc.
85544
85545 2003-10-04  Karl Berry  <karl@gnu.org>
85546
85547         * config/config.{guess,sub}: update from config.
85548
85549 2003-10-02  Bruno Haible  <bruno@clisp.org>
85550
85551         * modules/lchown (Include): Add lchown.h.
85552         * modules/time_r (Include): Use "..." syntax.
85553         * modules/xgetdomainname (Include): Add xgetdomainname.h.
85554
85555 2003-10-01  Simon Josefsson  <jas@extundo.com>
85556
85557         * MODULES.html.sh (func_all_modules): Move gethostname from section
85558         'based on' to section 'lacking' POSIX:2001.
85559
85560 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
85561
85562         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
85563         to output mode on the same stream.
85564
85565 2003-09-29  Paul Eggert  <eggert@twinsun.com>
85566
85567         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
85568         Fix arg typo in previous patch.
85569
85570 2003-09-28  Jim Meyering  <jim@meyering.net>
85571
85572         * lib/error.c: Correct cpp indentation.
85573
85574 2003-09-27  Paul Eggert  <eggert@twinsun.com>
85575
85576         * modules/free: New file.
85577
85578 2003-09-27  Paul Eggert  <eggert@twinsun.com>
85579
85580         * m4/free.m4: New file.
85581
85582 2003-09-27  Paul Eggert  <eggert@twinsun.com>
85583
85584         * lib/minmax.h (MIN, MAX)
85585         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
85586         Omit the special code that used __typeof__, since we worry that
85587         it could be more trouble than it's worth.  See:
85588         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
85589         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
85590
85591         * lib/free.c: New file.
85592
85593 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
85594
85595         Trivial fixes to Makefile.am parts of module listings.
85596         * modules/strstr: Append strstr.h to lib_SOURCES.
85597         * modules/strcase: Likewise, for strcase.h.
85598
85599 2003-09-27  Karl Berry  <karl@gnu.org>
85600
85601         * config/mkinstalldirs: update from automake.
85602
85603 2003-09-26  Paul Eggert  <eggert@twinsun.com>
85604
85605         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
85606         (error_tail): Do not loop, reallocating temporary buffer, since
85607         the output cannot contain more wide characters than the input
85608         contains bytes, the size must be big enough already.  This avoids
85609         one potential size overflow calculation.  Check for size overflow
85610         when calculating temporary buffer size.  Free temporary buffer
85611         when done, if it was allocated with malloc; this plugs a memory
85612         leak.  Remove casts from void * to pointers, that are no longer
85613         needed now that we're assuming C89 or better.
85614
85615         Merge error changes from glibc.
85616
85617         * lib/error.c, error.h: Update copyright notice header to match glibc.
85618         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
85619         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
85620         Disable cancellation while printing error.
85621         * lib/error.h: Prepend __ to parameter names.
85622
85623 2003-09-26  Jim Meyering  <jim@meyering.net>
85624
85625         * lib/error.c (error_tail): Move some declarations
85626         into inner scope where the local variables are used.
85627
85628 2003-09-26  Bruno Haible  <bruno@clisp.org>
85629
85630         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
85631         stpncpy().
85632         Don't define stpncpy through config.h; it's now done through stpncpy.h.
85633
85634 2003-09-26  Bruno Haible  <bruno@clisp.org>
85635
85636         * lib/stpncpy.h (gnu_stpncpy): New declaration.
85637         (stpncpy): Define as alias for gnu_stpncpy.
85638         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
85639
85640 2003-09-25  Simon Josefsson  <jas@extundo.com>
85641
85642         * lib/xgetdomainname.h: New file.
85643         * lib/xgetdomainname.c: New file.
85644
85645 2003-09-25  Simon Josefsson  <jas@extundo.com>
85646             Bruno Haible  <bruno@clisp.org>
85647
85648         * modules/getdomainname: New file.
85649         * modules/xgetdomainname: New file.
85650         * MODULES.html.sh (func_all_modules): Add getdomainname,
85651         xgetdomainname.
85652
85653 2003-09-25  Simon Josefsson  <jas@extundo.com>
85654             Bruno Haible  <bruno@clisp.org>
85655
85656         * m4/getdomainname.m4: New file.
85657
85658 2003-09-25  Simon Josefsson  <jas@extundo.com>
85659             Bruno Haible  <bruno@clisp.org>
85660
85661         * lib/getdomainname.h: New file.
85662         * lib/getdomainname.c: New file.
85663
85664 2003-09-25  Karl Berry  <karl@gnu.org>
85665
85666         * lib/argp-fmtstream.c, argp-help.c: update from libc.
85667
85668 2003-09-25  Karl Berry  <karl@gnu.org>
85669
85670         * config/install-sh: update from automake.
85671
85672 2003-09-25  Bruno Haible  <bruno@clisp.org>
85673
85674         * modules/version-etc-2: New file, from modules/version-etc with
85675         modifications.
85676         * MODULES.html.sh (func_all_modules): Add version-etc-2.
85677
85678 2003-09-25  Bruno Haible  <bruno@clisp.org>
85679
85680         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
85681         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
85682
85683 2003-09-24  Simon Josefsson  <jas@extundo.com>
85684
85685         * modules/xgethostname: Add xgethostname.h.
85686
85687 2003-09-24  Paul Eggert  <eggert@twinsun.com>
85688
85689         * lib/linebuffer.c (freebuffer): Don't free the argument, just
85690         the buffer associated with the argument.  Bug reported by
85691         Simon Josefsson.
85692
85693 2003-09-24  Paul Eggert  <eggert@twinsun.com>
85694
85695         * README: Document assumptions that 'int' is at least 32 bits
85696         wide, that integer arithmetic is 2's complement without overflow,
85697         that there are no holes in integer values, that adding sizes of
85698         two nonoverlapping objects can't overflow, and that all-bits-zero
85699         yields scalar zero.  Fix spelling and capitalization typos.
85700
85701 2003-09-19  Karl Berry  <karl@gnu.org>
85702
85703         * lib/argp.h: update from libc.
85704
85705 2003-09-17  Paul Eggert  <eggert@twinsun.com>
85706
85707         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
85708         to avoid spurious warnings like "AC_RUN_IFELSE was called before
85709         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
85710
85711 2003-09-17  Paul Eggert  <eggert@twinsun.com>
85712
85713         * gnulib-tool: Use "test -h", not "test -L", for portability
85714         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
85715         (tags_regexp): Remove, since \| doesn't conform to POSIX.
85716         (sed_extract_prog): Issue s commands one-by-one, rather than
85717         using \| in one s command.
85718
85719 2003-09-16  Paul Eggert  <eggert@twinsun.com>
85720
85721         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
85722         input error, instead of returning NULL the next time we are called
85723         (and therefore losing track of errno).
85724
85725 2003-09-16  Bruno Haible  <bruno@clisp.org>
85726
85727         * gnulib-tool (func_create_testdir): Warn about duplicated
85728         dependencies.
85729
85730 2003-09-15  Paul Eggert  <eggert@twinsun.com>
85731
85732         * modules/argmatch, modules/fatal, modules/obstack,
85733         modules/xalloc, modules/xgethostname: Sort dependencies by
85734         importance, not alphabetically.
85735
85736 2003-09-15  Paul Eggert  <eggert@twinsun.com>
85737
85738         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
85739         fails, so that the caller gets the proper errno.
85740
85741         * lib/readutmp.c (read_utmp): Likewise.
85742         Check for fstat error.  Close stream and free storage
85743         when failing.
85744
85745 2003-09-14  Karl Berry  <karl@gnu.org>
85746
85747         * config/srclist.txt (strdup.c): disable for c89 changes.
85748
85749 2003-09-14  Jim Meyering  <jim@meyering.net>
85750
85751         * lib/getloadavg.c: Correct cpp indentation.
85752         * lib/strdup.c: Likewise.
85753         * lib/vasnprintf.c: Likewise.
85754
85755 2003-09-14  Bruno Haible  <bruno@clisp.org>
85756
85757         * modules/fwriteerror: New file.
85758         * MODULES.html.sh (func_all_modules): Add fwriteerror.
85759
85760 2003-09-14  Bruno Haible  <bruno@clisp.org>
85761
85762         * lib/fwriteerror.h: New file.
85763         * lib/fwriteerror.c: New file.
85764
85765 2003-09-12  Paul Eggert  <eggert@twinsun.com>
85766
85767         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
85768         modules/xgethostname, modules/xalloc: Depend on exit.
85769
85770 2003-09-12  Paul Eggert  <eggert@twinsun.com>
85771
85772         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
85773
85774         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
85775         and AC_MINIX, too, so that their extensions are available.
85776
85777         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
85778         This macro has been superseded by gl_BACKUPFILE.
85779
85780         More patches to assume C89 or better.
85781
85782         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
85783
85784         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
85785         unconditionally.
85786         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
85787         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
85788         Include <string.h>, <stdlib.h> unconditionally.
85789         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
85790         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
85791         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
85792         headers or for string.h.
85793         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
85794         or strtoul.
85795
85796         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
85797         headers.
85798         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
85799         * m4/userspec.m4 (gl_USERSPEC): Likewise.
85800         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
85801         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
85802         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
85803         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
85804         memcpy, memset.
85805         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
85806         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
85807         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
85808         strtol.
85809         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
85810         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
85811         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
85812         strtoul.
85813
85814 2003-09-12  Paul Eggert  <eggert@twinsun.com>
85815
85816         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
85817         * lib/obstack.c [!defined _LIBC]: Likewise.
85818         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
85819         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
85820         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
85821
85822         More changes to assume C89 or better.
85823
85824         * lib/error.c (error_tail): Assume vprintf.
85825
85826         * lib/argmatch.c (getenv): Remove decl.
85827         * lib/progreloc.c (get_full_program_name): Define via prototype.
85828         * lib/setenv.c (clearenv): Likewise.
85829         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
85830         needed.
85831         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
85832         (malloc, memcpy): Remove decls.
85833         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
85834         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
85835         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
85836         (memcpy): Remove macro.
85837         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
85838         (__P): Remove.  All uses removed.
85839         (PTR): Remove.  All uses changed to void *.
85840         (CHAR_BIT, NULL): Remove.
85841         (spaces, zeros, memset_space, memset_zero)
85842         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
85843         Remove.
85844         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
85845         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
85846         Define with prototype.
85847         Remove now-unnecessary prototype decl.
85848         (extra_args_spec): Assume ANSI C.  All uses changed.
85849         (extra_args_spec_iso): Remove.
85850         (my_strftime, emacs_strftimeu): Define via prototype.
85851         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
85852         unconditionally.
85853         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
85854         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
85855         (strtoul, strtol): Remove decls.
85856         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
85857         LONG_MAX): Remove.
85858         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
85859         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
85860         (LOCALE_PARAM_PROTO): New macro.
85861         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
85862         (INTERNAL (strtol), strtol): Define with a prototype.
85863         (PARAMS): Remove.  All uses removed.
85864         * lib/tempname.c: Include <string.h> unconditionally.
85865         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
85866         * lib/xgethostname.c (main): Define with a prototype.
85867         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
85868         Include <stdlib.h> unconditionally.
85869         (calloc, malloc, realloc, free): Remove decls.
85870         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
85871         Include <stdlib.h> unconditionally.  Sort include file names.
85872         (strtod): Remove.
85873         (xstrtod): Define with a prototype.
85874         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
85875         (strtol, strtoul): Remove decls.
85876
85877 2003-09-11  Paul Eggert  <eggert@twinsun.com>
85878
85879         More patches to assume C89 or better.
85880         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
85881         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
85882         string.h, memchr, STDC_HEADERS.
85883
85884 2003-09-11  Paul Eggert  <eggert@twinsun.com>
85885
85886         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
85887         Include <stdlib.h>, <string.h> unconditionally.
85888         Remove now-unnecessary cast to char *.
85889         * lib/strnlen.c: Include <string.h> unconditionally.
85890         * lib/yesno.c (yesno): Define with a prototype.
85891
85892 2003-09-11  Bruno Haible  <bruno@clisp.org>
85893
85894         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
85895
85896 2003-09-10  Jim Meyering  <jim@meyering.net>
85897
85898         * lib/error.c: Correct indentation of cpp directives.
85899
85900 2003-09-10  Bruno Haible  <bruno@clisp.org>
85901
85902         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
85903         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
85904         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
85905         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
85906         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
85907         <stdlib.h> and <string.h> checks.
85908         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
85909         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
85910
85911 2003-09-10  Bruno Haible  <bruno@clisp.org>
85912
85913         * lib/strcspn.c: Include <string.h> unconditionally.
85914         * lib/strpbrk.c: Include <string.h> unconditionally.
85915         * lib/strstr.c: Include <string.h> unconditionally.
85916         * lib/unicodeio.c: Include <string.h> unconditionally.
85917         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
85918         * lib/unsetenv.c: Likewise.
85919         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
85920         * lib/yesno.c: Include <stdlib.h> unconditionally.
85921         (rpmatch): Add prototype.
85922
85923 2003-09-09  Paul Eggert  <eggert@twinsun.com>
85924
85925         More patches to assume C89 or better.
85926         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
85927         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
85928         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
85929         or for string.h.
85930         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
85931         stdlib.h.
85932         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
85933         C headers.
85934         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
85935         string.h.
85936         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
85937         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
85938         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
85939         or for string.h.
85940         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
85941         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
85942         C headers.
85943         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
85944         memcpy.
85945         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
85946         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
85947         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
85948         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
85949         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
85950         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
85951         string.h, free.
85952         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
85953         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
85954         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
85955         C headers, or for string.h.
85956         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
85957         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
85958         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
85959         headers, memory.h, stdlib.h, string.h, strings.h.
85960         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
85961         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
85962         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
85963         strchr.
85964         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
85965         headers, memory.h, string.h.
85966         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
85967         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
85968         free.
85969         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
85970         headers.
85971         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
85972         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
85973         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
85974         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
85975         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
85976
85977 2003-09-09  Paul Eggert  <eggert@twinsun.com>
85978
85979         More K&R removal.
85980
85981         * lib/acosl.c (main): Use a prototype.
85982         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
85983         tanl.c: Likewise.
85984
85985         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
85986
85987         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
85988         (getopt, etopt_long, getopt_long_only, _getopt_internal)
85989         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
85990         with a prototype.
85991         * lib/getopt.c (const): Remove macro.
85992         Include <string.h> unconditionally.
85993         (my_index): Remove; all uses changed to strchr.
85994         (strlen): Remove decl.
85995         (exchange): Remove forward decl; no longer needed.
85996         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
85997         Define with prototype.
85998         * lib/getopt1.c (const): Remove macro.
85999         (getopt_long, getopt_long_only, main): Define with prototype.
86000
86001         * lib/getugroups.c: Include <string.h> unconditionally.
86002
86003         * lib/getusershell.c: Include <stdlib.h> unconditionally.
86004         (getusershell, setusershell, endusershell, readname, main):
86005         Define with prototypes.
86006
86007         * lib/group-member.c: Include group-member.h first.
86008         Include <stdlib.h> unconditionally.
86009
86010         * lib/hard-locale.c: Include hard-locale.h first.
86011         Include <stdlib.h>, <string.h> unconditionally.
86012
86013         * lib/hash.c (free, malloc): Remove decls.
86014         Include <stdlib.h> unconditionally.
86015
86016         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
86017         (getenv): Do not declare.
86018
86019         * lib/idcache.c: Include <string.h> unconditionally.
86020
86021         * lib/long-options.c: Include long-options.h first, to test interface.
86022         Include <stdlib.h> unconditionally.
86023
86024         * lib/makepath.c: Include makepath.h first, to test interface.
86025         Include <stdlib.h> and <string.h> unconditionally.
86026
86027         * lib/linebuffer.c: Include <stdlib.h>.
86028         (free): Remove decl.
86029
86030         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
86031         stddef.h. rpl_malloc returns void *, not char *.
86032         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
86033         prototype.
86034
86035         * lib/md5.h: Include <limits.h> unconditionally.
86036         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
86037         (__P): Remove; all uses removed.
86038         * lib/md5.c: Include "md5.h" first.
86039         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
86040         md5_buffer, md5_process_bytes, md5_process_block):
86041         Define with prototypes.
86042         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
86043         * lib/sha.c: Include "sha.h" first.
86044         Include <stdlib.h>, <string.h> unconditionally.
86045
86046         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
86047         * lib/memcmp.c (__ptr_t): Likewise.
86048         * lib/memrchr.c (__ptr_t): Likewise.
86049         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
86050         Include <string.h> unconditionally.
86051         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
86052         * lib/memchr.c: Include <stdlib.h> unconditionally.
86053         * lib/memchr.c (LONG_MAX): Remove.
86054         * lib/memrchr.c (LONG_MAX): Likewise.
86055         * lib/memchr.c (__memchr): Define via a prototype.
86056         * lib/memrchr.c (__memrchr): Likewise.
86057         * lib/memcmp.c (__P): Remove, and remove all uses.
86058         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
86059         Remove forward decls; no longer needed.
86060         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
86061         Use types required by C89 in prototype.
86062
86063         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
86064         * lib/savedir.c: Likewise.
86065         * lib/mkdir.c (free): Remove decl.
86066         * lib/rmdir.c (rmdir): Define with a prototype.
86067         * lib/savedir.c: Include savedir.h first, to test interface.
86068
86069         * lib/mktime.c (STDC_HEADERS): Remove.
86070         Include <stdlib.h>, <string.h> unconditionally.
86071
86072         * lib/modechange.c: Include <stdlib.h> unconditionally.
86073         (malloc): Remove decl.
86074
86075         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
86076         (free): Remove decl.
86077
86078         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
86079         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
86080         (This type really should be intptr_t, but that's a C99ism.)
86081         (_obstack_memcpy): Remove: all uses changed to memcpy.
86082         Include <string.h> unconditionally.
86083         (struct obstack): Assume __STDC__ for types of members
86084         chunkfun, freefun, extra_arg.
86085         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
86086         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
86087         obstack_begin, obstack_specify_allocation,
86088         obstack_specify_allocation_with_arg, obstack_chunkfun,
86089         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
86090         Remove unprototyped decls and the macros that use them.
86091         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
86092         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
86093         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
86094         (defined __STDC__ && __STDC__)]:
86095         Remove nonprototyped code.
86096         Include <stdlib.h> unconditionally.
86097         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
86098         _obstack_allocated_p, _obstack_free, obstack_free,
86099         _obstack_memory_used, print_and_abort):
86100         Define using prototypes.
86101         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
86102         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
86103         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
86104         obstack_next_free, obstack_object_size, obstack_room) [0]:
86105         Remove unused, unprototyped code.
86106
86107         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
86108
86109         * lib/physmem.c (physmem_total, physmem_available, main): Define
86110         with prototypes.
86111
86112         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
86113         (main): Define with a prototype.
86114
86115         * lib/posixver.c (getenv): Remove decl.
86116
86117         * lib/putenv.c (malloc): Returns void *, not char *.
86118         Include <string.h> unconditionally.
86119         (strchr, memcpy, NULL): Do not define.
86120
86121         * lib/readtokens.c: Include readtokens.h first, to test interface.
86122         Include <stdlib.h>, <string.h> unconditionally.
86123         (init_tokenbuffer): Define with a prototype.
86124
86125         * lib/regex.c (PARAMS): Remove.  All uses removed.
86126         All uses of _RE_ARGS removed, too.
86127         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
86128         unconditionally.
86129         (bzero): Assume memset exists.
86130         (memcmp, memcpy, NULL): Remove.
86131         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
86132         char, or assignments to local vars of type signed char.
86133         (init_syntax_once, PREFIX(extract_number_and_incr),
86134         PREFIX(print_partial_compiled_pattern),
86135         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
86136         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
86137         PREFIX(regex_grow_registers), PREFIX(regex_compile),
86138         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
86139         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
86140         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
86141         wcs_compile_range, byte_compile_range, truncate_wchar,
86142         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
86143         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
86144         count_mbs_length, wcs_re_match_2_internal,
86145         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
86146         PREFIX(alt_match_null_string_p),
86147         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
86148         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
86149         regfree, PREFIX(extract_number)): Define with prototype.  Remove
86150         now-unnecessary declaration, if any.
86151         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
86152         regcomp, regexec):
86153         Remove now-unnecessary casts among pointer types.
86154         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
86155
86156         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
86157         (free): Remove decl.
86158
86159         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
86160
86161         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
86162         (free): Remove decl.
86163
86164         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
86165         * lib/xgetcwd.c: Likewise.
86166
86167         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
86168         (free): Remove decl.
86169
86170         * lib/strchrnul.c (strchrnul): Define with a prototype.
86171         Fix bug: c_in was not converted to char before searching.
86172
86173         The following changes are not K&R related:
86174
86175         * lib/group-member.h: Include <sys/types.h>, so that this file is
86176         self-contained.
86177         * lib/makepath.h: Likewise.
86178
86179         * lib/getusershell.c (readname, default_index, line_size, readname):
86180         Use size_t, not int, for sizes.
86181         (readname): If the size overflows, report an error instead of
86182         looping forever.
86183
86184 2003-09-09  Paul Eggert  <eggert@twinsun.com>
86185
86186         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
86187         libc.
86188
86189 2003-09-09  Paul Eggert  <eggert@twinsun.com>
86190
86191         * README: New section: portability guidelines.
86192
86193 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
86194
86195         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
86196         C89 spec.
86197
86198 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
86199
86200         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
86201
86202 2003-09-08  Paul Eggert  <eggert@twinsun.com>
86203
86204         Assume C89 or better; remove K&R cruft.
86205         A few of these changes were first proposed by Derek Robert Price
86206         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
86207
86208         * lib/addext.c: Include <string.h> unconditionally.
86209         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
86210         Don't declare getenv or malloc.
86211
86212         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
86213         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
86214         (NULL): Remove.
86215         (find_stack_direction, alloca): Use prototypes.
86216
86217         * lib/atexit.c (atexit): Define using a prototype.
86218
86219         * lib/basename.c, dirname.c, stripslash.c:
86220         Include <string.h> unconditionally.
86221
86222         * lib/bcopy.c: Include <stddef.h>.
86223         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
86224
86225         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
86226
86227         * lib/error.h (error, error_at_line, error_print_progname)
86228         [! (defined (__STDC__) && __STDC__)]: Remove decls.
86229         * lib/error.c: Include error.h first, to check interface.
86230         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
86231         (VA_START): Remove; all uses changeed to va_start.
86232         (exit, strerror): Remove decls.
86233         (error_print_progname): Prototype uncondionally.
86234         Don't include <errno.h>; no longer needed.
86235         (private_strerror): Remove.
86236         (error_tail): Always define.
86237         (error, error_at_line): Assume C89 or better; always use prototypes.
86238         * lib/fatal.c: Include "fatal.h" first, to test interface.
86239         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
86240         (VA_START): Remove; all uses changed to va_start.
86241         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
86242         this case.
86243         (exit): Remove decl.
86244         (fatal): Prototype unconditionally.  Assume va_start works.
86245         Abort at end, to pacify gcc.
86246
86247         * lib/euidaccess.c (main): Define with a prototype.
86248
86249         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
86250
86251         * lib/exitfail.c: Include <stdlib.h> unconditionally.
86252
86253         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
86254         prototypes.
86255         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
86256         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
86257         (getenv): Remove decl.
86258         (fnmatch): Define using a prototype.
86259         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
86260         (FCT): Define using a prototype.
86261
86262         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
86263
86264         * lib/gethostname.c: Include <stddef.h>.
86265         (gethostname): Define with prototype.  Length is size_t, not int.
86266
86267 2003-09-08  Paul Eggert  <eggert@twinsun.com>
86268
86269         Assume C89 or better; remove K&R cruft.
86270         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
86271         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
86272         string.h, getenv, malloc.
86273         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
86274         headers.
86275         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
86276         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
86277         do not check for strerror.
86278         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
86279         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
86280         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
86281         do not check for doprnt or vprintf.
86282         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
86283         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
86284
86285 2003-09-08  Paul Eggert  <eggert@twinsun.com>
86286
86287         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
86288         getversion.c should have been removed then, but was accidentally
86289         preserved.
86290
86291         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
86292         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
86293
86294 2003-09-08  Karl Berry  <karl@gnu.org>
86295
86296         * config/config.sub, config.guess, srclistvars.sh: update from savannah
86297                 config, forget about prep.
86298
86299         * config/depcomp, missing: update from automake.
86300
86301 2003-09-07  Paul Eggert  <eggert@twinsun.com>
86302
86303         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
86304         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
86305
86306 2003-09-07  Paul Eggert  <eggert@twinsun.com>
86307
86308         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
86309         copy_tm_result.  Bug reported by Simon Josefsson in
86310         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
86311
86312 2003-09-06  Paul Eggert  <eggert@twinsun.com>
86313
86314         * m4/time_r.m4: New file.
86315         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
86316         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
86317         is. Check for timegm declaration.
86318         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
86319         Do not check for gmtime_r.
86320         Replace mktime if __mktime_internal does not exist and if mktime
86321         hasn't been replaced already.
86322
86323 2003-09-06  Paul Eggert  <eggert@twinsun.com>
86324
86325         * lib/time_r.c, lib/time_r.h: New files.
86326
86327         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
86328         __localtime_r.
86329         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
86330         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
86331
86332         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
86333         __gmtime_r.
86334         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
86335         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
86336         Include <time_r.h>.
86337
86338         * lib/timegm.c: Switch to glibc implementation, with the following
86339         changes:
86340         [defined HAVE_CONFIG_H]: Include <config.h>.
86341         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
86342         (__mktime_internal) [!defined _LIBC]: New decl.
86343         (__gmtime_r) [!defined _LIBC]: New macro and function.
86344         (timegm): Use a prototype, since gnulib assumes C89.
86345         Do not bother declaring tmp to be const, as it's not really usefu.
86346         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
86347         (timegm): Declare only if HAVE_DECL_TIMEGM.
86348
86349 2003-09-06  Paul Eggert  <eggert@twinsun.com>
86350
86351         * MODULES.html.sh (func_all_modules): Add time_r.
86352         * modules/time_r: New file.
86353         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
86354         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
86355
86356 2003-09-03  Paul Eggert  <eggert@twinsun.com>
86357
86358         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
86359         Bug reported by Lute Kamstra in
86360         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
86361
86362         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
86363         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
86364         course with correspondingly smaller numbers for tomorrow and
86365         yesterday.  From Tadayoshi Funaba.  Originally installed into
86366         sh-utils on 1999-08-07, but the patch got lost (I guess during the
86367         coreutils merge?).
86368
86369 2003-08-31  Simon Josefsson  <jas@extundo.com>
86370
86371         * modules/timegm: New file.
86372         * MODULES.html.sh (func_all_modules): Add timegm.
86373
86374 2003-08-31  Simon Josefsson  <jas@extundo.com>
86375
86376         * m4/timegm.m4: New file.
86377
86378 2003-08-31  Simon Josefsson  <jas@extundo.com>
86379
86380         * lib/timegm.h: New file.
86381         * lib/timegm.c: New file.  Based on
86382         wget-1.8.2/src/http.c:mktime_from_utc.
86383
86384 2003-08-31  Karl Berry  <karl@gnu.org>
86385
86386         * lib/argp.h: update from libc.
86387
86388 2003-08-28  Bruno Haible  <bruno@clisp.org>
86389
86390         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
86391         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
86392         followed by '#define fnmatch fnmatch_posix' gives an error.
86393
86394 2003-08-28  Bruno Haible  <bruno@clisp.org>
86395
86396         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
86397         warning on QNX, which defines O_BINARY to 000000.
86398
86399 2003-08-27  Jim Meyering  <jim@meyering.net>
86400
86401         * m4/mkstemp.m4: Require that the system mkstemp be able to create
86402         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
86403         would fail after 32.  Reported by Danny Levinson.  Details here:
86404         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
86405
86406 2003-08-24  Bruno Haible  <bruno@clisp.org>
86407
86408         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
86409         MSVC7 <stdio.h> is included later.
86410
86411 2003-08-22  Simon Josefsson  <jas@extundo.com>
86412
86413         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
86414
86415 2003-08-20  Karl Berry  <karl@gnu.org>
86416
86417         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
86418
86419 2003-08-20  Bruno Haible  <bruno@clisp.org>
86420
86421         * modules/progname: New file.
86422         * MODULES.html.sh (func_all_modules): Add progname.
86423
86424 2003-08-20  Bruno Haible  <bruno@clisp.org>
86425
86426         * lib/progname.h: New file, from GNU gettext.
86427         * lib/progname.c: New file, from GNU gettext.
86428         * lib/progreloc.c: New file, from GNU gettext.
86429
86430 2003-08-19  Jim Meyering  <jim@meyering.net>
86431
86432         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
86433         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
86434
86435 2003-08-19  Bruno Haible  <bruno@clisp.org>
86436
86437         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
86438         more.
86439
86440 2003-08-19  Bruno Haible  <bruno@clisp.org>
86441
86442         * lib/xstrdup.c: Assume <string.h> exists.
86443
86444 2003-08-18  Paul Eggert  <eggert@twinsun.com>
86445
86446         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
86447         in makefile rules.
86448
86449 2003-08-18  Jim Meyering  <jim@meyering.net>
86450
86451         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
86452         * m4/lib-ld.m4: Likewise.
86453
86454 2003-08-18  Jim Meyering  <jim@meyering.net>
86455
86456         * lib/setenv.h: Indent nested cpp directive.
86457         * lib/vasnprintf.c: Remove trailing blanks.
86458
86459 2003-08-17  Simon Josefsson  <jas@extundo.com>
86460
86461         * modules/xstrndup: New file.
86462         * MODULES.html.sh (func_all_modules): Add xstrndup.
86463
86464 2003-08-17  Simon Josefsson  <jas@extundo.com>
86465
86466         * modules/argp: Fix autoconf macro name. Add more dependencies.
86467
86468 2003-08-17  Simon Josefsson  <jas@extundo.com>
86469
86470         * m4/xstrndup.m4: New file.
86471
86472 2003-08-17  Simon Josefsson  <jas@extundo.com>
86473
86474         * m4/argp.m4: New file.
86475
86476 2003-08-17  Simon Josefsson  <jas@extundo.com>
86477             Bruno Haible  <bruno@clisp.org>
86478
86479         * lib/xstrndup.h: New file.
86480         * lib/xstrndup.c: New file.
86481
86482 2003-08-17  Bruno Haible  <bruno@clisp.org>
86483
86484         * modules/strndup (Files, Include): Add lib/strndup.h.
86485
86486 2003-08-17  Bruno Haible  <bruno@clisp.org>
86487
86488         * modules/euidaccess (Files): Add lib/euidaccess.h.
86489
86490 2003-08-17  Bruno Haible  <bruno@clisp.org>
86491
86492         * lib/strndup.h: New file.
86493
86494 2003-08-17  Bruno Haible  <bruno@clisp.org>
86495
86496         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
86497         like AC_GNU_SOURCE.
86498         * modules/extensions (configure.ac): Comment out the invocation of
86499         gl_USE_SYSTEM_EXTENSIONS.
86500
86501 2003-08-16  Paul Eggert  <eggert@twinsun.com>
86502
86503         Merges from coreutils, etc.
86504         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
86505         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
86506         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
86507         fixing a typo.
86508         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
86509         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
86510
86511 2003-08-16  Paul Eggert  <eggert@twinsun.com>
86512
86513         Document merge from coreutils.
86514         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
86515         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
86516         * modules/utime: Add m4/utimes-null.m4.
86517
86518 2003-08-16  Paul Eggert  <eggert@twinsun.com>
86519
86520         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
86521         space, undoing this 2003-08-12 change:
86522         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
86523
86524 2003-08-16  Paul Eggert  <eggert@twinsun.com>
86525
86526         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
86527         strtoul.c from libc, undoing this 2003-08-12 change:
86528         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
86529
86530 2003-08-16  Jim Meyering  <jim@meyering.net>
86531
86532         Merges from coreutils.
86533         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
86534         prefix.  Adjust cache variables similarly.  Create 500 rather than
86535         just 300 files, to exercise bug on Darwin6.5, too.
86536         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
86537         $missing_dir.
86538         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
86539         AM_SYS_POSIX_TERMIOS.
86540         Reported by mkc@mathdogs.com.
86541         Also change use of $am_cv_sys_posix_termios
86542         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
86543         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
86544         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
86545         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
86546         in /proc/mounts until it finds one with matching device number.  This
86547         is unnecessary when the FILE argument *is* a mount point.  No stat call
86548         is necessary in that case.  So, disable the statvfs-testing code on
86549         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
86550         as RedHat bug# 84846.
86551         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
86552         to 1MB, so as not to render systems with no stack size limit (e.g.,
86553         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
86554         Include <unistd.h>.  On some systems,
86555         it is required for the definition of _SC_PAGESIZE.
86556
86557 2003-08-16  Jim Meyering  <jim@meyering.net>
86558
86559         Merge from coreutils.
86560         * lib/xstrtoimax.c: #else #if -> #elif.
86561         * lib/xstrtoumax.c: Likewise.
86562
86563 2003-08-16  Jim Meyering  <jim@meyering.net>
86564
86565         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
86566         * m4/utimes.m4: Removed.
86567         * m4/utimes-null.m4: Renamed from utimes.m4.
86568
86569         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
86570         to 1MB, so as not to render systems with no stack size limit (e.g.,
86571         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
86572         Include <unistd.h>.  On some systems,
86573         it is required for the definition of _SC_PAGESIZE.
86574
86575 2003-08-16  Jim Meyering  <jim@meyering.net>
86576         and Paul Eggert  <eggert@cs.ucla.edu>
86577
86578         Merges from coreutils, etc.
86579
86580         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
86581         using the latest version from cvs.  This avoids problems with #line
86582         directives using a vendor (Sun) compiler.
86583         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
86584         Don't set GETGROUPS_LIB here; now it's
86585         done via getgroups.m4's wrapper function.
86586         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
86587         rather than just in sh-util/configure.in, so that the
86588         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
86589         same.
86590         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
86591         AC_FUNC_GETLOADAVG where to find getloadavg.c.
86592         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
86593         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
86594         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
86595         Remove code that is now done by the newly-required macros.
86596         Append $(EXEEXT) to DF_PROG.
86597         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
86598         Do not invoke or require the following here,
86599         since prereq.m4 or some gnulib .m4 now does this for us:
86600         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
86601         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
86602         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
86603         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
86604         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
86605         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
86606         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
86607         AC_FUNC_OBSTACK.
86608         Do not replace the following functions, as this is now the job
86609         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
86610         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
86611         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
86612         atexit getpass, strdup, getpagesize.
86613         Replace 'raise'.
86614         Do not check for the following functions, as this is now the job
86615         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
86616         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
86617         setregid.
86618         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
86619         Check for sys/sysctl.h.
86620         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
86621         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
86622         of checking for ssize_t ourselves.
86623
86624         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
86625         Require every macro that gnulib/modules/* suggests for us.
86626         (jm_PREREQ_ADDEXT): New macro.
86627         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
86628         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
86629
86630         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
86631         (gl_PHYSMEM): Use it.
86632         Also check for `table' function.
86633         Check for new headers and functions.
86634         Add check for sys/sysmp.h.
86635         With suggestions from Kaveh Ghazi.
86636         Ignore headers that are present but cannot be compiled.  This
86637         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
86638         C 5.4.
86639
86640 2003-08-15  Paul Eggert  <eggert@twinsun.com>
86641
86642         Document merge from coreutils.
86643         * modules/userspec: Depend on posixver.
86644         * modules/strftime: Depend on tzset.
86645
86646 2003-08-15  Paul Eggert  <eggert@twinsun.com>
86647
86648         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
86649         rather than tab, after '#' in shell-script copyright notices.
86650         Suggested by Bruno Haible.
86651
86652 2003-08-15  Paul Eggert  <eggert@twinsun.com>
86653
86654         * config/srclist-update: Use three spaces, rather than tab, after '#'
86655         in shell-script copyright notices.  Suggested by Bruno Haible.
86656         Remove unnecessary parenthesization in regular expression.
86657
86658 2003-08-15  Jim Meyering  <jim@meyering.net>
86659
86660         Merge from coreutils.
86661         * lib/xgethostname.c: Include <stdlib.h>.
86662         (xghostname): Don't exit for anything other than memory-related
86663         failure; just return NULL.
86664         * lib/userspec.c: Include "posixver.h".
86665         (parse_user_spec): Accept `.' as a separator only
86666         in pre-POSIX-200112 mode.
86667         * lib/strtoimax.c: Use #elif rather than #else #if.
86668         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
86669         Remove function, now that we can rely on a working tzset function.
86670         [!_LIBC]: Ensure that the required autoconf test has been run.
86671         [!defined _NL_CURRENT && HAVE_STRFTIME]:
86672         Use underlying_strftime for %r.
86673         * lib/sha.c: Merge in some clean-up and optimization changes from
86674         glibc.
86675         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
86676         Ensure that it is a multiple of 64.
86677         Rearrange loop exit tests so as to avoid performing an
86678         additional fread after encountering an error or EOF.
86679         * lib/realloc.c: Update copyright date.
86680
86681 2003-08-15  Jim Meyering  <jim@meyering.net>
86682         and Paul Eggert  <eggert@twinsun.com>
86683
86684         Merge from coreutils.
86685         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
86686         member but strut utmpx does not.  Needed for AIX 4.3.3.
86687         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
86688
86689 2003-08-15  Jim Meyering  <jim@meyering.net>
86690         and Paul Eggert  <eggert@cs.ucla.edu>
86691
86692         Merges from coreutils, etc.
86693         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
86694         Require gl_FUNC_TZSET_CLOBBER.
86695         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
86696         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
86697         members.
86698
86699 2003-08-14  Paul Eggert  <eggert@twinsun.com>
86700
86701         Help the merge from coreutils.
86702         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
86703         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
86704         * m4/tzset.m4: Use it too.
86705
86706 2003-08-14  Paul Eggert  <eggert@twinsun.com>
86707
86708         * modules/tzset: New file.
86709
86710 2003-08-14  Jim Meyering  <jim@meyering.net>
86711
86712         Merges from coreutils.
86713         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
86714         variable names, rather than @FNMATCH_H@.
86715         * modules/alloca: Likewise for $(ALLOCA_H).
86716
86717         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
86718         the three copies of the literal target, `fnmatch.h'.
86719         * modules/alloca (alloca.h): Likewise.
86720
86721 2003-08-14  Jim Meyering  <jim@meyering.net>
86722
86723         Merge from coreutils.
86724         * m4/tzset.m4: New file.
86725         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
86726         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
86727         otherwise, AIX 5.1 systems would end up using the latter.
86728         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
86729         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
86730         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
86731         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
86732
86733 2003-08-14  Jim Meyering  <jim@meyering.net>
86734
86735         Merge from coreutils.
86736         * lib/obstack.h: Whitespace changes.
86737         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
86738         and xcalloc return values.
86739         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
86740         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
86741         hang on OSF/1 5.1 for DIR on both local and remote file systems.
86742         Reported by (and fix confirmed by) Nelson H. F. Beebe.
86743         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
86744         error from mntctl.
86745         Use mntctl's return value to drive the entry-processing loop, since
86746         we can't rely on the value of the vmt_length member in the last
86747         entry.  On some systems doing so could result in exhausting
86748         virtual memory.  Based in part on a patch from Mike Jetzer.
86749
86750 2003-08-14  Jim Meyering  <jim@meyering.net>
86751         and Paul Eggert  <eggert@twinsun.com>
86752
86753         Merges from coreutils, plus other fixes.
86754         * lib/physmem.c: Merge in portability changes from gcc/libiberty
86755         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
86756         for credits and details.  Thanks to Kaveh Ghazi for helping
86757         to keep these files in sync.
86758         (ARRAY_SIZE): Define it.
86759         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
86760         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
86761         (memcasecmp): Don't assume size_t fits in unsigned int.
86762         Remove casts and duplicate code.
86763         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
86764         (memcpy): Remove definition.
86765         Merge in some clean-up and optimization changes from glibc.
86766         [BLOCKSIZE]: Move definition to top of file.
86767         Ensure that it is a multiple of 64.
86768         Rearrange loop exit tests so as to avoid performing an
86769         additional fread after encountering an error or EOF.
86770         * lib/md5.h (md5_uintptr): Define.
86771         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
86772         return to the initial working directory.  Preserve errno
86773         for caller.
86774         * lib/idcache.c: Include "xalloc.h".
86775         (xmalloc, xrealloc): Remove decls.
86776         (getuser): Remove casts no longer required in C89.
86777         * lib/human.c: Include stdio.h, for sprintf.
86778         * lib/group-member.c: Include "xalloc.h".
86779         (xmalloc, xrealloc): Remove decls.
86780         (get_group_info): Remove casts no longer required in C89.
86781         * lib/getusershell.c (readname): Remove casts no longer required in
86782         C89.
86783         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
86784         * lib/getline.c: Whitespace fix, from coreutils.
86785
86786 2003-08-13  Paul Eggert  <eggert@twinsun.com>
86787
86788         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
86789         Check for isascii.
86790
86791         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
86792         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
86793         Undo previous (whitespace-only) change.
86794
86795 2003-08-13  Paul Eggert  <eggert@twinsun.com>
86796
86797         * lib/exclude.c: Include <ctype.h>
86798         (IN_CTYPE_DOMAIN): New macro.
86799         (is_space): New fn.
86800         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
86801         and empty lines.
86802
86803         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
86804         Undo previous (whitespace-only) change.
86805
86806 2003-08-13  Paul Eggert  <eggert@twinsun.com>
86807
86808         * config/srclist-update: Change update back to the old behavior,
86809         leaving whitespace alone.  Use one 'sed' command rather than a
86810         pipeline.
86811         (fixlicense): Now a variable, not a function.
86812         (remove_trailing_blanks): Remove.
86813         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
86814         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
86815         Undo previous (whitespace-only) change.
86816
86817 2003-08-12  Paul Eggert  <eggert@twinsun.com>
86818
86819         Merge from coreutils.
86820         * modules/euidaccess: Add lib_SOURCES, include for new
86821         file euidaccess.h
86822
86823 2003-08-12  Paul Eggert  <eggert@twinsun.com>
86824
86825         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
86826         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
86827         Normalize leading white space and remove trailing white space.
86828
86829         Merge from coreutils
86830         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
86831
86832         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
86833         0.12.1.  These files are now being upgraded automatically by
86834         ../config/srclist-update.
86835
86836 2003-08-12  Paul Eggert  <eggert@twinsun.com>
86837
86838         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
86839         Normalize leading white space and remove trailing white space.
86840         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
86841         notice, as per ../config/srclist-update.
86842
86843         Merge from coreutils.
86844         * lib/euidaccess.h: New file.
86845         * lib/euidaccess.c: Include it.
86846         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
86847         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
86848         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
86849
86850 2003-08-12  Paul Eggert  <eggert@twinsun.com>
86851
86852         * config/srclist-update: Add copyright notice.
86853         (remove_id_lines, remove_trailing_blanks): New constants.
86854         (fixfile): Use them to normalize spacing a bit in copied files.
86855         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
86856         Normalize leading white space and remove trailing white space.
86857
86858         * config/texinfo.tex: Sync with texinfo.
86859
86860         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
86861         strtoul.c from libc, to merge coreutils whitespace changes.
86862
86863         * config/srclist.txt: Get the following m4 files from gettext:
86864         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
86865         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
86866         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
86867         wint_t.m4.
86868
86869 2003-08-12  Karl Berry  <karl@gnu.org>
86870
86871         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
86872         been made.
86873
86874 2003-08-11  Paul Eggert  <eggert@twinsun.com>
86875
86876         * modules/gnu-source, m4/gnu-source.m4:
86877         Remove; we're assuming Autoconf 2.54 or later now.
86878         Suggested by Bruno Haible.
86879         * MODULES.html.sh (func_all_modules): Remove gnu-source.
86880
86881 2003-08-11  Bruno Haible  <bruno@clisp.org>
86882
86883         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
86884
86885 2003-08-11  Bruno Haible  <bruno@clisp.org>
86886
86887         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
86888         (vasnprintf): Use it instead of wcslen.
86889
86890 2003-08-11  Bruno Haible  <bruno@clisp.org>
86891
86892         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
86893         value to ensure that _Bool promotes to int. Use #define for _Bool when
86894         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
86895
86896 2003-08-10  Karl Berry  <karl@gnu.org>
86897
86898         * lib/regex.h: update from libc (whitespace fix).
86899
86900 2003-08-09  Paul Eggert  <eggert@twinsun.com>
86901
86902         Merge some files from coreutils.  These changes were
86903         originally made by Jim Meyering.
86904         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
86905         many older Unixes require this.
86906         * lib/alloca.c (alloca): Remove cast to argument of free;
86907         no longer needed in C89.
86908         * lib/alloca_.h, regex.h: Fix white space to match
86909         what GNU indent does.
86910
86911 2003-08-09  Paul Eggert  <eggert@twinsun.com>
86912
86913         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
86914         apparently Emacs's Unicode mode got confused before my 2003-08-05
86915         checkin.
86916
86917 2003-08-08  Paul Eggert  <eggert@twinsun.com>
86918
86919         * m4/extensions.m4: New file.
86920         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
86921         Require gl_USE_SYSTEM_EXTENSIONS.
86922         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
86923         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
86924
86925 2003-08-08  Paul Eggert  <eggert@twinsun.com>
86926
86927         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
86928         * modules/extensions, modules/gnu-source: New files.
86929         * modules/timespec, modules/unlocked-io: Depend on extensions.
86930
86931 2003-08-07  Paul Eggert  <eggert@twinsun.com>
86932
86933         * modules/restrict: New file.
86934         * MODULES.html.sh (func_all_modules): Add restrict.
86935         * modules/regex: Depend on restrict.
86936
86937 2003-08-07  Paul Eggert  <eggert@twinsun.com>
86938
86939         * m4/restrict.m4: New file.
86940         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
86941
86942 2003-08-07  Bruno Haible  <bruno@clisp.org>
86943
86944         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
86945         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
86946
86947 2003-08-07  Bruno Haible  <bruno@clisp.org>
86948
86949         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
86950         makes the module 'getndelim2' compatible with the module 'getline'.
86951
86952 2003-08-05  Paul Eggert  <eggert@twinsun.com>
86953
86954         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
86955         byte with "\201" to avoid glitches when editing that source file
86956         with multi-gnome-terminal.
86957
86958 2003-08-05  Paul Eggert  <eggert@twinsun.com>
86959
86960         * lib/bumpalloc.h: Remove.
86961
86962 2003-08-05  Paul Eggert  <eggert@twinsun.com>
86963
86964         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
86965         * modules/bumpalloc: Remove.
86966
86967 2003-08-04  Paul Eggert  <eggert@twinsun.com>
86968
86969         * lib/getloadavg.c: Change copyright notice and spacing to conform to
86970         GNU coding style.
86971
86972         Merge from coreutils.
86973         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
86974         1. From glibc.
86975         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
86976         from Karl Berry, implemented by Jim Meyering.
86977         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
86978         from Dmitry V. Levin.
86979         Remove anachronistic cast of xrealloc.
86980         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
86981         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
86982         type. Otherwise, it wouldn't compile with at least /bin/cc on
86983         ymp-cray-unicos9.0.2.X.
86984         Combine two mostly-identical uses of alloca into one.
86985         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
86986
86987 2003-08-04  Dave Love  <d.love@dl.ac.uk>
86988
86989         [From Emacs.]
86990
86991         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
86992         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
86993         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
86994         obsolete NLIST_NAME_UNION.
86995         [__GNU__]: Undef BSD and FSCALE.
86996         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
86997
86998 2003-08-03  Paul Eggert  <eggert@twinsun.com>
86999
87000         * lib/stdbool_.h (_Bool): Make it signed char, instead of
87001         an enum type, so that it's guaranteed to promote to int.  See:
87002         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
87003
87004 2003-08-03  Karl Berry  <karl@gnu.org>
87005
87006         * config/depcomp: update from automake.
87007
87008 2003-07-31  Paul Eggert  <eggert@twinsun.com>
87009
87010         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
87011         (strerror): Don't assume that a printable int fits in 14 bytes.
87012
87013 2003-07-31  Bruno Haible  <bruno@clisp.org>
87014
87015         * modules/getpass-gnu: New file.
87016         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
87017
87018 2003-07-31  Bruno Haible  <bruno@clisp.org>
87019
87020         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
87021
87022 2003-07-24  Karl Berry  <karl@gnu.org>
87023
87024         * config/missing: update from automake.
87025
87026 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
87027             Bruno Haible  <bruno@clisp.org>
87028
87029         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
87030         * lib/getline.c (getline, getdelim): Likewise.
87031         Remove _GNU_SOURCE define; now it's defined in config.h through
87032         m4/getline.m4.
87033
87034 2003-07-23  Karl Berry  <karl@gnu.org>
87035
87036         * config/config.sub: update from prep.
87037
87038 2003-07-22  Paul Eggert  <eggert@twinsun.com>
87039
87040         * modules/xalloc (Depends-on): Add exitfail.
87041         * modules/xmemcoll: Likewise.
87042
87043 2003-07-22  Paul Eggert  <eggert@twinsun.com>
87044
87045         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
87046         over-parenthesization in macros.
87047
87048         Sync with coreutils.
87049
87050         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
87051         required by C99.
87052
87053         Use `exit_failure' for xalloc and xmemcoll instead of their own
87054         private exit-failure variables.
87055         * lib/xalloc.h (xalloc_exit_failure): Remove.
87056         * lib/xmalloc.c: Likewise.  Include exitfail.h.
87057         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
87058         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
87059         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
87060         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
87061
87062 2003-07-20  Jim Meyering  <jim@meyering.net>
87063
87064         * modules/closeout (Depends-on): Add exitfail.
87065         Suggestion from Bruno Haible.
87066
87067 2003-07-19  Karl Berry  <karl@gnu.org>
87068
87069         * config/config.sub: update from prep.
87070
87071 2003-07-18  Paul Eggert  <eggert@twinsun.com>
87072
87073         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
87074         Remove.
87075         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
87076         to test that it can stand by itself.  Include "exitfail.h".
87077         Clients should set exit_failure instead.
87078         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
87079
87080 2003-07-18  Bruno Haible  <bruno@clisp.org>
87081
87082         * modules/getndelim2: New file.
87083         * modules/getline: Share files with module getndelim2.
87084         * modules/getnline: Depend on getndelim2 instead of sharing files with
87085         it. Add getnline.c to lib_SOURCES.
87086         * MODULES.html.sh (func_all_modules): Add getndelim2.
87087
87088 2003-07-18  Bruno Haible  <bruno@clisp.org>
87089
87090         * m4/getndelim2.m4: New file.
87091         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
87092         invoke gl_PREREQ_GETNDELIM2.
87093         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
87094         gl_PREREQ_GETNDELIM2.
87095         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
87096         gl_GETNDELIM2.
87097
87098 2003-07-18  Bruno Haible  <bruno@clisp.org>
87099
87100         * lib/getndelim2.h: New file.
87101         * lib/getndelim2.c: Make into a module of its own. Include config.h,
87102         getndelim2.h.
87103         (getndelim2): Make non-static. Change return type to ssize_t.
87104         * lib/getline.h: Change argument names.
87105         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
87106         * lib/getnline.c: Include getndelim2.h.
87107
87108 2003-07-18  Andreas Schwab  <schwab@suse.de>
87109
87110         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
87111
87112 2003-07-17  Karl Berry  <karl@gnu.org>
87113
87114         * config/config.sub: update from prep.
87115
87116 2003-07-17  Bruno Haible  <bruno@clisp.org>
87117
87118         * modules/getnline: New file.
87119         * modules/getline: Add lib/getndelim2.c to source file list.
87120         * MODULES.html.sh (func_all_modules): Add getnline.
87121
87122 2003-07-17  Bruno Haible  <bruno@clisp.org>
87123
87124         * m4/getnline.m4: New file.
87125
87126 2003-07-17  Bruno Haible  <bruno@clisp.org>
87127
87128         * m4/Makefile.am.in: Remove file.
87129         * m4/Makefile.am: Remove file.
87130         * m4/Makefile.in: Remove file.
87131
87132 2003-07-17  Bruno Haible  <bruno@clisp.org>
87133
87134         * lib/getnline.h: New file.
87135         * lib/getnline.c: New file.
87136         * lib/getndelim2.c: New file, extracted from getline.c.
87137         (getndelim2): Renamed from getdelim2, with added nmax argument.
87138         * lib/getline.c: Include getndelim2.c.
87139         (getdelim2): Moved out to getndelim2.c.
87140         (getline, getdelim): Update.
87141
87142 2003-07-17  Bruno Haible  <bruno@clisp.org>
87143
87144         * lib/Makefile.am: Remove file.
87145         * lib/Makefile.in: Remove file.
87146
87147 2003-07-17  Bruno Haible  <bruno@clisp.org>
87148
87149         * configure.in: Remove file.
87150         * Makefile.in: Remove file.
87151
87152 2003-07-17  Bruno Haible  <bruno@clisp.org>
87153
87154         * MODULES.html.sh: Put the </BODY> right before </HTML>.
87155
87156 2003-07-16  Karl Berry  <karl@gnu.org>
87157
87158         * config/srclist-update: was running fixlicense twice, which caused
87159                 texinfo.tex to be nullified for some reason.  Simplify,
87160                 $gplsrc is no longer needed as far as I can see?
87161
87162 2003-07-16  Jim Meyering  <jim@meyering.net>
87163
87164         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
87165
87166 2003-07-15  Paul Eggert  <eggert@twinsun.com>
87167
87168         * config/srclist.txt: Get the following files from gettext-runtime/intl
87169         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
87170         ref-del.sin.  From Bruno Haible.
87171         * config/srclist-update (fixfile): Change grep pattern again, since the
87172         previous fix didn't work (there was another trailing $).  Use
87173         '[$]' to escape the $s.
87174
87175 2003-07-15  Karl Berry  <karl@gnu.org>
87176
87177         * lib/vasnprintf.c: update from gettext.
87178
87179 2003-07-15  Karl Berry  <karl@gnu.org>
87180
87181         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
87182         gets expanded when surrounded by '$'.
87183
87184 2003-07-15  Jim Meyering  <jim@meyering.net>
87185
87186         * modules/save-cwd: Don't depend on error.  From Derek Price.
87187
87188 2003-07-15  Jim Meyering  <jim@meyering.net>
87189
87190         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
87191
87192 2003-07-14  Simon Josefsson  <jas@extundo.com>
87193
87194         * modules/mempcpy: New file.
87195         * MODULES.html.sh (func_all_modules): Add mempcpy.
87196
87197 2003-07-14  Simon Josefsson  <jas@extundo.com>
87198
87199         * m4/mempcpy.m4: New file.
87200
87201 2003-07-14  Simon Josefsson  <jas@extundo.com>
87202
87203         * lib/mempcpy.h: New file.
87204         * lib/mempcpy.c: New file.
87205
87206 2003-07-14  Paul Eggert  <eggert@twinsun.com>
87207
87208         * modules/getdate, modules/posixtm: Depend on mktime.
87209
87210 2003-07-14  Paul Eggert  <eggert@twinsun.com>
87211
87212         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
87213         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
87214         unicodeio.c, unicodeio.h, unlocked-io.h:
87215         Switch from LGPL to GPL.
87216
87217 2003-07-14  Paul Eggert  <eggert@twinsun.com>
87218
87219         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
87220         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
87221         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
87222         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
87223         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
87224         updated automatically by ../config/srclist-update.  This changes
87225         their license from LPGL to GPL.
87226
87227 2003-07-14  Paul Eggert  <eggert@twinsun.com>
87228
87229         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
87230         assumed to refer to the root of the most recent stable gettext version.
87231         * config/srclistvars.sh: Add defaults for eggert.
87232         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
87233         Match "This program" as well as "The program".  This is needed
87234         for gettext.
87235
87236 2003-07-14  Jim Meyering  <jim@meyering.net>
87237
87238         Don't emit diagnostics.  Let callers do that.
87239         * lib/save-cwd.c: Don't include "error.h".
87240         (save_cwd): Don't call error.  Ensure that errno is valid
87241         when returning nonzero.
87242
87243         * lib/save-cwd.h (restore_cwd): Update prototype.
87244         * lib/save-cwd.c (restore_cwd): Remove two parameters.
87245         Simplify.  Don't call error upon failure.  Let callers do that.
87246         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
87247         when auditing is enabled.  But don't bother updating the #if.
87248
87249 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
87250
87251         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
87252         it breaks C++ compilation.
87253         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
87254
87255 2003-07-10  Simon Josefsson  <jas@extundo.com>
87256
87257         * modules/strchrnul (Makefile.am): Add strchrnul.h.
87258
87259 2003-07-10  Jim Meyering  <jim@meyering.net>
87260
87261         * m4/clock_time.m4: Remove trailing blank.
87262         * m4/intmax_t.m4: Likewise.
87263
87264 2003-07-10  Jim Meyering  <jim@meyering.net>
87265
87266         * lib/vasnprintf.c: Remove trailing blanks.
87267         Make cpp indentation consistent.
87268
87269 2003-07-09  Paul Eggert  <eggert@twinsun.com>
87270
87271         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
87272         posixver.c, strftime.c, strnlen.c, strverscmp.c:
87273         Switch from LGPL to GPL.
87274
87275 2003-07-09  Paul Eggert  <eggert@twinsun.com>
87276
87277         * config/srclist.txt: Sort sublists.  Add
87278         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
87279         that differ from gnulib for one reason or another; we'd like this list
87280         to be smaller but for now let's document what we have.
87281
87282 2003-07-08  Paul Eggert  <eggert@twinsun.com>
87283
87284         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
87285         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
87286         and sweeter "eval x=$x".
87287         * config/srclist.txt: Get lib/argp* from glibc.
87288
87289 2003-07-07  Paul Eggert  <eggert@twinsun.com>
87290
87291         * lib/mktime.c: Fix some boundary cases and remove need for floating
87292         point.
87293
87294         Issue a compile-time diagnostic if time_t is floating point, or if
87295         two's complement arithmetic is not in effect, or if arithmetic
87296         right shift does not propagate the sign.  These assumptions were
87297         all in the original code but they weren't checked.
87298
87299         (TIME_T_MIDPOINT, verify): New macros.
87300         (__isleap): Remove; it has integer overflow problems.
87301         (leapyear): New function, without those problems.
87302         (ydhms_tm_diff): Remove; splitting into two parts.
87303         (ydhms_diff): New function, containing the arithmetic part of
87304         the old ydhms_tm_diff function.  Issue a compile-time
87305         diagnostic if we are not using C99 integer division.
87306         Avoid casts when possible.
87307         (guess_time_tm): New function, containing the checking part of
87308         the old ydhms_tm_diff function.  Return the new value, rather than
87309         the difference between it and the old.  Accept a new argument T
87310         so that *T specifies the old value.  Check for overflow in the result.
87311
87312         (__mktime_internal): Use a time_t offset, not a long int offset.
87313         This undoes the 2003-06-04 change, which is no longer needed now
87314         that we have better overflow checking.
87315         (localtime_offset): Likewise.
87316
87317         (__mktime_internal): Avoid harmful overflow on hosts where time_t
87318         and long are 64-bit but int is only 32-bit.
87319         (ydhms_diff): Use long int to store year1 and yday1.
87320         Issue a compile-time diagnostic if long int is not wide enough.
87321
87322         (__mktime_internal): Use long int to store adjusted year and yday.
87323         Use plain C rather than preprocessor commands, if that doesn't
87324         affect efficiency.
87325         Check for overflow (and try to repair) after each probe
87326         rather than checking only at the very end.  This avoids some bugs
87327         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
87328         does not equal GMT offset at maximum time).
87329         Use integer to check for overflow rather than floating point; this
87330         is more portable to non-IEEE hosts, and is a tad faster.
87331         When we detect that we are oscillating between two values,
87332         don't check whether tm_isdst has the requested value, since
87333         we already know the answer.  When tm_isdst has the wrong value,
87334         use a different heuristic to find the right one, based on the
87335         extreme values actually observed in practice in tz2003a,
87336         rather than the (overly optimistic) "previous 3 calendar quarters".
87337
87338         (not_equal_tm, print_tm, check_result): Use "const T" rather than
87339         "T const" to accommodate glibc style.
87340         (check_result): Use less-confusing report format.  "long" -> "long int.
87341         (main): Likewise.
87342         Don't loop if the iteration overflows time_t.
87343         Allow a negative step in the iteration.
87344
87345 2003-07-06  Karl Berry  <karl@gnu.org>
87346
87347         * config/depcomp: update from automake.
87348         * config/config.sub: update from prep.
87349
87350 2003-07-03  Karl Berry  <karl@gnu.org>
87351
87352         * config/config.guess: update from prep.
87353
87354 2003-07-01  Paul Eggert  <eggert@twinsun.com>
87355
87356         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
87357         xreadlink.c now includes it unconditionally.
87358
87359 2003-07-01  Paul Eggert  <eggert@twinsun.com>
87360
87361         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
87362         having it depend on HAVE_SYS_TYPES_H.
87363
87364 2003-07-01  Bruno Haible  <bruno@clisp.org>
87365
87366         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
87367         <sys/types.h> should be sufficient.
87368         Reported by Paul Eggert.
87369
87370 2003-06-26  Karl Berry  <karl@gnu.org>
87371
87372         * config/depcomp: update from automake.
87373
87374 2003-06-26  Bruno Haible  <bruno@clisp.org>
87375
87376         * modules/human: Depend on module stdbool.
87377
87378 2003-06-25  Bruno Haible  <bruno@clisp.org>
87379
87380         * modules/readlink: New file.
87381         * modules/xreadlink: Depend on it.
87382         * MODULES.html.sh (func_all_modules): Add readlink.
87383
87384 2003-06-25  Bruno Haible  <bruno@clisp.org>
87385
87386         * m4/readlink.m4: New file.
87387
87388 2003-06-25  Bruno Haible  <bruno@clisp.org>
87389
87390         * lib/readlink.c: New file.
87391
87392 2003-06-22  Karl Berry  <karl@gnu.org>
87393
87394         * config/srclist.txt: update mkinstalldirs from automake.
87395         * config/mkinstalldirs: update.
87396
87397 2003-06-22  Bruno Haible  <bruno@clisp.org>
87398
87399         Portability to mingw32.
87400         * m4/ssize_t.m4: New file, from GNU gettext.
87401         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
87402         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
87403
87404 2003-06-22  Bruno Haible  <bruno@clisp.org>
87405
87406         * modules/safe-read: Add m4/ssize_t.m4.
87407         * modules/xreadlink: Add m4/ssize_t.m4.
87408
87409 2003-06-20  Bruno Haible  <bruno@clisp.org>
87410
87411         Assume C89, so PARAMS isn't needed.
87412         * lib/unicodeio.h (PARAMS): Remove.
87413         * lib/unicodeio.c: Don't use PARAMS.
87414
87415 2003-06-18  Karl Berry  <karl@gnu.org>
87416
87417         * config/config.{guess,sub}: update from prep.
87418
87419 2003-06-18  Jim Meyering  <jim@meyering.net>
87420
87421         Merge changes from coreutils.
87422         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
87423         Remove explicit declarations of xmalloc and realloc.
87424         Include xalloc.h.
87425         (read_utmp): Remove anachronistic cast of xmalloc.
87426
87427 2003-06-17  Paul Eggert  <eggert@twinsun.com>
87428
87429         Assume C89, so PARAMS isn't needed.
87430         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
87431         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
87432         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
87433         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
87434         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
87435         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
87436         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
87437         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
87438         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
87439         lib/xstrtod.h, lib/xstrtol.h: Likewise.
87440         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
87441         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
87442         no longer needed. Anyway, config.h should always be included before any
87443         other file.
87444
87445 2003-06-11  Simon Josefsson  <jas@extundo.com>
87446
87447         * modules/sysexits: New file.
87448         * MODULES.html.sh (func_all_modules): Add sysexits.
87449
87450 2003-06-11  Simon Josefsson  <jas@extundo.com>
87451
87452         * lib/sysexit_.h: New file.
87453
87454 2003-06-11  Derek Price  <derek@ximbiot.com>
87455
87456         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
87457         necessary.
87458
87459 2003-06-11  Bruno Haible  <bruno@clisp.org>
87460
87461         * m4/sysexits.m4: New file.
87462
87463 2003-06-10  Simon Josefsson  <jas@extundo.com>
87464
87465         * lib/argp.h: New file, from glibc.
87466         * lib/argp-ba.c: New file, from glibc.
87467         * lib/argp-eexst.c: New file, from glibc.
87468         * lib/argp-fmtstream.c: New file, from glibc.
87469         * lib/argp-fmtstream.h: New file, from glibc.
87470         * lib/argp-fs-xinl.c: New file, from glibc.
87471         * lib/argp-help.c: New file, from glibc.
87472         * lib/argp-namefrob.h: New file, from glibc.
87473         * lib/argp-parse.c: New file, from glibc.
87474         * lib/argp-pv.c: New file, from glibc.
87475         * lib/argp-pvh.c: New file, from glibc.
87476         * lib/argp-xinl.c: New file, from glibc.
87477
87478 2003-06-10  Simon Josefsson  <jas@extundo.com>
87479
87480         * modules/strchrnul: New file.
87481
87482 2003-06-10  Simon Josefsson  <jas@extundo.com>
87483
87484         * modules/argp: New file.
87485
87486 2003-06-10  Simon Josefsson  <jas@extundo.com>
87487
87488         * m4/strchrnul.m4: New file.
87489
87490 2003-06-10  Simon Josefsson  <jas@extundo.com>
87491
87492         * lib/strchrnul.h: New file.
87493         * lib/strchrnul.c: New file.
87494
87495 2003-06-10  Bruno Haible  <bruno@clisp.org>
87496
87497         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
87498
87499 2003-06-07  Karl Berry  <karl@gnu.org>
87500
87501         * config/config.{guess,sub}: update from prep.
87502
87503 2003-06-07  Jim Meyering  <jim@meyering.net>
87504
87505         * modules/strtod: Use $(...) notation, not @...@ for
87506         AC_REPLACE'd variables.
87507         * modules/localcharset: Likewise.
87508
87509 2003-06-07  Jim Meyering  <jim@meyering.net>
87510
87511         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
87512         in place of my name in the copyright comment.
87513         Remove definition and uses of __P.
87514
87515         From coreutils.
87516         * lib/stat.c: Don't declare xmalloc explicitly.
87517         Instead, include "xalloc.h".
87518         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
87519         xrealloc, and xcalloc return values.
87520         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
87521         Improve comment.
87522         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
87523
87524 2003-06-07  Bruno Haible  <bruno@clisp.org>
87525
87526         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
87527         avoid AC_CONFIG_LINKS.
87528         * modules/fnmatch (Makefile.am): Use explicit creation rule for
87529         fnmatch.h, to avoid AC_CONFIG_LINKS.
87530         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
87531
87532 2003-06-07  Bruno Haible  <bruno@clisp.org>
87533
87534         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
87535         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
87536         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
87537         directory.
87538         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
87539         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
87540         directory.
87541
87542 2003-06-06  Jim Meyering  <jim@meyering.net>
87543
87544         Merge from coreutils.
87545         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
87546         Consolidate declarations and initializations of *_base* locals.
87547
87548         Merge from coreutils.
87549         This avoids a core dump on systems without GNU putenv,
87550         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
87551         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
87552         (unsetenv): New static function, from GNU libc.
87553         (rpl_putenv): Use it.
87554
87555         * lib/modechange.c: Remove trailing blanks.
87556
87557         Merge from coreutils.
87558         * lib/fsusage.c: Remove declaration of statfs.
87559         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
87560
87561         * lib/posixtm.c: Include <stdbool.h> unconditionally.
87562
87563 2003-06-06  Jim Meyering  <jim@meyering.net>
87564
87565         * lib/stdbool_.h: Renamed from stdbool.h.in.
87566
87567 2003-06-06  Jim Meyering  <jim@meyering.net>
87568             Bruno Haible  <bruno@clisp.org>
87569
87570         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
87571         Adjust Makefile.am snippet not to redirect directly to target.
87572         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
87573
87574 2003-06-05  Paul Eggert  <eggert@twinsun.com>
87575
87576         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
87577         mismatch, look in future quarters as well as past.  This fixes a
87578         bug when processing fall-backwards gaps immediately after a long
87579         period of daylight-saving time.
87580
87581         * lib/mktime.c: Assume freestanding C89 or better.
87582         (HAVE_LIMITS_H): Remove.  Assume it's 1.
87583         (__P): Remove; not used.
87584         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
87585         (mktime, not_equal_tm, print_tm, check_result,
87586         main): Use prototypes.  Use const * where appropriate.
87587         (main): Fix typo in testing code that uncovered by above changes.
87588         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
87589
87590 2003-06-04  Paul Eggert  <eggert@twinsun.com>
87591
87592         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
87593         locale.h, localeconv.  This merges changes from coreutils.
87594
87595         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
87596         It can be removed after the next Autoconf is released.
87597         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
87598         needed.
87599
87600 2003-06-04  Paul Eggert  <eggert@twinsun.com>
87601
87602         * lib/mktime.c: Fix Debian bug 177940
87603         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
87604         (localtime_offset): Now long int, not time_t, because we want it
87605         to be guaranteed to be signed.  All uses changed.
87606         (__mktime_internal): If overflow would occur when adding offset,
87607         don't add it.
87608
87609         Merge 'human' changes from coreutils.  Rewrite to support
87610         locale-specific notations like thousands separators.
87611         * lib/human.c: Simplify authorship notice.
87612         Include human.h immediately after config.h.
87613         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
87614         <limits.h>: Do not include, since human.h does.
87615         (SIZE_MAX, UINTMAX_MAX): New macros.
87616         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
87617         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
87618         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
87619         (power_letter): Renamed from suffixes.
87620         (generate_suffix_backwards): Remove.
87621         (adjust_value): Now takes int style (because of human.h changes)
87622         and long double value (for greater precision on some platforms).
87623         (group_number): New function.
87624         (human_readable): Use it.  Use integer options, not enum.
87625         Put the options before the sizes in the arg list.
87626         Support all the new options.
87627         The old human_readable function has been removed;
87628         use inttostr.h instead.
87629         (human_readable, default_block_size, humblock):
87630         Use uintmax_t, not int, for block sizes.
87631         (human_readable_inexact, block_size_types): Remove.
87632         (block_size_opts): New constant.
87633         (human_options): Renamed from human_block_size, with new signature
87634         that allows block sizes up to UINTMAX_MAX.  All callers changed.
87635         * lib/human.h: Add copyright and authorship notice.
87636         Include <limits.h> and <stdbool.h> unconditionally.
87637         (PARAMS): Remove.  All uses removed.
87638         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
87639         (enum human_inexact_style): Remove tag; now a nameless enum.
87640         (human_floor, human_ceiling, human_round_to_even): Now have
87641         values 2, 0, 1 rather than -1, 1, 0.
87642         (human_group_digits, human_suppress_point_zero, human_autoscale,
87643         human_base_1024, human_SI, human_B): New constants.
87644         (human_readable_inexact, human_block_size): Remove.
87645         (human_readable): Size args are now uintmax_t, not int.
87646         (human_options): New decl.
87647
87648         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
87649         unnecessary now that we assume C89 or better.  This change
87650         imported from coreutils.
87651
87652         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
87653         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
87654         in the 2003-05-30 sync from glibc.
87655
87656         .h files should stand alone, but we shouldn't include <sys/types.h>
87657         if we can get away with just <stddef.h>.
87658
87659         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
87660         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
87661         rather than <sys/types.h>, as we merely need size_t.
87662         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
87663         to get size_t.
87664         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
87665         Include <stdio.h>, to get FILE.
87666         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
87667         memcasecmp.h has included <stddef.h> and all we need is size_t.
87668         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
87669         our interface, instead of including <sys/types.h>
87670
87671 2003-06-04  Paul Eggert  <eggert@twinsun.com>
87672
87673         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
87674         now, as glibc mktime is buggy on non-glibc systems.
87675
87676 2003-06-03  Karl Berry  <karl@gnu.org>
87677
87678         * config/config.sub: update from prep.
87679
87680 2003-06-02  Paul Eggert  <eggert@twinsun.com>
87681
87682         [from coreutils]
87683         Fix some minor time-related bugs with POSIX time arguments.
87684         Some valid time stamps were being rejected (notably -1, and
87685         time stamps before 1900 on 64-bit hosts).  And some invalid
87686         time stamps were being accepted, e.g. September 31.
87687
87688         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
87689         that we can return (time_t) -1 successfully.
87690         * lib/posixtm.c: Likewise.
87691         [HAVE_STDBOOL_H]: Include <stdbool.h>.
87692         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
87693         (t): Remove static var.
87694         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
87695         of static var.  All uses changed.
87696         (year): Do not reject years before 1900; they can occur with
87697         64-bit time_t.
87698         (posix_time_parse): Do not check for out-of-range components;
87699         that is now the caller's responsibility, since our checks were
87700         only approximations.
87701         (posixtime): Use mktime to check for out-of-range components,
87702         since it knows them exactly.
87703         If mktime returns (time_t) -1, check whether an error actually occurred
87704         by invoking localtime on -1.
87705         (main) [TEST_POSIXTIME]: Check for input data errors, and report
87706         posixtime failures better.
87707         Improve the test data (in comments only).
87708
87709 2003-06-02  Karl Berry  <karl@gnu.org>
87710
87711         * config/mkinstalldirs (version): new variable.
87712         (--version): new option.
87713         (usage): improve message.
87714
87715 2003-05-30  Karl Berry  <karl@gnu.org>
87716
87717         * lib/mktime.c: update from libc.
87718
87719 2003-05-30  Bruno Haible  <bruno@clisp.org>
87720
87721         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
87722         * config/config.rpath: Upgrade to gettext-0.12.1.
87723
87724 2003-05-30  Bruno Haible  <bruno@clisp.org>
87725
87726         * m4/gettext.m4: Upgrade to gettext-0.12.1.
87727         * m4/nls.m4: New file, from gettext-0.12.1.
87728         * m4/po.m4: New file, from gettext-0.12.1.
87729         * m4/progtest.m4: Upgrade to gettext-0.12.1.
87730
87731 2003-05-30  Bruno Haible  <bruno@clisp.org>
87732
87733         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
87734         * lib/localcharset.h: Likewise.
87735         * lib/localcharset.c: Likewise.
87736
87737 2003-05-29  Karl Berry  <karl@gnu.org>
87738
87739         * config/config.rpath: update from gettext.
87740
87741 2003-05-28  Paul Eggert  <eggert@twinsun.com>
87742
87743         Assume the headers required for C89 freestanding compilers.
87744         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
87745         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
87746         * m4/human.m4 (gl_HUMAN): Likewise.
87747         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
87748         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
87749         * m4/userspec.m4 (gl_USERSPEC): Likewise.
87750         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
87751         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
87752         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
87753
87754 2003-05-28  Paul Eggert  <eggert@twinsun.com>
87755
87756         Assume the headers required for C89 freestanding compilers.
87757         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
87758         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
87759         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
87760         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
87761         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
87762         define, since <limits.h> is guaranteed to do that.
87763         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
87764         * lib/exclude.c: Include <stdbool.h> unconditionally.
87765         * lib/tempname.c: Include <stddef.h> unconditionally.
87766         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
87767         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
87768         <stddef.h> does that.
87769         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
87770         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
87771         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
87772         needed.
87773         * lib/xstrtol.c: Likewise.
87774         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
87775         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
87776
87777         * lib/addext.c (addext): Use assignment rather than cast, to avoid
87778         warnings on some platforms.
87779
87780         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
87781         arbitrarily.
87782
87783 2003-05-26  Jim Meyering  <jim@meyering.net>
87784
87785         Merge in a change from coreutils:
87786         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
87787         that is guaranteed to be `no'.  Use `no_such_member' to indicate
87788         that condition, rather than `-1' which is slightly misleading.
87789         Change the name of the cache variable to have the gl_ prefix.
87790         Prompted by a patch from Richard Dawe for DJGPP.
87791
87792 2003-05-24  Karl Berry  <karl@gnu.org>
87793
87794         * config/config.guess: update from prep.
87795
87796 2003-05-22  Karl Berry  <karl@gnu.org>
87797
87798         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
87799
87800 2003-05-20  Karl Berry  <karl@gnu.org>
87801
87802         * config/config.guess: update from prep.
87803
87804 2003-05-18  Karl Berry  <karl@gnu.org>
87805
87806         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
87807         might actually be set by the user.
87808
87809         * config/depcomp, install-sh, mdate-sh: update from automake.
87810
87811 2003-05-17  Bruno Haible  <bruno@clisp.org>
87812
87813         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
87814         invalid expansion for AC_EGREP_CPP.
87815         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
87816         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
87817         Suggested by Akim Demaille <akim@epita.fr> in
87818         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
87819
87820 2003-05-12  Jim Meyering  <jim@meyering.net>
87821
87822         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
87823         the space-padded-by-default conversion specifiers, %e, %k, %l.
87824
87825 2003-05-12  Bruno Haible  <bruno@clisp.org>
87826
87827         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
87828         the string is longer than 4 KB.
87829
87830 2003-05-11  Karl Berry  <karl@gnu.org>
87831
87832         * config/config.{guess,sub}: update from prep.
87833
87834 2003-05-09  Bruno Haible  <bruno@clisp.org>
87835
87836         * modules/error: Add m4/strerror_r.m4 to file list.
87837
87838 2003-05-03  Bruno Haible  <bruno@clisp.org>
87839
87840         Upgrade to Unicode-4.0.
87841         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
87842         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
87843         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
87844         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
87845         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
87846         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
87847         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
87848         Change width of U+E0100..U+E01EF from 1 to 0.
87849
87850 2003-04-25  Jim Meyering  <jim@meyering.net>
87851
87852         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
87853         of type size_t, not int.
87854
87855 2003-04-25  Bruno Haible  <bruno@clisp.org>
87856
87857         * lib/copy-file.c: Include <stddef.h>, for size_t.
87858
87859 2003-04-21  Paul Eggert  <eggert@twinsun.com>
87860
87861         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
87862         code which expansion is under static control.  Patch imported from
87863         Akim Demaille's patch to Bison; see
87864         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
87865
87866 2003-04-14  Bruno Haible  <bruno@clisp.org>
87867
87868         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
87869
87870 2003-04-11  Jim Meyering  <jim@meyering.net>
87871
87872         Merge changes from Coreutils.
87873
87874         2003-03-22  Jim Meyering  <jim@meyering.net>
87875
87876         * lib/strftime.c (widen): Cast alloca return value to proper type.
87877
87878         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
87879
87880         From GNU libc.
87881         * lib/strftime.c (my_strftime): Handle very large width
87882         specifications for numeric values correctly.  Improve checks for
87883         overflow.
87884
87885         2003-01-19  Jim Meyering  <jim@meyering.net>
87886
87887         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
87888         definitions.
87889         (nl_get_alt_digit) [! defined my_strftime]: Define.
87890         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
87891         _nl_get_alt_digit and _nl_get_walt_digit.
87892
87893         * lib/strftime.c (my_strftime): Merge in locale-related changes from
87894         libc. These changes have no effect outside of _LIBC.
87895
87896 2003-04-10  Bruno Haible  <bruno@clisp.org>
87897
87898         * modules/findprog: New file.
87899         * MODULES.html.sh (func_all_modules): Add it.
87900
87901 2003-04-10  Bruno Haible  <bruno@clisp.org>
87902
87903         * m4/findprog.m4: New file.
87904         * m4/eaccess.m4: New file.
87905
87906 2003-04-10  Bruno Haible  <bruno@clisp.org>
87907
87908         * lib/findprog.h: New file, from GNU gettext.
87909         * lib/findprog.c: New file, from GNU gettext.
87910
87911 2003-04-05  Jim Meyering  <jim@meyering.net>
87912
87913         Merge changes from Coreutils.
87914
87915         * lib/exclude.h (PARAMS): Remove definition and uses.
87916         * lib/exclude.c: Remove uses of `PARAMS'.
87917
87918         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
87919         Add test-cases for DOS filenames. Declare program_name.
87920         (main): Set up program_name.  Patch by Rich Dawe.
87921
87922         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
87923         error from mntctl.
87924         Use mntctl's return value to drive the entry-processing loop, since
87925         we can't rely on the value of the vmt_length member in the last
87926         entry.  On some systems doing so could result in exhausting
87927         virtual memory.  Based in part on a patch from Mike Jetzer.
87928
87929 2003-04-04  Bruno Haible  <bruno@clisp.org>
87930
87931         * modules/linebreak: New file.
87932         * MODULES.html.sh (func_all_modules): Add it.
87933
87934 2003-04-04  Bruno Haible  <bruno@clisp.org>
87935
87936         * m4/linebreak.m4: New file.
87937
87938 2003-04-04  Bruno Haible  <bruno@clisp.org>
87939
87940         * lib/linebreak.h: New file, from GNU gettext.
87941         * lib/linebreak.c: New file, from GNU gettext with slight
87942         modifications.
87943         * lib/lbrkprop.h: New file, from GNU gettext.
87944
87945 2003-04-03  Bruno Haible  <bruno@clisp.org>
87946
87947         * modules/utf8-ucs4: New file.
87948         * modules/utf16-ucs4: New file.
87949         * modules/ucs4-utf8: New file.
87950         * modules/ucs4-utf16: New file.
87951         * MODULES.html.sh (func_all_modules): Add them.
87952
87953 2003-04-03  Bruno Haible  <bruno@clisp.org>
87954
87955         * m4/utf-ucs4.m4: New file.
87956         * m4/ucs4-utf.m4: New file.
87957
87958 2003-04-03  Bruno Haible  <bruno@clisp.org>
87959
87960         * lib/utf8-ucs4.h: New file, from GNU gettext.
87961         * lib/utf16-ucs4.h: New file, from GNU gettext.
87962         * lib/ucs4-utf8.h: New file, from GNU gettext.
87963         * lib/ucs4-utf16.h: New file, from GNU gettext.
87964
87965 2003-04-02  Bruno Haible  <bruno@clisp.org>
87966
87967         * modules/binary-io: New file.
87968         * MODULES.html.sh (func_all_modules): Add it.
87969
87970 2003-04-02  Bruno Haible  <bruno@clisp.org>
87971
87972         * lib/binary-io.h: New file, from GNU gettext.
87973
87974 2003-04-01  Bruno Haible  <bruno@clisp.org>
87975
87976         * modules/pathname: New file.
87977         * MODULES.html.sh (func_all_modules): Add it.
87978
87979 2003-04-01  Bruno Haible  <bruno@clisp.org>
87980
87981         * lib/pathname.h: New file, from GNU gettext.
87982         * lib/concatpath.c: New file, from GNU gettext.
87983
87984 2003-03-30  Bruno Haible  <bruno@clisp.org>
87985
87986         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
87987
87988 2003-03-30  Bruno Haible  <bruno@clisp.org>
87989
87990         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
87991         function chown() doesn't exist.
87992
87993 2003-03-28  Bruno Haible  <bruno@clisp.org>
87994
87995         * modules/copy-file: New file.
87996         * MODULES.html.sh (func_all_modules): Add it.
87997
87998 2003-03-28  Bruno Haible  <bruno@clisp.org>
87999
88000         * m4/copy-file.m4: New file.
88001
88002 2003-03-28  Bruno Haible  <bruno@clisp.org>
88003
88004         * lib/copy-file.h: New file, from GNU gettext.
88005         * lib/copy-file.c: New file, from GNU gettext.
88006
88007 2003-03-18  Jim Meyering  <jim@meyering.net>
88008
88009         * lib/quote.c (quote_n): Fix typo in comment.
88010
88011 2003-03-18  Bruno Haible  <bruno@clisp.org>
88012
88013         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
88014         checking.
88015         * m4/onceonly_2_57.m4: Likewise.
88016
88017 2003-03-17  Bruno Haible  <bruno@clisp.org>
88018
88019         * m4/onceonly.m4: Require autoconf 2.54 or newer.
88020         (m4_quote): Remove macro.
88021         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
88022
88023 2003-03-14  Jim Meyering  <jim@meyering.net>
88024
88025         Merge changes from Coreutils.
88026         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
88027         to be const, in order to avoid warnings.
88028         (obstack_room): Likewise.
88029         (obstack_empty_p): Likewise.
88030
88031 2003-03-14  Bruno Haible  <bruno@clisp.org>
88032
88033         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
88034         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
88035
88036 2003-03-13  Paul Eggert  <eggert@twinsun.com>
88037
88038         Merge changes from Bison.
88039         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
88040         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
88041         when compiling Bison 1.875's `bitset bset = obstack_alloc
88042         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
88043         * lib/hash.c: Include <stdbool.h> unconditionally.
88044
88045 2003-03-13  Paul Eggert  <eggert@twinsun.com>
88046
88047         * m4/onceonly.m4 (m4_quote): New macro.
88048         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
88049         Quote AC_FOREACH variable-expansions properly.
88050
88051 2003-03-13  Paul Eggert  <eggert@twinsun.com>
88052
88053         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
88054
88055 2003-03-09  Paul Eggert  <eggert@twinsun.com>
88056
88057         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
88058         Reported by Bruce Becker; see:
88059         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
88060
88061 2003-03-03  Paul Eggert  <eggert@twinsun.com>
88062             Bruno Haible  <bruno@clisp.org>
88063
88064         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
88065         Reported by John Hughes, see
88066         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
88067
88068 2003-02-20  Bruno Haible  <bruno@clisp.org>
88069
88070         * MODULES.html.sh (func_all_modules): Add poll.
88071
88072 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
88073
88074         * modules/poll: New file.
88075
88076 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
88077
88078         * lib/poll_.h: New file.
88079         * lib/poll.c: New file.
88080
88081 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
88082
88083         * m4/poll.m4: New file.
88084
88085 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
88086
88087         * modules/mathl: New file.
88088
88089 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
88090
88091         * lib/mathl.h: New file.
88092         * lib/acosl.c: New file.
88093         * lib/asinl.c: New file.
88094         * lib/atanl.c: New file.
88095         * lib/ceill.c: New file.
88096         * lib/cosl.c: New file.
88097         * lib/expl.c: New file.
88098         * lib/floorl.c: New file.
88099         * lib/frexpl.c: New file.
88100         * lib/ldexpl.c: New file.
88101         * lib/logl.c: New file.
88102         * lib/sincosl.c: New file.
88103         * lib/sinl.c: New file.
88104         * lib/sqrtl.c: New file.
88105         * lib/tanl.c: New file.
88106         * lib/trigl.c: New file.
88107         * lib/trigl.h: New file.
88108
88109 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
88110
88111         * m4/mathl.m4: New file.
88112
88113 2003-02-18  Bruno Haible  <bruno@clisp.org>
88114
88115         * MODULES.html.sh (func_all_modules): Add mathl.
88116
88117 2003-02-17  Bruno Haible  <bruno@clisp.org>
88118
88119         * modules/mkdtemp: New module.
88120         * MODULES.html.sh (func_all_modules): Add it.
88121
88122 2003-02-17  Bruno Haible  <bruno@clisp.org>
88123
88124         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
88125
88126 2003-02-17  Bruno Haible  <bruno@clisp.org>
88127
88128         * lib/mkdtemp.h: New file, from GNU gettext.
88129         * lib/mkdtemp.c: New file, from GNU gettext.
88130
88131 2003-02-02  Jim Meyering  <jim@meyering.net>
88132
88133         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
88134         e.g. glibc-2.2.93.
88135
88136 2003-01-31  Bruno Haible  <bruno@clisp.org>
88137
88138         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
88139         'rpl_rename'.
88140         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
88141         'rpl_strnlen'.
88142         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
88143         'rpl_strtod'.
88144         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
88145         'rpl_utime'.
88146
88147 2003-01-31  Bruno Haible  <bruno@clisp.org>
88148
88149         * lib/rename.c: #undef rename before defining rpl_rename.
88150         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
88151
88152 2003-01-30  Bruno Haible  <bruno@clisp.org>
88153
88154         * modules/vasnprintf, modules/vasprintf: New modules.
88155         * MODULES.html.sh (func_all_modules): Add them.
88156
88157 2003-01-30  Bruno Haible  <bruno@clisp.org>
88158
88159         * m4/signed.m4: New file, from GNU gettext.
88160         * m4/longdouble.m4: New file, from GNU gettext.
88161         * m4/wchar_t.m4: New file, from GNU gettext.
88162         * m4/wint_t.m4: New file, from GNU gettext.
88163         * m4/vasnprintf.m4: New file.
88164         * m4/vasprintf.m4: New file.
88165
88166 2003-01-30  Bruno Haible  <bruno@clisp.org>
88167
88168         * lib/printf-args.h: New file, from GNU gettext.
88169         * lib/printf-args.c: New file, from GNU gettext.
88170         * lib/printf-parse.h: New file, from GNU gettext.
88171         * lib/printf-parse.c: New file, from GNU gettext.
88172         * lib/vasnprintf.h: New file, from GNU gettext.
88173         * lib/vasnprintf.c: New file, from GNU gettext.
88174         * lib/asnprintf.c: New file, from GNU gettext.
88175         * lib/vasprintf.h: New file, from GNU gettext with modifications.
88176         * lib/vasprintf.c: New file, from GNU gettext.
88177         * lib/asprintf.c: New file, from GNU gettext.
88178
88179 2003-01-29  Bruno Haible  <bruno@clisp.org>
88180
88181         * modules/stpncpy: New module.
88182         * MODULES.html.sh (func_all_modules): Add it.
88183
88184 2003-01-29  Bruno Haible  <bruno@clisp.org>
88185
88186         * m4/stpncpy.m4: New file.
88187
88188 2003-01-29  Bruno Haible  <bruno@clisp.org>
88189
88190         * lib/stpncpy.h: New file, from GNU gettext with modifications.
88191         * lib/stpncpy.c: New file, from GNU gettext with modifications.
88192
88193 2003-01-28  Bruno Haible  <bruno@clisp.org>
88194
88195         * modules/c-ctype: New module.
88196         * MODULES.html.sh (func_all_modules): Add it.
88197
88198 2003-01-28  Bruno Haible  <bruno@clisp.org>
88199
88200         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
88201         Paul Eggert.
88202         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
88203         Paul Eggert.
88204
88205 2003-01-27  Bruno Haible  <bruno@clisp.org>
88206
88207         * modules/xsetenv: New module.
88208         * MODULES.html.sh (func_all_modules): Add it.
88209
88210 2003-01-27  Bruno Haible  <bruno@clisp.org>
88211
88212         * lib/xsetenv.h: New file, from GNU gettext.
88213         * lib/xsetenv.c: New file, from GNU gettext.
88214
88215 2003-01-23  Jim Meyering  <jim@meyering.net>
88216
88217         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
88218         from working on systems without dirfd (at least Irix and OSF1/Tru64).
88219
88220 2003-01-23  Bruno Haible  <bruno@clisp.org>
88221
88222         * modules/minmax: New module.
88223         * MODULES.html.sh (func_all_modules): Add it.
88224
88225 2003-01-23  Bruno Haible  <bruno@clisp.org>
88226
88227         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
88228         Eggert.
88229
88230 2003-01-22  Bruno Haible  <bruno@clisp.org>
88231
88232         * modules/exit: New module.
88233         * MODULES.html.sh (func_all_modules): Add it.
88234
88235 2003-01-22  Bruno Haible  <bruno@clisp.org>
88236
88237         * lib/exit.h: New file, from GNU gettext.
88238
88239 2003-01-19  Bruno Haible  <bruno@clisp.org>
88240
88241         * gnulib-tool: Recognize option --extract-maintainer.
88242         (func_get_maintainer): New function.
88243         * modules/*: Add Maintainer entry.
88244
88245 2003-01-16  Jim Meyering  <jim@meyering.net>
88246
88247         * m4/regex.m4: The `regex' struct is both input and output.
88248         Initialize it before each use.  Patch by Tim Waugh.
88249
88250 2003-01-16  Bruno Haible  <bruno@clisp.org>
88251
88252         * MODULES.html.sh: Add a table of contents. Add the module name as
88253         leftmost column. Add hyperlinks.
88254
88255 2003-01-15  Bruno Haible  <bruno@clisp.org>
88256
88257         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
88258
88259 2003-01-15  Bruno Haible  <bruno@clisp.org>
88260
88261         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
88262         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
88263         suffix.
88264
88265 2003-01-15  Bruno Haible  <bruno@clisp.org>
88266
88267         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
88268
88269 2003-01-15  Bruno Haible  <bruno@clisp.org>
88270
88271         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
88272         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
88273
88274 2003-01-14  Jim Meyering  <jim@meyering.net>
88275
88276         * lib/same.c (same_name): Tweak a comment.
88277
88278 2003-01-14  Bruno Haible  <bruno@clisp.org>
88279
88280         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
88281         when a string comparison is sufficient.
88282
88283 2003-01-14  Bruno Haible  <bruno@clisp.org>
88284
88285         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
88286         'unsigned int'.
88287
88288 2003-01-14  Bruno Haible  <bruno@clisp.org>
88289
88290         * lib/hash-pjw.c: Add comment about low quality of this function.
88291
88292 2003-01-13  Bruno Haible  <bruno@clisp.org>
88293
88294         * modules/stpcpy: Distribute lib/stpcpy.h.
88295         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
88296
88297 2003-01-13  Bruno Haible  <bruno@clisp.org>
88298
88299         * modules/*: Add a description.
88300         * modules/strpbrk: Fix Makefile.am snippet.
88301         * modules/strtoimax: Fix dependencies.
88302         * modules/strtoumax: Likewise.
88303
88304 2003-01-13  Bruno Haible  <bruno@clisp.org>
88305
88306         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
88307         * modules/alloca (Makefile.am): All object files depend on alloca.h.
88308         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
88309
88310 2003-01-13  Bruno Haible  <bruno@clisp.org>
88311
88312         * gnulib-tool (func_create_testdir): Store config/* files in the main
88313         directory.
88314         * config.rpath: Move to ...
88315         * config/config.rpath: ... here.
88316         * modules/gettext: Contains config/config.rpath, not config.rpath.
88317         * modules/iconv: Likewise.
88318
88319 2003-01-12  Paul Eggert  <eggert@twinsun.com>
88320
88321         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
88322         to avoid collisions with libcurses and libreadline.
88323
88324         * m4/getstr.m4: Remove.
88325         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
88326
88327 2003-01-12  Paul Eggert  <eggert@twinsun.com>
88328
88329         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
88330         to avoid collisions with libcurses and libreadline.
88331
88332         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
88333         * lib/getstr.h, getstr.c: Remove.
88334         * lib/getline.c: Include "getline.h", to check interface.
88335         Move body of old getstr.c here: this defines MIN_CHUNK and
88336         declares getdelim2, which is renamed from getstr.
88337         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
88338
88339         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
88340         All uses changed.
88341         * lib/linebuffer.h: Likewise.
88342         (readline): Remove backward-compatibility macro.
88343
88344 2003-01-12  Paul Eggert  <eggert@twinsun.com>
88345
88346         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
88347         to avoid collisions with libcurses and libreadline.
88348         * getstr: Remove.
88349         * MODULES.html.sh: Remove getstr.
88350         * modules/getline: Depend on unlocked-io, not getstr.
88351
88352 2003-01-12  Jim Meyering  <jim@meyering.net>
88353
88354         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
88355
88356 2003-01-10  Bruno Haible  <bruno@clisp.org>
88357
88358         * modules/alloca: Change Makefile.am requirements. Simplify Include
88359         requirements. Add lib/alloca_.h to file list.
88360
88361 2003-01-10  Bruno Haible  <bruno@clisp.org>
88362
88363         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
88364
88365 2003-01-10  Bruno Haible  <bruno@clisp.org>
88366
88367         * lib/alloca_.h: New file.
88368         * lib/getdate.y: Unconditionally include alloca.h.
88369         * lib/makepath.c: Likewise.
88370         * lib/setenv.c: Likewise.
88371         * lib/userspec.c: Likewise.
88372
88373 2003-01-09  Karl Berry  <karl@gnu.org>
88374
88375         * MODULES.html.sh: include `dirname $0` in PATH, to find
88376         gnulib-tool.
88377
88378 2003-01-09  Bruno Haible  <bruno@clisp.org>
88379
88380         * modules/stdbool: Change configure.ac, Makefile.am requirements.
88381         Simplify Include requirements. Add lib/stdbool.h.in to file list.
88382
88383 2003-01-09  Bruno Haible  <bruno@clisp.org>
88384
88385         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
88386
88387 2003-01-09  Bruno Haible  <bruno@clisp.org>
88388
88389         * lib/stdbool.h.in: New file.
88390
88391 2003-01-09  Bruno Haible  <bruno@clisp.org>
88392
88393         * gnulib-tool (func_all_modules): Ignore files ending in ~.
88394         * MODULES.html.sh: Likewise.
88395
88396 2003-01-08  Jim Meyering  <jim@meyering.net>
88397
88398         * lib/full-write.c: Undefine and define-away `const' after inclusion
88399         of errno.h, not before.  Suggestion from Bruno Haible.
88400
88401 2003-01-08  Bruno Haible  <bruno@clisp.org>
88402
88403         * modules/full-read: Depend on full-write.
88404
88405 2003-01-08  Bruno Haible  <bruno@clisp.org>
88406
88407         * lib/safe-read.c: Include specification header first, to ensure its
88408         selfcontainedness.
88409         * lib/full-write.c: Likewise.
88410
88411 2003-01-07  Jim Meyering  <jim@meyering.net>
88412
88413         * lib/full-write.c: Rework so that it may serve to define full_read,
88414         too.
88415         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
88416
88417 2003-01-07  Bruno Haible  <bruno@clisp.org>
88418
88419         * lib/strtoimax.c: Include <stdint.h> as an alternative to
88420         <inttypes.h>.
88421         * lib/xstrtol.h: Likewise.
88422         * lib/xstrtoimax.c: Likewise.
88423         * lib/xstrtoumax.c: Likewise.
88424         * lib/human.h: Likewise.
88425
88426         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
88427         on systems that have <inttypes.h> but not <stdint.h>.
88428
88429 2003-01-07  Bruno Haible  <bruno@clisp.org>
88430
88431         * MODULES.html.sh: Add copyright notice.
88432         (missed_files): Omit CVS directory entries.
88433         (func_module): Make it work with sed-3.02.
88434         * MODULES.txt: Remove file.
88435
88436 2003-01-06  Jim Meyering  <jim@meyering.net>
88437
88438         * lib/version-etc.c: Update year in translatable copyright string.
88439
88440 2003-01-03  Karl Berry  <karl@gnu.org>
88441
88442         * config/config.{guess,sub}: update from prep.
88443
88444 2003-01-02  Karl Berry  <karl@gnu.org>
88445
88446         * doc/COPYING.DOC: belatedly updated to 1.2.
88447
88448 2003-01-01  Karl Berry  <karl@gnu.org>
88449
88450         * gnulib-tool (func_verify_module): report module name $module in
88451         error message, not $1.
88452         * gnulib-tool (create-testdir): don't complain if destdir couldn't
88453         be created, only if it doesn't exist.
88454         * gnulib-tool (last_checkin_date): don't expand the $Date here.
88455
88456 2002-12-31  Paul Eggert  <eggert@twinsun.com>
88457
88458         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
88459
88460 2002-12-31  Paul Eggert  <eggert@twinsun.com>
88461
88462         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
88463         memcmp if strcoll doesn't work.
88464
88465 2002-12-31  Bruno Haible  <bruno@clisp.org>
88466
88467         * lib/utime.c (utime_null): No need to call ftruncate if the file was
88468         nonempty.
88469
88470 2002-12-31  Bruno Haible  <bruno@clisp.org>
88471
88472         * lib/memcoll.c (STRCOLL): New macro.
88473         (memcoll): Use it.
88474
88475 2002-12-31  Bruno Haible  <bruno@clisp.org>
88476
88477         * lib/localcharset.h: New file.
88478         * lib/localcharset.c: Include it.
88479         * lib/unicodeio.c: Likewise.
88480
88481 2002-12-31  Bruno Haible  <bruno@clisp.org>
88482
88483         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
88484         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
88485
88486 2002-12-31  Bruno Haible  <bruno@clisp.org>
88487
88488         * lib/getline.h: Include <stddef.h>, for size_t.
88489
88490         * lib/unicodeio.h: Include <stddef.h>, for size_t.
88491         * lib/unicodeio.c: Don't include <stddef.h>.
88492
88493 2002-12-31  Bruno Haible  <bruno@clisp.org>
88494
88495         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
88496         HAVE_TM_ZONE.
88497
88498 2002-12-24  Karl Berry  <karl@gnu.org>
88499
88500         * config/config.guess: update from prep.
88501
88502 2002-12-24  Bruno Haible  <bruno@clisp.org>
88503
88504         General infrasructure.
88505         * m4/README: Rewritten.
88506         * m4/onceonly.m4: New file.
88507         * m4/onceonly_2_57.m4: New file.
88508
88509         Module atexit.
88510         * m4/atexit.m4: New file.
88511
88512         Module strtod.
88513         * m4/strtod.m4: New file.
88514
88515         Module strtol.
88516         * m4/strtol.m4: New file.
88517
88518         Module strtoul.
88519         * m4/strtoul.m4: New file.
88520
88521         Module memchr.
88522         * m4/memchr.m4: New file.
88523
88524         Module memcmp.
88525         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
88526         (jm_FUNC_MEMCMP): Invoke it.
88527
88528         Module memcpy.
88529         * m4/memcpy.m4: New file.
88530
88531         Module memmove.
88532         * m4/memmove.m4: New file.
88533
88534         Module memset.
88535         * m4/memset.m4: New file.
88536
88537         Module strcspn.
88538         * m4/strcspn.m4: New file.
88539
88540         Module strpbrk.
88541         * m4/strpbrk.m4: New file.
88542
88543         Module strstr.
88544         * m4/strstr.m4: New file.
88545
88546         Module strerror.
88547         * m4/strerror.m4: New file.
88548
88549         Module mktime.
88550         * m4/mktime.m4: Renamed from jm-mktime.m4.
88551         (gl_PREREQ_MKTIME): New macro.
88552         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
88553
88554         Module malloc.
88555         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
88556         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
88557         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
88558
88559         Module realloc.
88560         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
88561         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
88562         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
88563
88564         Module strftime.
88565         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
88566         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
88567         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
88568         gl_TM_GMTOFF.
88569         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
88570
88571         Module xalloc.
88572         * m4/xalloc.m4: New file.
88573
88574         Module alloca.
88575         * m4/alloca.m4: New file.
88576
88577         Module putenv.
88578         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
88579         (jm_FUNC_PUTENV): Invoke it.
88580
88581         Module setenv.
88582         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
88583         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
88584         when invoked twice.
88585         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
88586         gt_FUNC_SETENV.
88587
88588         Module memrchr.
88589         * m4/memrchr.m4: New file.
88590
88591         Module stpcpy.
88592         * m4/stpcpy.m4: New file.
88593
88594         Module strcase.
88595         * m4/strcase.m4: New file.
88596
88597         Module strdup.
88598         * m4/strdup.m4: New file.
88599
88600         Module strnlen.
88601         * m4/strnlen.m4: New file.
88602
88603         Module strndup.
88604         * m4/strndup.m4: New file.
88605
88606         Module xstrtod.
88607         * m4/xstrtod.m4: New file.
88608
88609         Module xstrtol.
88610         * m4/xstrtol.m4: New file.
88611
88612         Module getdate.
88613         * m4/getdate.m4: New file.
88614
88615         Module unlocked-io.
88616         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
88617         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
88618         * m4/jm-glibc-io.m4n: Remove file.
88619
88620         Module long-options.
88621         * m4/long-options.m4: New file.
88622
88623         Module md5.
88624         * m4/md5.m4: New file.
88625
88626         Module sha.
88627         * m4/sha.m4: New file.
88628
88629         Module getstr.
88630         * m4/getstr.m4: New file.
88631
88632         Module getline.
88633         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
88634         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
88635         <sys/types.h>, for size_t. Use the function name gnu_getline, not
88636         simply getline. Infoke gl_PREREQ_GETLINE.
88637
88638         Module obstack.
88639         * m4/obstack.m4: New file.
88640
88641         Module hash.
88642         * m4/hash.m4: New file.
88643
88644         Module readtokens.
88645         * m4/readtokens.m4: New file.
88646
88647         Module strverscmp.
88648         * m4/strverscmp.m4: New file.
88649
88650         Module stdbool.
88651         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
88652         OSF/1.
88653
88654         Module strtoll.
88655         * m4/strtoll.m4: New file.
88656
88657         Module strtoull.
88658         * m4/strtoull.m4: New file.
88659
88660         Module strtoimax.
88661         * m4/strtoimax.m4: New file.
88662
88663         Module strtoumax.
88664         * m4/strtoumax.m4: New file.
88665
88666         Module xstrtoimax.
88667         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
88668         jm_AC_PREREQ_XSTRTOIMAX.
88669         Moved the strtol prerequisites to strtol.m4.
88670         Moved the strtoll prerequisites to strtoll.m4.
88671         Moved the strtoimax prerequisites to strtoimax.m4.
88672
88673         Module xstrtoumax.
88674         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
88675         jm_AC_PREREQ_XSTRTOUMAX.
88676         Moved the strtoul prerequisites to strtoul.m4.
88677         Moved the strtoull prerequisites to strtoull.m4.
88678         Moved the strtoumax prerequisites to strtoumax.m4.
88679
88680         Module chown.
88681         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
88682         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
88683
88684         Module dup2.
88685         * m4/dup2.m4: New file.
88686
88687         Module ftruncate.
88688         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
88689         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
88690
88691         Module getgroups.
88692         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
88693         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
88694
88695         Module gettimeofday.
88696         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
88697         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
88698         gl_PREREQ_GETTIMEOFDAY.
88699
88700         Module mkdir.
88701         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
88702         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
88703
88704         Module mkstemp.
88705         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
88706         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
88707         jm_AC_TYPE_UINTMAX_T.
88708         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
88709
88710         Module stat.
88711         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
88712         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
88713
88714         Module lstat.
88715         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
88716         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
88717
88718         Module timespec.
88719         * m4/timespec.m4 (gl_TIMESPEC): New macro.
88720         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
88721         * m4/st_mtim.m4: Indentation.
88722
88723         Module nanosleep.
88724         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
88725         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
88726         gl_PREREQ_NANOSLEEP.
88727
88728         Module regex.
88729         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
88730         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
88731         (gl_REGEX): New macro.
88732
88733         Module rename.
88734         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
88735         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
88736
88737         Module rmdir.
88738         * m4/rmdir.m4: New file.
88739
88740         Module utime.
88741         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
88742         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
88743         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
88744
88745         Module dirname.
88746         * m4/dirname.m4: New file.
88747
88748         Module getopt.
88749         * m4/getopt.m4: New file.
88750
88751         Module unistd-safer.
88752         * m4/unistd-safer.m4: New file.
88753
88754         Module fnmatch.
88755         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
88756         declaration.
88757         (gl_PREREQ_FNMATCH_EXTRA): New macro.
88758         (gl_FUNC_FNMATCH_POSIX): New macro.
88759         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
88760         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
88761         simply fnmatch.
88762
88763         Module exclude.
88764         * m4/exclude.m4: New file.
88765
88766         Module human.
88767         * m4/human.m4: New file.
88768
88769         Module acl.
88770         * m4/acl.m4: Nop.
88771
88772         Module backupfile.
88773         * m4/backupfile.m4: New file.
88774         * m4/d-ino.m4: Indentation.
88775
88776         Module fsusage.
88777         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
88778         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
88779         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
88780
88781         Module dirfd.
88782         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
88783         requirements.
88784
88785         Module euidaccess.
88786         * m4/euidaccess.m4: New file.
88787
88788         Module file-type.
88789         * m4/file-type.m4: New file.
88790
88791         Module fileblocks.
88792         * m4/fileblocks.m4: New file.
88793
88794         Module filemode.
88795         * m4/filemode.m4: New file.
88796
88797         Module isdir.
88798         * m4/isdir.m4: New file.
88799
88800         Module lchown.
88801         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
88802         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
88803
88804         Module makepath.
88805         * m4/makepath.m4: New file.
88806
88807         Module modechange.
88808         * m4/modechange.m4: New file.
88809
88810         Module mountlist.
88811         * m4/mountlist.m4: New file.
88812         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
88813         Indentation.
88814
88815         Module path-concat.
88816         * m4/path-concat.m4: New file.
88817
88818         Module pathmax.
88819         * m4/pathmax.m4: New file.
88820
88821         Module same.
88822         * m4/same.m4: New file.
88823
88824         Module save-cwd.
88825         * m4/save-cwd.m4: New file.
88826
88827         Module savedir.
88828         * m4/savedir.m4: New file.
88829
88830         Module xgetcwd.
88831         * m4/xgetcwd.m4: New file.
88832         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
88833
88834         Module xreadlink.
88835         * m4/xreadlink.m4: New file.
88836
88837         Module safe-read.
88838         * m4/safe-read.m4: New file.
88839
88840         Module safe-write.
88841         * m4/safe-write.m4: New file.
88842
88843         Module closeout.
88844         * m4/closeout.m4: New file.
88845
88846         Module stdio-safer.
88847         * m4/stdio-safer.m4: New file.
88848
88849         Module getpass.
88850         * m4/getpass.m4: New file.
88851
88852         Module getugroups.
88853         * m4/getugroups.m4: New file.
88854
88855         Module group-member.
88856         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
88857         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
88858
88859         Module idcache.
88860         * m4/idcache.m4: New file.
88861
88862         Module userspec.
88863         * m4/userspec.m4: New file.
88864
88865         Module gettime.
88866         * m4/clock_time.m4: New file.
88867         * m4/gettime.m4: New file.
88868
88869         Module settime.
88870         * m4/settime.m4: New file.
88871
88872         Module posixtm.
88873         * m4/posixtm.m4: New file.
88874
88875         Module gethostname.
88876         * m4/gethostname.m4: New file.
88877
88878         Module canon-host.
88879         * m4/canon-host.m4: New file.
88880
88881         Module gettext.
88882         * m4/codeset.m4: New file, from gettext-0.11.5.
88883         * m4/gettext.m4: New file, from gettext-0.11.5.
88884         * m4/glibc21.m4: New file, from gettext-0.11.5.
88885         * m4/iconv.m4: New file, from gettext-0.11.5.
88886         * m4/intdiv0.m4: New file, from gettext-0.11.5.
88887         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
88888         * m4/inttypes.m4: New file, from gettext-0.11.5.
88889         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
88890         * m4/isc-posix.m4: New file, from gettext-0.11.5.
88891         * m4/lcmessage.m4: New file, from gettext-0.11.5.
88892         * m4/lib-ld.m4: New file, from gettext-0.11.5.
88893         * m4/lib-link.m4: New file, from gettext-0.11.5.
88894         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
88895         * m4/progtest.m4: New file, from gettext-0.11.5.
88896         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
88897         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
88898         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
88899
88900         Module localcharset.
88901         * m4/localcharset.m4: New file.
88902
88903         Module hard-locale.
88904         * m4/hard-locale.m4: New file.
88905
88906         Module mbswidth.
88907         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
88908         onceonly macros.
88909         * m4/mbrtowc.m4: Add comment.
88910
88911         Module memcasecmp.
88912         * m4/memcasecmp.m4: New file.
88913
88914         Module memcoll.
88915         * m4/memcoll.m4: New file.
88916
88917         Module unicodeio.
88918         * m4/unicodeio.m4: New file.
88919
88920         Module rpmatch.
88921         * m4/rpmatch.m4: New file.
88922
88923         Module yesno.
88924         * m4/yesno.m4: New file.
88925
88926         Module exitfail.
88927         * m4/exitfail.m4: New file.
88928
88929         Module c-stack.
88930         * m4/c-stack.m4 (gl_C_STACK): New macro.
88931         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
88932
88933         Module error.
88934         * m4/error.m4 (gl_ERROR): New macro.
88935         (jm_PREREQ_ERROR): Use onceonly macros.
88936
88937         Module fatal.
88938         * m4/fatal.m4: New file.
88939
88940         Module getloadavg.
88941         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
88942         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
88943
88944         Module getpagesize.
88945         * m4/getpagesize.m4: New file.
88946
88947         Module getusershell.
88948         * m4/getusershell.m4: New file.
88949
88950         Module physmem.
88951         * m4/physmem.m4: New file.
88952
88953         Module posixver.
88954         * m4/posixver.m4: New file.
88955
88956         Module quotearg.
88957         * m4/quotearg.m4: New file.
88958
88959         Module quote.
88960         * m4/quote.m4: New file.
88961
88962         Module readutmp.
88963         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
88964
88965         Module sig2str.
88966         * m4/sig2str.m4: New file.
88967
88968         Other.
88969         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
88970         ulonglong.m4.
88971         * m4/intmax_t.m4: New file.
88972         * m4/d-type.m4: Indentation.
88973         * m4/jm-macros.m4: Update.
88974         * m4/prereq.m4 (jm_PREREQ): Update.
88975         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
88976         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
88977         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
88978         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
88979         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
88980         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
88981         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
88982         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
88983         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
88984         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
88985         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
88986         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
88987         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
88988         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
88989         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
88990         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
88991         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
88992         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
88993         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
88994
88995 2002-12-24  Bruno Haible  <bruno@clisp.org>
88996
88997         * MODULES.txt: Update according to m4/ changes.
88998
88999         Module gettext.
89000         * config.rpath: New file, from gettext-0.11.5.
89001
89002         * modules/*: New module descriptions.
89003         * gnulib-tool: New file.
89004         * MODULES.html.sh: New file.
89005
89006 2002-12-21  Karl Berry  <karl@gnu.org>
89007
89008         * doc/fdl.texi: update to version 1.2.
89009
89010 2002-12-19  Karl Berry  <karl@gnu.org>
89011
89012         * config/config.guess: update from prep.
89013
89014 2002-12-18  Bruno Haible  <bruno@clisp.org>
89015
89016         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
89017         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
89018
89019 2002-12-17  Bruno Haible  <bruno@clisp.org>
89020
89021         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
89022         stdlib.h, string.h.
89023
89024 2002-12-17  Bruno Haible  <bruno@clisp.org>
89025
89026         * lib/canon-host.c (strdup): Remove unused declaration.
89027
89028         * lib/fsusage.c: Include full_read.h.
89029         (get_fs_usage): Use full_read instead of safe_read.
89030
89031         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
89032
89033 2002-12-12  Karl Berry  <karl@gnu.org>
89034
89035         * config/config.guess: update from prep.
89036
89037 2002-12-11  Bruno Haible  <bruno@clisp.org>
89038
89039         * m4/setenv.m4: New file, from gettext-0.11.5.
89040
89041 2002-12-11  Bruno Haible  <bruno@clisp.org>
89042
89043         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
89044         not unsetenv().
89045         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
89046         modifications:
89047
89048         2002-12-11  Bruno Haible  <bruno@clisp.org>
89049
89050                 * setenv.c (alloca): Fall back to malloc.
89051                 (freea): New macro.
89052                 (setenv): Use freea() to free memory allocated with alloca().
89053
89054         2002-11-13  Bruno Haible  <bruno@clisp.org>
89055
89056                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
89057                 function declarations.
89058                 * unsetenv.c (unsetenv): Likewise.
89059
89060         2002-03-04  Bruno Haible  <bruno@clisp.org>
89061
89062                 Portability to AIX 4.3.3.
89063                 * unsetenv.c: New file, extracted from setenv.c.
89064                 * setenv.c: Move the unsetenv() function to unsetenv.c.
89065
89066         2001-12-20  Bruno Haible  <bruno@clisp.org>
89067
89068                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
89069                 use malloc instead. For SunOS 4.
89070
89071         2001-12-11  Bruno Haible  <bruno@clisp.org>
89072
89073                 * setenv.c: Declare alloca.
89074                 (compar_fn_t): New typedef.
89075                 (KNOWN_VALUE, STORE_VALUE): Use it.
89076
89077         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
89078         setenv.h.
89079
89080 2002-12-10  Paul Eggert  <eggert@twinsun.com>
89081
89082         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
89083         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
89084         Choose values that are less likely to collide with system fnmatch
89085         options.
89086         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
89087         defined (e.g., a pure POSIX system).
89088         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
89089         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
89090
89091 2002-12-06  Paul Eggert  <eggert@twinsun.com>
89092
89093         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
89094         a pain in practice to deal with generated m4 files.  This change
89095         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
89096
89097         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
89098         and jm-glibc-io.m4, as they are no longer a special case.
89099         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
89100         kludge and the auto-generation stuff.  Check only whether the
89101         functions are declared, not whether they exist, since older hosts
89102         that don't declare the functions can't use the optimization anyway.
89103
89104 2002-12-06  Jim Meyering  <jim@meyering.net>
89105
89106         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
89107
89108         Merge in changes from libc's misc/error.c, in preparation
89109         for the merge of gnulib's changes back into libc.
89110
89111         * lib/error.c (_): Define only if not already defined.
89112         Move definition to follow all #include directives.
89113         Include unlocked-io.h only if !_LIBC.
89114         [_LIBC]: Include <libio/libioP.h>.
89115         [USE_IN_LIBIO]: Include <libio/iolibio.h>
89116         (fflush): Tweak definition to use INTUSE.
89117         (putc): Define.
89118
89119 2002-12-05  Paul Eggert  <eggert@twinsun.com>
89120
89121         * lib/alloca.c [defined emacs]: Include "lisp.h".
89122         (xalloc_die) [defined emacs]: New macro.
89123         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
89124         [! defined emacs]: Include <xalloc.h>.
89125         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
89126         (pointer): Typedef to POINTER_TYPE *.
89127         (malloc): Remove decl; we now always use xmalloc.
89128         (alloca): Use old-style definition, since Emacs needs this.
89129         Check for arithmetic overflow when computing combined size.
89130
89131 2002-12-04  Paul Eggert  <eggert@twinsun.com>
89132
89133         Do not generate unlocked-io.h automatically, since it's easier to
89134         maintain it by hand.
89135
89136         * lib/unlocked-io.h: New file, from GNU diffutils,
89137         but with proper copyright notice and attribution.
89138         * lib/gen-uio: Remove.
89139         * lib/Makefile.am: Add copyright notice.
89140         (libfetish_a_SOURCES): Add unlocked-io.h.
89141         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
89142         (DISTCLEANFILES, io_functions): Remove macros.
89143         (EXTRA_DIST): Remove gen_uio.
89144         (unlocked-io.h): Remove rule.
89145
89146 2002-12-04  Jim Meyering  <jim@meyering.net>
89147
89148         Reflect the fact that stat.c and lstat.c are no longer generated.
89149         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
89150         (DISTCLEANFILES): Likewise.
89151         (EXTRA_DIST): Likewise.
89152         (all_local): Don't depend on stat.c or lstat.c.
89153         (stat.c, lstat.c): Remove rules.
89154         (EXTRA_DIST): Remove xstat.in.
89155
89156         * lib/xstat.in: Remove file.  Contents moved into stat.c.
89157         * lib/stat.c: New file.  Contents mostly from xstat.in.
89158         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
89159         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
89160
89161         * lib/safe-read.c: Rework so that it may serve to define safe_write,
89162         too.
89163         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
89164
89165 2002-12-03  Jim Meyering  <jim@meyering.net>
89166
89167         * lib/safe-read.c, safe-write.c: Change variable names and comments,
89168         but not semantics, to minimize the differences between these two files.
89169         (safe_read): Change comment to mention SAFE_READ_ERROR.
89170
89171         * lib/safe-read.c (IS_EINTR): Define.
89172         (safe_read): Use IS_EINTR in place of in-function cpp directives.
89173
89174 2002-12-02  Jim Meyering  <jim@meyering.net>
89175
89176         * lib/safe-read.c (EINTR): Define.
89177         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
89178         (INT_MAX): Provide fallback.
89179         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
89180
89181         * lib/safe-read.h (SAFE_READ_ERROR): Define.
89182
89183 2002-12-02  Bruno Haible  <bruno@clisp.org>
89184
89185         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
89186         Define, taken from safe-read.c.
89187         (INT_MAX): Provide fallback.
89188         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
89189         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
89190
89191         * lib/safe-read.c (EINTR): Remove definition.
89192         (safe_read): Don't use EINTR if it is absent.
89193
89194 2002-12-01  Jim Meyering  <jim@meyering.net>
89195
89196         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
89197         zero.
89198         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
89199
89200 2002-11-27  Paul Eggert  <eggert@twinsun.com>
89201
89202         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
89203         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
89204         with `if (! (value < limit)) abort ();', for readability.
89205
89206 2002-11-26  Karl Berry  <karl@gnu.org>
89207
89208         * lib/strdup.c: copy from libc again, with jim's ok.
89209         * lib/.cppi-disable: re-add strdup.c
89210
89211 2002-11-25  Karl Berry  <karl@gnu.org>
89212
89213         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
89214         instead of "strtol.c".
89215
89216 2002-11-25  Karl Berry  <karl@gnu.org>
89217
89218         * config/install-sh: update from automake for variable quoting, $0 in
89219         error msgs, etc.
89220
89221         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
89222         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
89223         entry.
89224
89225 2002-11-25  Jim Meyering  <jim@meyering.net>
89226
89227         * lib/mktime.c: Sync from libc, now that it has the latest fix.
89228
89229 2002-11-24  Karl Berry  <karl@gnu.org>
89230
89231         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
89232         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
89233
89234 2002-11-24  Jim Meyering  <jim@meyering.net>
89235
89236         Update from coreutils:
89237
89238         * lib/mktime.c: Merge in changes from libc.
89239
89240         Avoid a link-time failure on some Linux systems.
89241         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
89242         (otherwise).
89243         (__mon_yday): Declare with the STATIC attribute.
89244         (__mktime_internal): Likewise.
89245         Based on a report from Greg Schafer.
89246
89247 2002-11-23  Jim Meyering  <jim@meyering.net>
89248
89249         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
89250         Use `unsigned', not `int', as type of index.
89251
89252         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
89253
89254         * lib/fsusage.c: Remove unneeded parentheses around operands of
89255         `defined'.
89256
89257 2002-11-22  Paul Eggert  <eggert@twinsun.com>
89258
89259         * lib/quotearg.h: Allow multiple inclusion by surrounding with
89260         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
89261         so that we can be included first.
89262         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
89263         * lib/quotearg.c: Include quotearg.h immediately after config.h.
89264         No need to include stddef.h or sys/types.h any more.
89265         Surround local include files with "", not "<>".
89266         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
89267         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
89268         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
89269         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
89270         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
89271         (ISPRINT): Remove; no longer needed now that we assume C89.
89272
89273         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
89274         Preserve errno.
89275
89276         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
89277         quotearg_char): Use SIZE_MAX rather than
89278         (size_t) -1 when we are talking about "infinity".
89279
89280         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
89281
89282 2002-11-22  Paul Eggert  <eggert@twinsun.com>
89283
89284         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
89285         hint that one should use `if (! x) abort ();' rather than `assert
89286         (x);', and anyway it's one less thing to worry about configuring.
89287         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
89288         hash_rehash, hash_insert): Use abort rather than assert.
89289
89290 2002-11-22  Bruno Haible  <bruno@clisp.org>
89291
89292         * lib/safe-read.h: Assume C89. Add comments.
89293         (safe_read): Change return type to size_t.
89294         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
89295         byte counts > SSIZE_MAX correctly.
89296         * lib/safe-write.h: New file.
89297         * lib/safe-write.c: New file.
89298         * lib/full-read.h: New file.
89299         * lib/full-read.c: New file.
89300         * lib/full-write.h: Assume C89. Add comments.
89301         * lib/full-write.c: Include safe-write.h.
89302         (full_write): Rewritten to use safe_write.
89303         Suggested by Jim Meyering and Paul Eggert.
89304
89305 2002-11-21  Jim Meyering  <jim@meyering.net>
89306
89307         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
89308
89309         Merge in changes from the coreutils.
89310
89311         2002-09-25  Paul Eggert  <eggert@twinsun.com>
89312         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
89313         <stdint.h>.
89314         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
89315         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
89316         int.  Work more efficiently if X is the same width as uintmax_t.
89317         Do not compare X to -1, to avoid bogus compiler warning.
89318         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
89319         Don't assume that f_frsize and f_bsize are the same type.
89320
89321         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
89322         warning on FreeBSD.
89323
89324         * lib/makepath.c (make_path): Restore umask *before* creating the final
89325         component.
89326         (make_path): Minor reformatting.
89327
89328         * lib/xmalloc.c: Adjust to work with new autoconf macros,
89329         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
89330         HAVE_MALLOC/HAVE_REALLOC.
89331
89332         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
89333         dummy ones.  At least on GNU/Linux systems, `auto' means something
89334         else.
89335         From Michael Stone.
89336
89337 2002-11-21  Bruno Haible  <bruno@clisp.org>
89338
89339         Remove case insensitive option matching.
89340         * lib/argmatch.h (argcasematch): Remove declaration.
89341         (ARGCASEMATCH): Remove macro.
89342         (__xargmatch_internal): Remove case_sensitive argument.
89343         (XARGMATCH): Update.
89344         (XARGCASEMATCH): Remove macro.
89345         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
89346         case_sensitive argument.
89347         (argcasematch): Remove function.
89348         (__xargmatch_internal): Remove case_sensitive argument.
89349         (main): Use XARGMATCH instead of XARGCASEMATCH.
89350
89351         * lib/xmalloc.c: Change compile-time error message. Add comment about
89352         required autoconf version.
89353
89354 2002-11-20  Paul Eggert  <eggert@twinsun.com>
89355
89356         Merge argmatch cleanups from Bison.  Assume C89.
89357
89358         * lib/argmatch.c: Include config.h here, not in argmatch.h.
89359         Include stdlib.h, for EXIT_FAILURE.
89360         Always include <string.h>, since we assume C89.
89361         (EXIT_FAILURE): Remove pre-C89 bug workaround.
89362         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
89363         Include <stddef.h> instead, since it's all we need for size_t.
89364         (PARAMS): Remove.  All uses removed.
89365         (ARRAY_CARDINALITY): Do not bother to #undef.
89366         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
89367         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
89368         Remove unnecessary parentheses.
89369         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
89370         Insert necessary parentheses.
89371         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
89372         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
89373
89374 2002-11-19  Bruno Haible  <bruno@clisp.org>
89375
89376         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
89377         * lib/mbswidth.h: Include <stddef.h>, for size_t.
89378
89379         * lib/mbswidth.h (PARAMS): Remove macro.
89380         (mbswidth, mbsnwidth): Use ANSI C function declarations.
89381         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
89382
89383         * lib/gcd.h (PARAMS): Remove macro.
89384         (gcd): Use ANSI C function declarations.
89385         * lib/gcd.c (gcd): Likewise.
89386
89387 2002-11-15  Bruno Haible  <bruno@clisp.org>
89388
89389         * lib/strcspn.c: Include <stddef.h>.
89390         (strcspn): Use ANSI C function declaration. Change return type to
89391         size_t. Use NULL.
89392         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
89393         (strpbrk): Use NULL.
89394         * lib/strpbrk.h (PARAMS): Remove macro.
89395         (strpbrk): Use ANSI C function declaration.
89396         * lib/strstr.c: Don't include <sys/types.h>.
89397         * lib/strstr.h (PARAMS): Remove macro.
89398         (strstr): Use ANSI C function declarations.
89399
89400 2002-11-14  Karl Berry  <karl@gnu.org>
89401
89402         * config/mkinstalldirs: `do' on separate line, instead of
89403         `for var; do'.
89404
89405 2002-11-06  Bruno Haible  <bruno@clisp.org>
89406
89407         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
89408         * lib/gcd.c (gcd): Likewise.
89409
89410 2002-11-05  Bruno Haible  <bruno@clisp.org>
89411
89412         * lib/gcd.h: New file, from gettext-0.11.5.
89413         * lib/gcd.c: New file, from gettext-0.11.5.
89414
89415 2002-11-05  Bruno Haible  <bruno@clisp.org>
89416
89417         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
89418         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
89419         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
89420         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
89421
89422         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
89423         <libintl.h>.
89424         * lib/makepath.c: Include gettext.h instead of <locale.h> and
89425         <libintl.h>.
89426
89427         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
89428         * lib/human.c: Include gettext.h instead of <libintl.h>.
89429         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
89430         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
89431         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
89432         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
89433         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
89434         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
89435         (textdomain): Remove definition.
89436         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
89437
89438         * lib/long-options.c: Remove include of <libintl.h> and definition of
89439         _.
89440         * lib/same.c: Remove include of <libintl.h> and definition of _.
89441
89442 2002-11-04  Owen Taylor  <otaylor@redhat.com>
89443
89444         * lib/config.charset: A few additions for Solaris.
89445
89446 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
89447
89448         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
89449         * lib/localcharset.c (locale_charset): Declare as extern "C".
89450
89451 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
89452
89453         * lib/config.charset: msdos in uk_UA uses CP1125.
89454
89455 2002-11-04  Bruno Haible  <bruno@clisp.org>
89456
89457         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
89458         * lib/strcase.h: New file, from GNU gettext-0.11.5.
89459         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
89460         * lib/strstr.h: New file, from GNU gettext-0.11.5.
89461         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
89462
89463 2002-11-04  Bruno Haible  <bruno@clisp.org>
89464
89465         * lib/localcharset.c (locale_charset): Don't return an empty string.
89466
89467 2002-11-04  Bruno Haible  <bruno@clisp.org>
89468
89469         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
89470         aliases.
89471
89472 2002-11-04  Bruno Haible  <bruno@clisp.org>
89473
89474         * lib/config.charset: Update for newest glibc. Add canonical names
89475         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
89476
89477 2002-11-04  Bruno Haible  <bruno@clisp.org>
89478
89479         * lib/config.charset: Add support for NetBSD.
89480
89481 2002-11-04  Bruno Haible  <bruno@clisp.org>
89482
89483         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
89484
89485 2002-11-01  Bruno Haible  <bruno@clisp.org>
89486
89487         * configure.in: Add AC_CONFIG_AUX_DIR call.
89488         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
89489         test/Makefile.
89490         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
89491
89492 2002-09-28  Karl Berry  <karl@gnu.org>
89493
89494         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
89495         installed automake until the next release, since changes have been
89496         made.
89497
89498 2002-09-25  Karl Berry  <karl@gnu.org>
89499
89500         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
89501         * lib/getopt*: copy from libc/posix.
89502         * lib/gettext.h: copy from gettext.
89503         * lib/.cppi-disable: add strdup.c, gettext.h.
89504
89505 2002-09-25  Karl Berry  <karl@gnu.org>
89506
89507         * config/srclist.txt: enable gettext.h check.
89508         * config/config.{guess,sub}: update from prep.
89509         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
89510                 from automake 1.6.3.
89511         See srclist*.
89512
89513 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
89514
89515         * regex.c (PATFETCH): Remove the translating fetch.
89516         (PATFETCH_RAW): Rename to PATFETCH.
89517         (set_image_of_range): New fun.
89518         (SET_RANGE_TABLE_WORK_AREA): Use it.
89519         (regex_compile): Don't translate the pattern chars so eagerly.
89520         Only do it when inserting an `exactn' bytecode or when handling
89521         a char-range.
89522         (mutually_exclusive_p): Avoid empty statement.
89523
89524 2002-07-06  Jim Meyering  <meyering@lucent.com>
89525
89526         * m4/README: Don't mention Makefile.am.in.
89527         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
89528
89529 2002-07-01  Jim Meyering  <meyering@lucent.com>
89530
89531         * lib/c-stack.c: Include sys/time.h.
89532         From Volker Borchert.
89533
89534 2002-06-26  Paul Eggert  <eggert@twinsun.com>
89535
89536         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
89537
89538 2002-06-26  Paul Eggert  <eggert@twinsun.com>
89539
89540         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
89541         New macro.  Use it uniformly instead of
89542         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
89543         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
89544         reported by Vin Shelton.
89545
89546 2002-06-22  Paul Eggert  <eggert@twinsun.com>
89547
89548         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
89549         Do not assume SA_SIGINFO behavior.
89550         Bug reported by Jim Meyering on NetBSD 1.5.2.
89551
89552 2002-06-22  Jim Meyering  <meyering@lucent.com>
89553
89554         * m4/c-stack.m4: New file, from diffutils-2.8.2.
89555         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
89556
89557         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
89558         now that configure.ac uses AC_GNU_SOURCE.
89559         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
89560         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
89561
89562         Update to latest tools.  Suggestions from Paul Eggert.
89563         * m4/stdbool.m4: New file, from diffutils-2.8.2.
89564         * m4/gnu-source.m4: Update from diffutils-2.8.2.
89565         * m4/fnmatch.m4: Likewise.
89566         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
89567         to AC_HEADER_STDBOOL
89568
89569 2002-06-22  Jim Meyering  <meyering@lucent.com>
89570
89571         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
89572         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
89573
89574 2002-06-22  Jim Meyering  <meyering@lucent.com>
89575
89576         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
89577
89578         * lib/exitfail.c, exitfail.h: Likewise.
89579         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
89580
89581         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
89582         of fnmatch.h.
89583         (EXTRA_DIST): Add fnmatch_loop.c.
89584         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
89585
89586         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
89587         * lib/fnmatch.c: Update from diffutils-2.8.2.
89588         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
89589         * lib/fnmatch.h: Remove file.
89590
89591 2002-06-21  Jim Meyering  <meyering@lucent.com>
89592
89593         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
89594         * m4/mbrtowc.m4: Likewise.
89595
89596         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
89597         * m4/mbswidth.m4: Reflect name change:
89598         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
89599         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
89600
89601         * m4/lib-link.m4: Update from gettext-0.11.2.
89602         * m4/gettext.m4: Likewise.
89603
89604         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
89605         From Alfred M. Szmidt.
89606
89607 2002-06-18  Paul Eggert  <eggert@twinsun.com>
89608
89609         * lib/file-type.h: Report an error if neither S_ISREG nor
89610         S_IFREG is defined, instead of using a test specific to glibc
89611         2.2.  This should be safe, since POSIX requires S_ISREG and
89612         Unix Version 7 had S_IFREG.  We don't need to check for
89613         <sys/types.h> since we don't use any symbols that it defines.
89614
89615 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
89616
89617         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
89618         $@-t, so that each temporary file name is unique and valid in the first
89619         8 characters, for operation under DOS.
89620
89621 2002-06-15  Paul Eggert  <eggert@twinsun.com>
89622
89623         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
89624
89625 2002-06-15  Jim Meyering  <meyering@lucent.com>
89626
89627         Work even with DJGPP 2.03, which lacks support for symlinks.
89628         From Richard Dawe.
89629         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
89630         is defined.
89631         * lib/lchown.c (S_ISLNK): Likewise.
89632
89633 2002-06-15  Jim Meyering  <meyering@lucent.com>
89634
89635         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
89636         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
89637         have been included before this file.
89638
89639 2002-06-14  Jim Meyering  <meyering@lucent.com>
89640
89641         * lib/file-type.h: Use the version from diffutils-2.8.2.
89642         * lib/file-type.c: Likewise.
89643
89644 2002-06-07  Jim Meyering  <meyering@lucent.com>
89645
89646         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
89647         They're needed at least for NetBSD 1.5.2.
89648         ($statxfs_includes): Include those same headers.
89649         ($statxfs_includes): Include sys/vfs.h if available.
89650         ($statxfs_includes): Likewise for sys/statvfs.h.
89651         Check for the following members in both structs statfs and statvfs:
89652         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
89653
89654 2002-06-01  Jim Meyering  <meyering@lucent.com>
89655
89656         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
89657         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
89658
89659 2002-05-28  Jim Meyering  <meyering@lucent.com>
89660
89661         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
89662         Reported by Volker Borchert.
89663
89664 2002-05-27  Jim Meyering  <meyering@lucent.com>
89665
89666         Fix a problem seen only on nonconforming systems whereby ls.c's
89667         use of localtime, and then of gettimeofday would cause trouble:
89668         the localtime call used to initialize rpl_gettimeofday's save
89669         mechanism would clobber ls's current local time information so
89670         that in any long listing the first file would always be listed
89671         with date 1970-01-01.  Analysis by Volker Borchert.
89672
89673         * lib/gettimeofday.c (localtime): Undefine.
89674         (rpl_localtime): New function.
89675
89676 2002-05-27  Jim Meyering  <meyering@lucent.com>
89677
89678         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
89679         localtime.
89680
89681         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
89682         use the replacement function; it wouldn't resolve at link time.
89683         Reported by Volker Borchert.
89684
89685 2002-05-22  Jim Meyering  <meyering@lucent.com>
89686
89687         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
89688         file-type.h.
89689         * lib/file-type.h: New file.
89690         * lib/file-type.c (file_type): New file/function.  Extracted from
89691         diffutils.
89692
89693 2002-04-30  Jim Meyering  <meyering@lucent.com>
89694
89695         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
89696
89697 2002-04-29  Paul Eggert  <eggert@twinsun.com>
89698
89699         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
89700
89701 2002-04-29  Paul Eggert  <eggert@twinsun.com>
89702
89703         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
89704         Do not check for alloca.h (no longer used) or stdbool.h (was never
89705         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
89706
89707 2002-04-29  Paul Eggert  <eggert@twinsun.com>
89708
89709         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
89710
89711 2002-04-29  Jim Meyering  <meyering@lucent.com>
89712
89713         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
89714         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
89715         Use AC_FUNC_STRNLEN here instead.
89716
89717         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
89718         With autoconf-2.53a, it's part of AC_PROG_CC.
89719
89720 2002-04-28  Paul Eggert  <eggert@twinsun.com>
89721
89722         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
89723         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
89724
89725 2002-04-28  Paul Eggert  <eggert@twinsun.com>
89726
89727         * lib/sig2str.h, lib/sig2str.c: New files.
89728         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
89729
89730 2002-04-28  Paul Eggert  <eggert@twinsun.com>
89731
89732         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
89733         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
89734         of 127, since 64 is the largest conceivable number for ancient
89735         nonstandard hosts.
89736         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
89737
89738 2002-04-28  Jim Meyering  <meyering@lucent.com>
89739
89740         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
89741
89742 2002-04-24  Jim Meyering  <meyering@lucent.com>
89743
89744         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
89745         (jm_PREREQ): Use it.
89746
89747         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
89748         mach/mach.h fcntl.h.
89749         Check for this function: setlocale.
89750
89751 2002-04-24  Jim Meyering  <meyering@lucent.com>
89752
89753         * lib/gettext.h: New file, from Gettext.
89754         * lib/Makefile.am (INCLUDES): Remove -I../intl.
89755         (libfetish_a_SOURCES): Add gettext.h.
89756
89757 2002-04-16  Jim Meyering  <meyering@lucent.com>
89758
89759         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
89760         ut_pid, ut_id, ut_exit.
89761
89762 2002-04-16  Jim Meyering  <meyering@lucent.com>
89763
89764         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
89765         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
89766         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
89767
89768 2002-04-12  Jim Meyering  <meyering@lucent.com>
89769
89770         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
89771         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
89772         existence of the getmntinfo function.  Needed for Darwin 5.3.
89773
89774         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
89775         This is necessary at least on Darwin 5.3.
89776
89777         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
89778         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
89779         strnlen.o in the library, and that makes some versions of ranlib
89780         object.
89781
89782 2002-04-12  Jim Meyering  <meyering@lucent.com>
89783
89784         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
89785
89786 2002-04-09  Jim Meyering  <meyering@lucent.com>
89787
89788         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
89789         to be more precise.  Rather than saying we're checking whether the
89790         function `works', say what we're testing.
89791         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
89792         Reported by Bruno Haible.
89793
89794 2002-03-10  Jim Meyering  <meyering@lucent.com>
89795
89796         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
89797         Suggestion from Santiago Vila.
89798
89799 2002-03-08  Jim Meyering  <meyering@lucent.com>
89800
89801         * lib/rename.c: Mention that this wrapper is needed also on
89802         mips-dec-ultrix4.4 systems.
89803
89804 2002-03-02  Jim Meyering  <meyering@lucent.com>
89805
89806         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
89807         not HAVE_CLOCK_SETTIME.
89808
89809 2002-02-27  Paul Eggert  <eggert@twinsun.com>
89810
89811         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
89812         Check for clock_settime.
89813
89814 2002-02-27  Paul Eggert  <eggert@twinsun.com>
89815
89816         * lib/nanosleep.h: Rename to....
89817         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
89818
89819         * lib/gettime.c: New file.
89820         * lib/settime.c: New file.
89821         * lib/stime.c: Remove.
89822
89823         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
89824         timespec.h.  Remove nanosleep.h.
89825
89826 2002-02-25  Paul Eggert  <eggert@twinsun.com>
89827
89828         * m4/acl.m4: New file.
89829         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
89830         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
89831
89832 2002-02-25  Paul Eggert  <eggert@twinsun.com>
89833
89834         * lib/acl.c, lib/acl.h: New files.
89835         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
89836
89837 2002-02-24  Jim Meyering  <meyering@lucent.com>
89838
89839         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
89840         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
89841         cause trouble.  Reported by Nelson Beebe.
89842
89843 2002-02-23  Paul Eggert  <eggert@twinsun.com>
89844
89845         * lib/path-concat.c (xpath_concat): Reorder code to pacify
89846         compilers that don't know that xalloc_die never returns.
89847
89848 2002-02-20  Jim Meyering  <meyering@lucent.com>
89849
89850         * lib/getdate.c: Regenerate using bison-1.33.
89851
89852 2002-02-17  Jim Meyering  <meyering@lucent.com>
89853
89854         * config/config.guess (main): Don't use `head -1'; it's no longer
89855         portable. Use `sed 1q' instead.
89856
89857 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
89858
89859         * m4/codeset.m4: Upgrade to gettext-0.11.
89860         * m4/gettext.m4: Upgrade to gettext-0.11.
89861         * m4/glibc21.m4: Upgrade to gettext-0.11.
89862         * m4/iconv.m4: Upgrade to gettext-0.11.
89863         * m4/isc-posix.m4: Upgrade to gettext-0.11.
89864         * m4/lcmessage.m4: Upgrade to gettext-0.11.
89865         * m4/lib-ld.m4: New file, from gettext-0.11.
89866         * m4/lib-link.m4: New file, from gettext-0.11.
89867         * m4/lib-prefix.m4: New file, from gettext-0.11.
89868         * m4/progtest.m4: Upgrade to gettext-0.11.
89869
89870 2002-02-15  Paul Eggert  <eggert@twinsun.com>
89871
89872         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
89873         (jm_PREREQ): Use it.
89874
89875 2002-02-15  Paul Eggert  <eggert@twinsun.com>
89876
89877         * lib/posixver.c, lib/posixver.h: New files.
89878         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
89879
89880 2002-02-02  Paul Eggert  <eggert@twinsun.com>
89881             Bruno Haible  <bruno@clisp.org>
89882
89883         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
89884         (fwrite_success_callback): New declaration.
89885         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
89886         print_unicode_char. Call failure callback instead of error.
89887         (fwrite_success_callback): New function.
89888         (exit_failure_callback): New function.
89889         (fallback_failure_callback): New function.
89890         (print_unicode_char): Call unicode_to_mb.
89891
89892 2002-01-26  Jim Meyering  <meyering@lucent.com>
89893
89894         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
89895         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
89896
89897 2002-01-26  Jim Meyering  <meyering@lucent.com>
89898
89899         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
89900
89901 2002-01-22  Paul Eggert  <eggert@twinsun.com>
89902
89903         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
89904
89905 2002-01-22  Jim Meyering  <meyering@lucent.com>
89906
89907         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
89908         Otherwise, some versions of automake would omit the rule that makes
89909         Makefile from Makefile.in.
89910
89911 2002-01-21  Paul Eggert  <eggert@twinsun.com>
89912
89913         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
89914         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
89915         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
89916         (memcoll): Set errno to zero if there is no error.
89917
89918         * lib/quotearg.c (quotearg_buffer_restyled):
89919         Fix bug with quoting buffers containing NUL when backslashing escapes.
89920         This bug was exposed by the other changes in this patch.
89921         (quotearg_n_options): New arg ARGSIZE.
89922         All callers changed.
89923         (quoting_options_from_style): New function.
89924         (quotearg_n_style): Use it.
89925         (quotearg_n_style_mem): New function.
89926
89927         * lib/quotearg.h (quotearg_n_style_mem): New function.
89928
89929 2002-01-19  Jim Meyering  <meyering@lucent.com>
89930
89931         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
89932         Remove useless quotes: DF_PROG="df".
89933         * m4/strnlen.m4: New file.
89934
89935 2002-01-16  Paul Eggert  <eggert@twinsun.com>
89936
89937         * lib/backupfile.c (ISDIGIT): Comment fix.
89938         * lib/getdate.y (ISDIGIT): Likewise.
89939         * lib/posixtm.c (ISDIGIT, year): Likewise.
89940         * lib/strverscmp.c (ISDIGIT): Likewise.
89941         * lib/userspec.c (ISDIGIT): Likewise.
89942
89943 2002-01-16  Jim Meyering  <meyering@lucent.com>
89944
89945         * lib/getdate.y: Add three semicolons, each just before a closing
89946         brace. Bison (as of version 1.31) no longer papers over that mistake.
89947
89948 2002-01-05  Jim Meyering  <meyering@lucent.com>
89949
89950         * lib/version-etc.c (version_etc_copyright): Update copyright year.
89951
89952 2001-12-19  Paul Eggert  <eggert@twinsun.com>
89953
89954         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
89955         not silently exit merely because the output buffer happens to
89956         have nothing pending.
89957
89958 2001-12-18  Paul Eggert  <eggert@twinsun.com>
89959
89960         See the big note in ../ChangeLog.
89961         * lib/human.c (suffixes): Prefer K to k for 1024.
89962         (generate_suffix_backwards): New function.
89963         (human_readable_inexact): Use it.
89964         * lib/xstrtol.c (__xstrtol): If there is no number but there
89965         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
89966         Accept 'K' as well as 'k'.
89967
89968 2001-12-15  Jim Meyering  <meyering@lucent.com>
89969
89970         * lib/regex.h (__restrict_arr): Update from libc.
89971
89972         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
89973         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
89974         (STREQ): Define.
89975
89976 2001-12-14  Jim Meyering  <meyering@lucent.com>
89977
89978         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
89979         Suggestion from Bruno Haible.
89980
89981 2001-12-10  Jim Meyering  <meyering@lucent.com>
89982
89983         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
89984         xrealloc, Instead, include "xalloc.h".
89985         (initbuffer): Don't cast xmalloc return value to char*.
89986         (readline): Reword comment.
89987         Don't cast xrealloc return value to char*
89988         Return NULL, not 0.
89989
89990 2001-12-09  Jim Meyering  <meyering@lucent.com>
89991
89992         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
89993         about `signed and unsigned type in conditional expression'.
89994         * lib/posixtm.c (posix_time_parse): Likewise.
89995
89996         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
89997
89998         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
89999         to avoid a pedantic warning.
90000
90001         * lib/getstr.c: Don't include assert.h.
90002         (getstr): Remove warning-evoking assertions.
90003         Return -1 if offset parameter is out of bounds.
90004         Change the type of a local from int to size_t.
90005
90006         * lib/strftime.c (my_strftime_localtime_r): Include this function
90007         definition in the `#if ! HAVE_TM_GMTOFF' block.
90008
90009         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
90010         Include xalloc.h instead.
90011
90012 2001-12-02  Jim Meyering  <meyering@lucent.com>
90013
90014         * lib/tempname.c: Don't declare getenv, thus reverting the change of
90015         2001-11-18.  It's no longer necessary, now that stdlib.h is always
90016         included.
90017
90018         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
90019         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
90020
90021 2001-11-30  Akim Demaille  <akim@epita.fr>
90022
90023         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
90024         before being defined.
90025
90026 2001-11-27  Paul Eggert  <eggert@twinsun.com>
90027
90028         * lib/quotearg.h (quotearg_n, quotearg_n_style):
90029         First arg is int, not unsigned.
90030         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
90031         (SIZE_MAX, UINT_MAX): New macros.
90032         (quotearg_n_options): Abort if N is negative.
90033         Avoid overflow check on hosts where size_t is 64 bits and int
90034         is 32 bits, as overflow is impossible there.
90035         Fix off-by-one typo that caused unnecessary reallocation.
90036
90037 2001-11-27  Jim Meyering  <meyering@lucent.com>
90038
90039         * lib/tempname.c: Merge with version from libc.
90040         * lib/regex.c: Likewise.
90041
90042         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
90043         systems for which STDC_HEADERS is 0, it was not included, resulting in
90044         a warning about an integer-to-pointer conversion problem with getenv.
90045         Reported by Volker Borchert.
90046
90047 2001-11-26  Jim Meyering  <meyering@lucent.com>
90048
90049         * lib/gtod.h: Remove file.
90050         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
90051         * lib/gettimeofday.c: Don't include gtod.h.
90052         (GTOD_init): Remove function.
90053         (rpl_gettimeofday): Do its job here instead, rather than aborting.
90054         Suggestion from Volker Borchert.
90055
90056 2001-11-23  Jim Meyering  <meyering@lucent.com>
90057
90058         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
90059         it.
90060         * lib/hash.c (struct hash_table): Define it here instead.
90061
90062 2001-11-22  Jim Meyering  <meyering@lucent.com>
90063
90064         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
90065
90066 2001-11-20  Jim Meyering  <meyering@lucent.com>
90067
90068         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
90069         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
90070
90071 2001-11-19  Jim Meyering  <meyering@lucent.com>
90072
90073         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
90074         directory.  Use "conftestXXXXXX" as the template.
90075         Suggestion from Paul Eggert.
90076
90077         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
90078         immediately, so the test doesn't mistakenly hit the max-open-files
90079         limit.
90080
90081 2001-11-18  Paul Eggert  <eggert@twinsun.com>
90082
90083         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
90084         (TEMPORARIES): New macro.
90085         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
90086         removes an artificial limitation (e.g. HP-UX 10.20, where
90087         TMP_MAX is 17576).
90088
90089 2001-11-18  Jim Meyering  <meyering@lucent.com>
90090
90091         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
90092
90093 2001-11-18  Jim Meyering  <meyering@lucent.com>
90094
90095         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
90096         on SunOS 4.
90097
90098         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
90099         files will be created before anything else.
90100
90101 2001-11-17  Paul Eggert  <eggert@twinsun.com>
90102
90103         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
90104         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
90105
90106 2001-11-17  Jim Meyering  <meyering@lucent.com>
90107
90108         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
90109         Prompted by a report from Bob Proulx.
90110
90111         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
90112         Instead, require UTILS_FUNC_MKSTEMP.
90113
90114 2001-11-17  Jim Meyering  <meyering@lucent.com>
90115
90116         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
90117         Now, that's done as part of AC_FUNC_STRTOD.
90118
90119 2001-11-17  Jim Meyering  <meyering@lucent.com>
90120
90121         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
90122         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
90123         rather than group writable.  Patch by Juan F. Codagnone.
90124
90125         * lib/readtokens.c: Remove explicit declarations of xmalloc and
90126         xrealloc, Instead, include "xalloc.h".
90127
90128         * lib/mountlist.c: Include unlocked-io.h after all system headers.
90129         Remove explicit declarations of xmalloc, xrealloc,
90130         and xstrdup.  Instead, include "xalloc.h".
90131
90132         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
90133         unlocked-io.h.
90134         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
90135         Likewise.
90136         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
90137
90138         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
90139         Reported by Padraig Brady.
90140
90141         * lib/mkstemp.c: #undef mkstemp.
90142         Include config.h.
90143         (rpl_mkstemp): Rename from mkstemp.
90144         Protoize.
90145
90146 2001-11-16  Jim Meyering  <meyering@lucent.com>
90147
90148         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
90149         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
90150         determine the amount of total physical memory, use pstat_getstatic.
90151         HPUX-11 doesn't define _SC_PHYS_PAGES.
90152         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
90153         If sysconf couldn't be used to determine the amount of available
90154         physical memory, use both pstat_getstatic and pstat_getdynamic.
90155         Based on a patch from Bob Proulx.
90156
90157 2001-11-10  Jim Meyering  <meyering@lucent.com>
90158
90159         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
90160         (jm_PREREQ): Use it.
90161
90162 2001-11-09  Jim Meyering  <meyering@lucent.com>
90163
90164         * m4/jm-macros.m4: Require autoconf-2.52f.
90165         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
90166         Use these AC_-prefixed names, not the AM_-prefixed ones.
90167
90168         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
90169
90170 2001-11-05  Jim Meyering  <meyering@lucent.com>
90171
90172         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
90173
90174 2001-11-04  Jim Meyering  <meyering@lucent.com>
90175
90176         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
90177         $DEFS.
90178
90179 2001-11-03  Jim Meyering  <meyering@lucent.com>
90180
90181         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
90182         of AC_DEFUN.
90183
90184         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
90185         know the name of the variable in the macro definition.
90186
90187 2001-11-03  Jim Meyering  <meyering@lucent.com>
90188
90189         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
90190         in argmatch_to_argument call.
90191
90192         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
90193         argument.
90194
90195         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
90196         e.g., a fault due to an attempt to free a NULL pointer.
90197
90198 2001-11-01  Jim Meyering  <meyering@lucent.com>
90199
90200         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
90201         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
90202
90203 2001-11-01  Jim Meyering  <meyering@lucent.com>
90204
90205         * lib/dirfd.c, lib/dirfd.h: New files.
90206         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
90207
90208         * lib/hash.c (hash_print) [TESTING]: Clean up.
90209
90210 2001-10-22  Paul Eggert  <eggert@twinsun.com>
90211
90212         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
90213         to avoid a warning if -Wall.
90214
90215 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
90216
90217         * README: New file
90218         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
90219         (per RMS's instructions, this is now the canonical source)
90220         * lgpl/, gpl/: New directories.
90221
90222 2001-10-21  Paul Eggert  <eggert@twinsun.com>
90223
90224         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
90225
90226 2001-10-21  Jim Meyering  <meyering@lucent.com>
90227
90228         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
90229         this code would end up calling gettext even in packages built
90230         with --disable-nls.
90231         * lib/getopt.c (_): Likewise.
90232         * lib/regex.c (_): Likewise.
90233
90234 2001-10-20  Paul Eggert  <eggert@twinsun.com>
90235
90236         * m4/error.m4 (jm_PREREQ_ERROR):
90237         Do not invoke AC_CHECK_FUNCS with strerror_r, as
90238         AC_FUNC_STRERROR_R does that.
90239         Check for strerror declaration.
90240
90241         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
90242         are supposed to have them these days.
90243         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
90244         Merge changes from latest Autoconf CVS.
90245         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
90246         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
90247         POSIX decided to standardize on the int flavor of strerror_r.
90248
90249 2001-10-20  Paul Eggert  <eggert@twinsun.com>
90250
90251         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
90252         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
90253         Use strerror_r that is only a macro, even if it is not a function.
90254         (strerror): Check for HAVE_DECL_STRERROR before declaring.
90255         (private_strerror): Use prototypes, not old-style function definition.
90256         (print_errno_message): New function.
90257         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
90258         char*-flavored one.
90259         (error_tail, error, error_at_line): Use it.
90260
90261 2001-10-11  Jim Meyering  <meyering@lucent.com>
90262
90263         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
90264         and quote_n (1, ... to avoid clobbering a buffer.
90265
90266 2001-10-05  Jim Meyering  <meyering@lucent.com>
90267
90268         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
90269         hash-pjw.h.
90270         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
90271         * lib/hash-pjw.h: New file.
90272
90273 2001-09-30  Jim Meyering  <meyering@lucent.com>
90274
90275         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
90276         `struct fsstat' has the `f_fstypename' member.
90277         Use that to define FS_TYPE, which is now used to make
90278         the getfsstat link test tighter.
90279
90280 2001-09-30  Jim Meyering  <meyering@lucent.com>
90281
90282         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
90283         Include <sys/ucred.h>, for Apple Darwin.
90284         Include sys/mount.h and sys/fs_types.h only if available.
90285         (FS_TYPE): Define.
90286         (read_filesystem_list): Use FS_TYPE.
90287
90288 2001-09-29  Paul Eggert  <eggert@twinsun.com>
90289
90290         * lib/exclude.c (excluded_filename): 0 -> false, since it's
90291         a boolean context.
90292
90293 2001-09-29  Jim Meyering  <meyering@lucent.com>
90294
90295         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
90296         [one-argument getmntent function]): Include stdio.h before mntent.h.
90297         SunOS 4.1.x needs it for the declaration of `FILE'.
90298         Patch by Volker Borchert.
90299
90300         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
90301         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
90302         sys/fs_types.h, and make the link-test for getfsstat guard #include
90303         directives with appropriate #if HAVE_*_H tests so that we can
90304         detect getfsstat on Apple Darwin1.3.7 systems.
90305         Reported by Nelson Beebe.
90306         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
90307
90308 2001-09-28  Paul Eggert  <eggert@twinsun.com>
90309
90310         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
90311         #defines strtoimax.  Also treat the other strto* functions
90312         like strtoimax.
90313
90314         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
90315         Check for strtoul and strtoumax,
90316         as those declarations are made even in the signed case.
90317         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
90318         Likewise, for strtol and strtoimax.
90319
90320 2001-09-28  Paul Eggert  <eggert@twinsun.com>
90321
90322         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
90323         #defines strtoimax.  Also treat the other strto* functions
90324         like strtoimax.
90325
90326         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
90327         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
90328         (strtoimax, strtoumax): Do not declare if already defined as a macro.
90329
90330 2001-09-26  Jim Meyering  <meyering@lucent.com>
90331
90332         Most macros in unlocked-io.h had the wrong number of arguments.
90333         * lib/gen-uio: New script.
90334         (USE_UNLOCKED_IO): Define to 1 if not already defined.
90335         * lib/unlocked-io.hin: Remove file.
90336         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
90337         rather than trying to embed it here.
90338         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
90339         Reported by Padraig Brady.
90340
90341 2001-09-25  Volker Borchert  <bt@teknon.de>
90342
90343         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
90344         `result'.
90345
90346 2001-09-24  Jim Meyering  <meyering@lucent.com>
90347
90348         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
90349
90350 2001-09-23  Jim Meyering  <meyering@lucent.com>
90351
90352         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
90353         instead of the mere test for existence of mntent.h.  The latter
90354         would get a false-positive on AIX 3.4 systems.
90355         In the outer getmntent if-block, don't die if neither of the getmntent
90356         tests succeeds.  Instead, just fall through and continue with the
90357         remaining tests.
90358
90359 2001-09-23  Jim Meyering  <meyering@lucent.com>
90360
90361         * lib/mountlist.c: Remove useless parentheses in #if directives.
90362         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
90363         the deprecated MOUNTED symbol is no longer defined in mntent.h.
90364
90365 2001-09-22  Jim Meyering  <meyering@lucent.com>
90366
90367         * m4/gettext.m4: New file.  From gettext.
90368         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
90369         * m4/progtest.m4: Likewise
90370         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
90371         * m4/glibc21.m4: Likewise.
90372
90373         * m4/libintl.m4: Remove.  No longer used.
90374
90375 2001-09-22  Jim Meyering  <meyering@lucent.com>
90376
90377         * lib/localcharset.c: Update from latest gettext.
90378         * lib/config.charset: Likewise.
90379
90380 2001-09-20  Jim Meyering  <meyering@lucent.com>
90381
90382         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
90383         strtoimax.
90384         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
90385         strtoumax.
90386
90387 2001-09-20  Jim Meyering  <meyering@lucent.com>
90388
90389         * lib/xstrtol.c (strtoimax): Guard declaration with
90390         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
90391         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
90392         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
90393         (strtoumax): Likewise, for completeness (it wasn't necessary).
90394
90395 2001-09-17  Paul Eggert  <eggert@twinsun.com>
90396
90397         * lib/strtoimax.c (HAVE_LONG_LONG):
90398         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
90399         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
90400         to work around bug in IBM C compiler.
90401
90402 2001-09-17  Jim Meyering  <meyering@lucent.com>
90403
90404         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
90405         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
90406         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
90407         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
90408         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
90409         whenever the right hand side need not be expanded by the shell.
90410
90411 2001-09-16  Paul Eggert  <eggert@twinsun.com>
90412
90413         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
90414         library.  It's not correct, as some older glibcs are buggy.
90415         fnmatch wasn't fixed until glibc 2.2.
90416
90417         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
90418         special shell magic here.
90419
90420 2001-09-16  Jim Meyering  <meyering@lucent.com>
90421
90422         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
90423         * m4/jm-macros.m4: Require it.
90424
90425 2001-09-16  Jim Meyering  <meyering@lucent.com>
90426
90427         * lib/mkdir.c: New file.
90428
90429 2001-09-15  Jim Meyering  <meyering@lucent.com>
90430
90431         * m4/jm-macros.m4: Check for help2man.
90432
90433 2001-09-11  Jim Meyering  <meyering@lucent.com>
90434
90435         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
90436         The body, by Paul Eggert, was moved here from configure.in.
90437         * m4/jm-macros.m4: Require UTILS_HOST_OS.
90438
90439 2001-09-04  Paul Eggert  <eggert@twinsun.com>
90440
90441         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
90442         (jm_PREREQ): Use it.
90443
90444 2001-09-04  Paul Eggert  <eggert@twinsun.com>
90445
90446         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
90447         Use ssize_t, not int, to store result of readlink.
90448         Check for ssize_t overflow as well as size_t overflow,
90449         as POSIX says the result of readlink is implementation-defined
90450         when ssize_t overflows.
90451         Remove unnecessary cast to char*.
90452         Use free+malloc instead of realloc, as the storage doesn't need
90453         to be preserved and it's clearer and can be more efficient that way.
90454         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
90455         * lib/xreadlink.h (xreadlink): Update prototype.
90456
90457 2001-09-04  Paul Eggert  <eggert@twinsun.com>
90458
90459         * lib/xgetcwd.c: Revert some of the previous change; intead,
90460         fix the HAVE_GETCWD_NULL code to behave more like the
90461         !HAVE_GETCWD_NULL code used to.
90462
90463         Include "xalloc.h".
90464         (xgetcwd): Do not return NULL when memory is exhausted; instead,
90465         invoke xalloc_die.
90466
90467 2001-09-03  Paul Eggert  <eggert@twinsun.com>
90468
90469         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
90470         sys/param.h, as pathmax.h includes them.
90471
90472 2001-09-03  Paul Eggert  <eggert@twinsun.com>
90473
90474         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
90475         (jm_PREREQ_XGETCWD): New macro.
90476
90477         * m4/getcwd.m4: New file.
90478
90479 2001-09-03  Paul Eggert  <eggert@twinsun.com>
90480
90481         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
90482         like the HAVE_GETCWD_NULL code.
90483         Include pathmax.h if not HAVE_GETCWD.
90484         Do not include xalloc.h.
90485         (INITIAL_BUFFER_SIZE): New symbol.
90486         Do not use xmalloc / xrealloc, since the caller is responsible for
90487         handling errors.  Preserve errno around `free' during failure.
90488         Do not overrun buffer when using getwd.
90489
90490 2001-09-03  Paul Eggert  <eggert@twinsun.com>
90491
90492         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
90493         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
90494         getcwd (NULL, 0).
90495
90496 2001-09-03  Paul Eggert  <eggert@twinsun.com>
90497
90498         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
90499         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
90500         spotted by Jim Meyering.
90501
90502 2001-09-03  Jim Meyering  <meyering@lucent.com>
90503
90504         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
90505         failure.
90506
90507 2001-09-02  Jim Meyering  <meyering@lucent.com>
90508
90509         * lib/error.c: Update from GNU libc.
90510
90511 2001-09-01  Jim Meyering  <meyering@lucent.com>
90512
90513         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
90514         Used by df.
90515
90516 2001-09-01  Jim Meyering  <meyering@lucent.com>
90517
90518         * lib/xreadlink.c: New file.
90519         * lib/xreadlink.h: New file.
90520         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
90521         xreadlink.h.
90522
90523         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
90524         doesn't conflict with sparc Solaris 7's definition in
90525         /usr/include/sys/int_types.h.
90526
90527         * lib/exclude.c: Use `""', not `<>' to #include non-system header
90528         files.
90529         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
90530         and strncasecmp as r-values.  Unixware didn't have declarations.
90531
90532 2001-08-31  Paul Eggert  <eggert@twinsun.com>
90533
90534         * lib/xstrtol.h: Add copyright notice.
90535         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
90536         LONGINT_INVALID_SUFFIX_CHAR.
90537
90538 2001-08-31  Paul Eggert  <eggert@twinsun.com>
90539
90540         * lib/xstrtol.c (strtoimax): New decl.
90541
90542 2001-08-31  Paul Eggert  <eggert@twinsun.com>
90543
90544         * lib/xgetcwd.c: Don't include pathmax.h.
90545         Include stdlib.h and unistd.h if available.
90546         Include xalloc.h.
90547         (xmalloc, xstrdup, free): Remove decls.
90548         (xgetcwd): Don't assume sizes fit in unsigned.
90549         Check for overflow when computing sizes.
90550         Simplify reallocation code.
90551
90552 2001-08-31  Paul Eggert  <eggert@twinsun.com>
90553
90554         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
90555         a directory's st_size can have an arbitrary value, so the old
90556         usage could waste an arbitrary amount of memory.  All uses
90557         changed.
90558         * lib/savedir.h: Update prototype.
90559
90560 2001-08-31  Paul Eggert  <eggert@twinsun.com>
90561
90562         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
90563
90564         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
90565         old strtoimax.c.
90566
90567         Also, make the following further changes to make this file's
90568         configuration more similar to that of strtol.c:
90569         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
90570         (strtoumax, uintmax_t, strtoull, strtol): Remove.
90571         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
90572         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
90573         changed to signed values.
90574
90575         And make the following changes as well:
90576         Fix copyright notice, as 1999 was missing.
90577         (verify): New macro.
90578         (strtoimax): Check sizes at compile-time, not run-time.
90579         Prefer strtol to strtoll if both work.
90580         (main): Remove; it was not that useful and was a pain to maintain.
90581
90582         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
90583
90584 2001-08-31  Jim Meyering  <meyering@lucent.com>
90585
90586         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
90587         Use an initial, malloc'd, buffer of length 128 rather than
90588         a statically allocated one of length 1024.
90589
90590 2001-08-30  Paul Eggert  <eggert@twinsun.com>
90591
90592         Simplify code, partly by assuming autoconf 2.52 semantics.
90593
90594         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
90595
90596         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
90597         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
90598         All uses removed.
90599         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
90600         Move AC_REQUIRE to next-to-top level, to avoid confusion.
90601         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
90602         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
90603         jm_AC_HEADER_INTTYPES_H.
90604         * m4/jm-macros.m4 (jm_MACROS): Likewise.
90605
90606         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
90607
90608         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
90609         Quote first arg of AC_DEFUN.
90610         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
90611         since they are needed to parse the include file even if we need
90612         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
90613         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
90614         but with opposite signedness.
90615
90616 2001-08-30  Paul Eggert  <eggert@twinsun.com>
90617
90618         Merge 'exclude' changes from tar 1.13.22.
90619         This fixes one or two unlikely storage allocation overflow bugs,
90620         but doesn't change user-visible behavior otherwise.
90621
90622 2001-08-30  Paul Eggert  <eggert@twinsun.com>
90623
90624         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
90625         (jm_PREREQ_EXCLUDE): New macro.
90626
90627 2001-08-30  Paul Eggert  <eggert@twinsun.com>
90628
90629         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
90630         tm to be declared.
90631
90632 2001-08-30  Paul Eggert  <eggert@twinsun.com>
90633
90634         * lib/hash.c: Remove '2001' from copyright notice.
90635
90636 2001-08-30  Paul Eggert  <eggert@twinsun.com>
90637
90638         * lib/full-write.h: New file.
90639         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
90640         * lib/full-write.c: Correct credits, as cccp.c no longer
90641         exists and anyway it was so heavily changed from the old cccp
90642         code as to be unrecognizable.  Include full-write.h.
90643         (full_write): Return size_t, with short writes meaning failure.
90644         All callers changed.  This fixes a bug with large buffers
90645         on 64-bit hosts.
90646         * lib/utime.c: Include full-write.h.
90647
90648 2001-08-30  Paul Eggert  <eggert@twinsun.com>
90649
90650         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
90651         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
90652         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
90653         Include if available.
90654         (<xalloc.h>): Include
90655         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
90656         (verify): New macro.  Use it to verify that EXCLUDE macros do not
90657         collide with FNM macros.
90658         (struct patopts): New struct.
90659         (struct exclude): Use it, as exclude patterns now come with options.
90660         (new_exclude): Support above changes.
90661         (new_exclude, add_exclude_file):
90662         Initial size must now be a power of two to simplify overflow checking.
90663         (free_exclude, fnmatch_no_wildcards): New function.
90664         (excluded_filename): No longer requires options arg, as the options
90665         are determined by add_exclude.  Now returns bool, not int.
90666         (excluded_filename, add_exclude):
90667         Add support for the fancy new exclusion options.
90668         (add_exclude, add_exclude_file): Now takes int options arg.
90669         Check for arithmetic overflow when computing sizes.
90670         (add_exclude_file): xrealloc might modify errno, so don't
90671         realloc until after errno might be used.
90672
90673         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
90674         New macros.
90675         (free_exclude): New decl.
90676         (add_exclude, add_exclude_file): Now takes int options arg.
90677         (excluded_filename): No longer requires options arg, as the options
90678         are determined by add_exclude.  Now returns bool, not int.
90679
90680 2001-08-30  Paul Eggert  <eggert@twinsun.com>
90681
90682         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
90683
90684 2001-08-27  Jim Meyering  <meyering@lucent.com>
90685
90686         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
90687
90688         * lib/version-etc.c (N_): Remove definition.
90689         Revert most of last change.
90690         Instead, simply don't mark the `Copyright...' string for translation.
90691         Based on advice from Paul Eggert.
90692
90693         * lib/strtoxmax.c: Tweak comment.
90694
90695 2001-08-26  Jim Meyering  <meyering@lucent.com>
90696
90697         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
90698
90699         * m4/xstrtoimax.m4: New file.
90700         * m4/xstrtoumax.m4: Add comments explaining why we
90701         AC_REPLACE_FUNCS(strtol).
90702
90703 2001-08-26  Jim Meyering  <meyering@lucent.com>
90704
90705         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
90706         of copyright with `%s' so translators don't get an untranslated
90707         message in 2002.
90708         (COPYRIGHT_YEAR): Define.
90709         (version_etc): Use fprintf rather than fputs.
90710         Suggestion from Ulrich Drepper.
90711
90712         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
90713
90714         * lib/strtoll.c: New file, from GNU libc.
90715         * lib/xstrtoimax.c: New file.
90716
90717         * lib/xstrtol.h: Add xstrtoimax.
90718         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
90719         * lib/strtoimax.c: New file.  Likewise, but first define
90720         STRTOUXMAX_SIGNED.
90721
90722         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
90723         ...
90724         * lib/strtoxmax.c: ... then renamed to this.
90725
90726 2001-08-18  Paul Eggert  <eggert@twinsun.com>
90727
90728         * m4/inttypes.m4: Add AC_PREREQ(2.13).
90729         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
90730         (jm_AC_TYPE_INTMAX_T): New macro.
90731         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
90732
90733         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
90734
90735         * m4/longlong.m4: Renamed from ulonglong.m4.
90736         * m4/inttypes.m4: Renamed from inttypes_h.m4.
90737         * m4/uintmax_t.m4: Removed.
90738
90739 2001-08-13  Paul Eggert  <eggert@twinsun.com>
90740
90741         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
90742         Port to Solaris 8, where 'sed' requires a space after the 'r'
90743         command, and where sh dislikes "$/".  Clean up the spacing a bit.
90744         Redirect output to $tmp just once.
90745
90746 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
90747
90748         * lib/addext.c (<errno.h>): Include.
90749         (errno): Declare if not defined.
90750         (addext): Work correctly when pathconf returns -1 and leaves
90751         errno alone because there is no limit.  Also, work even if
90752         pathconf returns a value greater than SIZE_MAX.
90753
90754 2001-08-12  Jim Meyering  <meyering@lucent.com>
90755
90756         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
90757         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
90758         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
90759         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
90760         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
90761         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
90762         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
90763         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
90764         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
90765         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
90766         utime.m4, utimes.m4, xstrtoumax.m4:
90767         Quote the first argument in each use of AC_DEFUN.
90768
90769 2001-08-12  Jim Meyering  <meyering@lucent.com>
90770
90771         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
90772         Simply `return getcwd (NULL, 0);'.
90773         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
90774         Use 1300 as initial value for length, not PATH_MAX.
90775
90776         * lib/pathmax.h: Clean up cpp syntax.
90777
90778 2001-08-12  Jim Meyering  <meyering@lucent.com>
90779
90780         * lib/gettimeofday.c: New file.
90781         * lib/gtod.h: New file.
90782         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
90783
90784 2001-08-05  Jim Meyering  <meyering@lucent.com>
90785
90786         * m4/jm-macros.m4: Require autoconf-2.52.
90787
90788 2001-08-04  Jim Meyering  <meyering@lucent.com>
90789
90790         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
90791         stmt, to get in sync with glibc.
90792
90793 2001-08-03  Paul Eggert  <eggert@twinsun.com>
90794
90795         The following changes are from gettext 0.10.39 as maintained by
90796         Bruno Haible.
90797
90798         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
90799         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
90800         with inverted sense.  All uses changed.
90801
90802         * lib/mbswidth.c: Don't include <limits.h>.
90803         Include <stdlib.h> and <string.h> unconditionally.
90804         (iswcntrl, mbsinit, ISCNTRL): New macros.
90805         (mbsnwidth): Use K&R style function declarations.
90806         Don't bother checking for MB_LEN_MAX == 1, since the compiler
90807         can optimize it when MB_CUR_MAX == 1.
90808         The width of control characters is zero, not 1.
90809
90810 2001-08-03  Paul Eggert  <eggert@twinsun.com>
90811
90812         The following changes are from gettext 0.10.39 as maintained by
90813         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
90814
90815         * m4/codeset.m4: Upgrade to serial AM1.
90816         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
90817         all uses changed.  Quote first arg of AC_DEFUN.
90818         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
90819
90820         * m4/iconv.m4: Upgrade to serial AM2.
90821         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
90822         Add --with-libconv-prefix.
90823         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
90824         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
90825         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
90826         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
90827         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
90828
90829         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
90830         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
90831         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
90832         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
90833         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
90834         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
90835         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
90836         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
90837         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
90838
90839         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
90840         string.h any more.
90841
90842         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
90843         not the default value.
90844
90845         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
90846         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
90847         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
90848         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
90849         Also check for iswcntrl, used for wcwidth fallback.
90850         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
90851         to Autoconf 2.13.
90852
90853 2001-08-03  Jim Meyering  <meyering@lucent.com>
90854
90855         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
90856         as it was in the original.  Reported by Paul Eggert.
90857
90858 2001-07-16  Jim Meyering  <meyering@lucent.com>
90859
90860         * m4/gettimeofday.m4: New file.
90861         Prompted by a report from Bernhard Baehr.
90862
90863 2001-07-15  Jim Meyering  <meyering@lucent.com>
90864
90865         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
90866         stuff. Now it's in ../Makefile.cfg.
90867
90868 2001-07-15  Jim Meyering  <meyering@lucent.com>
90869
90870         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
90871         (BUILT_SOURCES): Add unlocked-io.h.
90872         (io_functions): Define.
90873         (unlocked-io.h): New rule.
90874         (DISTCLEANFILES): Add unlocked-io.h.
90875         (all-local): Depend on unlocked-io.h, to ensure it is created.
90876
90877         * lib/unlocked-io.hin: New file
90878
90879         * lib/regex.c: Update from glibc.
90880
90881 2001-07-05  Jim Meyering  <meyering@lucent.com>
90882
90883         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
90884         recommendation.
90885         (libfetish_a_SOURCES): Put all .h files here instead.
90886         Remove a thus-exposed (better checks in automake) duplicate and
90887         two unnecessary .h files.
90888
90889 2001-07-04  Jim Meyering  <meyering@lucent.com>
90890
90891         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
90892         that generates jm-glibc-io.m4 so that it doesn't trigger any make
90893         distcheck failure.
90894
90895 2001-07-02  Jim Meyering  <meyering@lucent.com>
90896
90897         The following changes were prompted by suggestions from Bruno Haible.
90898
90899         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
90900         is now generated.
90901         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
90902         definition of EXTRA_DIST.
90903         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
90904         ensure that the generated file is created/updated whenever the list
90905         of $(unlocked_functions) is changed.
90906         (jm-glibc-io.m4): New rule.
90907         (unlocked-io.h): New rule -- currently unused.
90908
90909 2001-06-24  Jim Meyering  <meyering@lucent.com>
90910
90911         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
90912         unmatched right bracket, rather than kludging it with an extra,
90913         falsely-matching quote in a comment.  Patch by Akim Demaille.
90914
90915 2001-06-11  Jim Meyering  <meyering@lucent.com>
90916
90917         * lib/regex.c: Update from GNU libc.
90918
90919 2001-05-27  Jim Meyering  <meyering@lucent.com>
90920
90921         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
90922         Check for ut_type in struct utmp.
90923
90924 2001-05-27  Jim Meyering  <meyering@lucent.com>
90925
90926         * lib/readutmp.h (UT_TYPE): Define.
90927
90928 2001-05-24  Jim Meyering  <meyering@lucent.com>
90929
90930         * lib/argmatch.c: Include "quote.h".
90931         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
90932         quote function.  Reported by Göran Uddeborg.
90933
90934 2001-05-22  Jim Meyering  <meyering@lucent.com>
90935
90936         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
90937         now that we use the package-supplied version unconditionally.
90938         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
90939
90940 2001-05-21  Jim Meyering  <meyering@lucent.com>
90941
90942         * m4/regex.m4: Change a couple backticks to single quotes to avoid
90943         shell syntax errors.
90944
90945 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
90946
90947         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
90948
90949 2001-05-20  Paul Eggert  <eggert@twinsun.com>
90950
90951         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
90952         Don't bother to check library strftime, since
90953         we'll be using our own my_strftime function anyway.
90954         Define my_strftime instead of strftime.
90955
90956 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
90957
90958         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
90959         which is not yet declared.
90960
90961 2001-05-15  Jim Meyering  <meyering@lucent.com>
90962
90963         * m4/regex.m4: Use proper quoting so brackets appear in the test
90964         program.
90965         Reported by, and with help from, Bruno Haible.
90966
90967 2001-05-13  Jim Meyering  <meyering@lucent.com>
90968
90969         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
90970         undefined.
90971
90972 2001-05-11  Paul Eggert  <eggert@twinsun.com>
90973
90974         dirname code cleanup.  base_name now behaves more compatibly
90975         with POSIX basename when given file names that have trailing
90976         slashes, and similarly for dir_name.  Add new primitives
90977         base_len and dir_len.  Put the directory-name-related decls
90978         into dirname.h.
90979
90980         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
90981         * lib/backupfile.c (base_name): Likewise.
90982         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
90983         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
90984         * lib/makepath.c (strip_trailing_slashes): Likewise.
90985         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
90986         ISSLASH): Likewise.
90987         * lib/rename.c (strip_trailing_slashes): Likewise.
90988         * lib/same.c (base_name): Likewise.
90989         * lib/stripslash.c (ISSLASH): Likewise.
90990
90991         * lib/addext.c: Include <dirname.h> after size_t is defined.
90992         * lib/backupfile.c: Likewise.
90993
90994         * lib/addext.c (addext): Use base_len to trim redundant
90995         trailing slashes instead of doing it ourselves.
90996         But do not trim the last slash if it is not redundant.
90997
90998         * lib/backupfile.c (find_backup_file_name,
90999         max_backup_version): Use base_len instead of rolling it ourselves.
91000         Handle the case of "" and (on DOS) "C:" correctly.
91001
91002         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
91003         needed. Include <string.h>, <dirname.h>.
91004         (base_name): Allow file names ending in slashes, other than names
91005         that are all slashes.  In this case, return the basename followed
91006         by the slashes.  This is more general, and can be used in places
91007         where the original base_name purposely had an assertion failure.
91008         (base_len): New function.
91009
91010         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
91011         Do not include <assert.h>; no longer needed.
91012         Include xalloc.h.
91013         (memrchr): Remove decl.
91014         (dir_name_r): Remove.
91015         (dir_len): Renamed from dirlen.  All callers changed.
91016         Rewrite in terms of base_name, for simplicity and consistency.
91017         (dir_name): Never return NULL.  All callers changed.
91018         Do not include <stdlib.h> in test program; no longer needed.
91019         return 0; is fine for test program.
91020
91021         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
91022         New macros.
91023         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
91024
91025         * lib/path-concat.c (path_concat): Use base_len to compute
91026         base length, not strlen; this means we cannot rely on memcpy
91027         to null-terminate.
91028
91029         * lib/same.c (STREQ): Remove.
91030         (same_name): Handle the case where the basename ends in trailing '/'.
91031
91032         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
91033         a slash was stripped.  Do not strip the last slash after a
91034         file system prefix.
91035
91036 2001-05-11  Paul Eggert  <eggert@twinsun.com>
91037
91038         * lib/Makefile.am (libfetish_a_SOURCES):
91039         Add strftime.c, since we now compile it on all hosts.
91040
91041         * lib/strftime.c (my_strftime):
91042         Define to nstrftime if emacs, but only if my_strftime is not defined.
91043         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
91044         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
91045         Add one more extra argument: a nanoseconds value.
91046         All uses changed.
91047         (ns): New macro.
91048         (my_strftime function): Add %N format.
91049         (emacs_strftimeu): Renamed from emacs_strftime,
91050         with extra ut argument.
91051
91052 2001-05-09  Paul Eggert  <eggert@twinsun.com>
91053
91054         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
91055
91056 2001-04-21  Jim Meyering  <meyering@lucent.com>
91057
91058         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
91059         doesn't interfere.
91060
91061 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
91062
91063         * m4/ftruncate.m4: Check for chsize.
91064         Link with ftruncate.o unconditionally if ftruncate is missing.
91065         This was required when cross-compiling to i586-mingw32msvc.
91066
91067 2001-04-08  Jim Meyering  <meyering@lucent.com>
91068
91069         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
91070         recomputed; that's necessary when the offset spans a DST transition.
91071         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
91072
91073 2001-04-02  Jim Meyering  <meyering@lucent.com>
91074
91075         * lib/regex.h, regex.c: Update from GNU libc.
91076
91077 2001-03-24  Jim Meyering  <meyering@lucent.com>
91078
91079         * m4/jm-macros.m4: Require autoconf-2.49d.
91080
91081 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
91082
91083         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
91084
91085 2001-03-19  Paul Eggert  <eggert@twinsun.com>
91086
91087         * lib/version-etc.c (version_etc_copyright): Update to 2001.
91088
91089 2001-03-17  Jim Meyering  <meyering@lucent.com>
91090
91091         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
91092         now that the version in autoconf is equivalent.
91093         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
91094
91095         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
91096         Suggestion from Akim Demaille.
91097
91098         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
91099         (jm_PREREQ_TEMPNAME): New function.
91100
91101 2001-03-16  Paul Eggert  <eggert@twinsun.com>
91102
91103         * lib/tempname.c (uint64_t): Define to uintmax_t if
91104         not defined, and if UINT64_MAX is not defined.
91105         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
91106         Reported by John David Anglin.
91107
91108 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
91109
91110         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
91111         resolve alias if codeset is empty.
91112         * lib/config.charset (BeOS): Use wildcard syntax.
91113
91114 2001-03-13  Jim Meyering  <meyering@lucent.com>
91115
91116         * lib/path-concat.c (path_concat)
91117         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
91118         concatenating e.g., `C:' and `foo'.
91119         From Bruno Haible.
91120
91121 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
91122
91123         * lib/localcharset.c (locale_charset): Don't use
91124         setlocale(LC_CTYPE,NULL). Don't return NULL.
91125         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
91126
91127 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
91128
91129         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
91130         support for DOS/DJGPP.
91131
91132 2001-03-01  Paul Eggert  <eggert@twinsun.com>
91133
91134         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
91135         lacks mkstemp.  Compile our own tempname.c if we compile our own
91136         mkstemp.c, as mkstemp relies on tempname.
91137
91138 2001-03-01  Jim Meyering  <meyering@lucent.com>
91139
91140         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
91141         AH_VERBATIM really does output its argument verbatim.
91142
91143 2001-02-28  Paul Eggert  <eggert@twinsun.com>
91144
91145         * lib/Makefile.am (libfetish_a_SOURCES):
91146         Add dup-safer.c, fopen-safer.c.
91147         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
91148
91149         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
91150         * lib/unistd-safer.h: New files.
91151
91152 2001-02-25  Paul Eggert  <eggert@twinsun.com>
91153
91154         The mkstemp replacement is taken from glibc 2.2.2, with some
91155         portability fixes for use outside glibc, as follows:
91156
91157         * lib/tempname.c (struct_stat64): New macro.
91158         (direxists, __gen_tempname): Use it.
91159         This avoids a portability problem with Solaris 8.
91160
91161         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
91162         (<stddef.h>, <stdint.h>, <string.h>):
91163         Include only if STDC_HEADERS || _LIBC.
91164         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
91165         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
91166         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
91167         (__set_errno): Define this macro if <errno.h> doesn't.
91168         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
91169         Define these macros if <stdio.h> doesn't.
91170         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
91171         Define these macros if <sys/stat.h>
91172         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
91173         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
91174         __xstat64): Define if not _LIBC.
91175         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
91176         (__gen_tempname): Invoke gettimeofday only if
91177         HAVE_GETTIMEOFDAY || _LIBC;
91178         otherwise, fall back on plain "time".
91179         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
91180
91181         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
91182
91183         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
91184
91185 2001-02-18  Paul Eggert  <eggert@twinsun.com>
91186
91187         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
91188
91189 2001-02-17  Paul Eggert  <eggert@twinsun.com>
91190
91191         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
91192         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
91193         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
91194         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
91195
91196 2001-02-17  Paul Eggert  <eggert@twinsun.com>
91197
91198         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
91199         Remove workaround macros for hosts that have mbrtowc but not
91200         mbstate_t, as we now insist on proper declarations for both
91201         before using mbrtowc.
91202
91203 2001-02-17  Jim Meyering  <meyering@lucent.com>
91204
91205         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
91206         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
91207         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
91208         UnixWare 7.1.1.
91209
91210         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
91211         rather than AC_CACHE_VAL.
91212
91213 2001-02-17  Jim Meyering  <meyering@lucent.com>
91214
91215         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
91216         around included file name.
91217
91218         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
91219
91220         * lib/strftime.c: Update from GNU libc (the only changes were to
91221         comments).
91222
91223 2001-02-17  Jim Meyering  <meyering@lucent.com>
91224
91225         * lib/regex.c: Update from libc.
91226
91227 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
91228
91229         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
91230         clash.
91231
91232 2001-02-16  Paul Eggert  <eggert@twinsun.com>
91233
91234         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
91235         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
91236         Reported by Mark Hounschell via Paul Eggert.
91237
91238 2001-02-07  Jim Meyering  <meyering@lucent.com>
91239
91240         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
91241
91242 2001-02-05  Jim Meyering  <meyering@lucent.com>
91243
91244         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
91245         it includes the patch required for `large file' support with at least
91246         HP-UX's 10.20 /bin/cc.
91247
91248 2001-02-03  Jim Meyering  <meyering@lucent.com>
91249
91250         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
91251         AS_IF, now that it works once again (mysteriously).
91252         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
91253
91254 2001-01-30  Jim Meyering  <meyering@lucent.com>
91255
91256         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
91257         * m4/chown.m4: Rename conftestchown to conftest.chown.
91258         * m4/rename.m4: s/conftestdir/conftest.d1/ and
91259         s/conftestdir2/conftest.d2/.
91260         * m4/utimes.m4: s/conftestdata/conftest.data/
91261         Inspired by Pavel Roskin's change in autoconf.
91262
91263 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
91264
91265         * lib/config.charset: Update for FreeBSD 4.2.
91266
91267 2001-01-27  Jim Meyering  <meyering@lucent.com>
91268
91269         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
91270         a use of AS_IF.
91271         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
91272
91273 2001-01-26  Jim Meyering  <meyering@lucent.com>
91274
91275         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
91276         quotearg.c includes it.
91277
91278 2001-01-26  Jim Meyering  <meyering@lucent.com>
91279
91280         * lib/quotearg.c: Include stddef.h.
91281         * lib/quote.c: Include stddef.h.
91282         Reported by Axel Kittenberger.
91283
91284         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
91285         line in double quotes so that it evokes a better diagnostic.
91286         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
91287         Reported by Axel Kittenberger.
91288
91289 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
91290
91291         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
91292         as if it was a `charset'.
91293
91294 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
91295
91296         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
91297         has const.
91298
91299 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
91300
91301         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
91302         to avoid a warning.  Add back 'const' to inptr.
91303
91304 2001-01-20  Jim Meyering  <meyering@lucent.com>
91305
91306         Be sure that headers are checked before used in code compiled
91307         for the type checks.
91308         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
91309         In place of that, invoke jm_CHECK_ALL_TYPES.
91310         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
91311         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
91312         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
91313         The check for ssize_t was mistakenly run before the test for unistd.h.
91314
91315         The configure-time check for stdbool.h was missing.
91316         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
91317         (jm_PREREQ_HASH): New function.
91318
91319 2001-01-17  Jim Meyering  <meyering@lucent.com>
91320
91321         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
91322         for autoconf-2.49c.
91323         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
91324
91325 2001-01-16  Jim Meyering  <meyering@lucent.com>
91326
91327         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
91328         From Bruno Haible.
91329
91330 2001-01-14  Jim Meyering  <meyering@lucent.com>
91331
91332         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
91333         foo and bar.  Create conftestdir/ in the script, not in the C code.
91334         Remove directories in the script, not in the C code.
91335         Remove conftestdir{,2} before trying to create the directory.
91336         Make the entire configure script fail if the mkdir fails.
91337
91338 2001-01-14  Jim Meyering  <meyering@lucent.com>
91339
91340         * lib/rename.c: New file.  From Volker Borchert.
91341         Include stdlib.h, string.h or strings.h, and xalloc.h.
91342         Use strip_trailing_slashes rather than open-coding it.
91343
91344 2001-01-03  Paul Eggert  <eggert@twinsun.com>
91345
91346         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
91347
91348 2001-01-03  Jim Meyering  <meyering@lucent.com>
91349
91350         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
91351         of local `inptr' to avoid warning with some system declarations of
91352         iconv.
91353
91354 2001-01-02  Volker Borchert  <bt@teknon.de>
91355
91356         * m4/rename.m4: New file.
91357         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
91358
91359 2001-01-01  Jim Meyering  <meyering@lucent.com>
91360
91361         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
91362         even on systems with utmpx.h.  It's necessary for the declaration of
91363         utmp's ut_user member.  Reported by Andreas Jaeger.
91364
91365         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
91366         available. They are required for the declarations of getgrgid and
91367         getpwuid resp.
91368         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
91369         Reported by Andreas Jaeger.
91370
91371 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
91372
91373         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
91374         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
91375         so `make install' also works in VPATH builds.
91376
91377 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
91378
91379         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
91380         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
91381         can be used in subdirectories.
91382
91383 2000-12-29  Paul Eggert  <eggert@twinsun.com>
91384
91385         * lib/modechange.c: Do not assume that mode_t uses the
91386         traditional octal encoding.  E.g. "chmod 1 FOO" should set
91387         the other-execute bit of FOO even if S_IXOTH != 1.
91388
91389         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
91390         WOTH, XOTH, ALLM): New macros.
91391         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
91392          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
91393         Use them.
91394         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
91395         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
91396         (mode_compile):
91397         No need to use uintmax_t; unsigned long is long enough.
91398         Don't bother to get suffix since we don't use it.
91399
91400 2000-12-26  Jim Meyering  <meyering@lucent.com>
91401
91402         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
91403         better with autoheader.
91404
91405 2000-12-24  Jim Meyering  <meyering@lucent.com>
91406
91407         * lib/hash.c (is_prime): Return explicit boolean values.
91408         (hash_get_first): Return NULL to appease Irix5.6's 89.
91409         Reported by Nelson Beebe.
91410
91411 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
91412
91413         * lib/localcharset.c (locale_charset): Add support for Win32.
91414
91415 2000-12-18  Paul Eggert  <eggert@twinsun.com>
91416
91417         * lib/physmem.h, lib/physmem.c: New files.
91418
91419         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
91420         (noinst_HEADERS): Add physmem.h.
91421
91422         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
91423         't' for compatibility with Solaris 8 sort.
91424
91425 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
91426
91427         * lib/config.charset: Add support for BeOS.
91428
91429 2000-12-17  Jim Meyering  <meyering@lucent.com>
91430
91431         * m4/dos.m4 (jm_AC_DOS): New file and macro.
91432         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
91433
91434 2000-12-16  Jim Meyering  <meyering@lucent.com>
91435
91436         This bug had a serious impact on chown: `chown N:M FILE' (for integer
91437         N and M) would have treated it like `chown N:N FILE'.
91438
91439         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
91440
91441 2000-12-16  Jim Meyering  <meyering@lucent.com>
91442
91443         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
91444         SHELLS_FILE to a file name that's useful on djgpp systems.
91445         Include stdlib.h.
91446         (ADDITIONAL_DEFAULT_SHELLS): Define.
91447         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
91448         Based mostly on a patch from Prashant TR.
91449
91450 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
91451
91452         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
91453         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
91454         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
91455
91456 2000-12-08  Andreas Schwab  <schwab@suse.de>
91457
91458         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
91459         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
91460
91461 2000-12-07  Jim Meyering  <meyering@lucent.com>
91462
91463         * lib/stripslash.c (ISSLASH): Define.
91464         (strip_trailing_slashes): Use ISSLASH rather than comparing against
91465         `/'.
91466         From Prashant TR.
91467
91468         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
91469         (dir_name_r): Declare this function as static.
91470         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
91471         manifest itself on a name containing a mix of slashes and
91472         backslashes.
91473         Make this function work with names starting with a DOS-style
91474         drive letter and colon prefix.
91475         (dir_name): Append `.' if necessary.
91476         Based mostly on patches from Prashant TR and Eli Zaretskii.
91477
91478         * lib/dirname.h (dir_name_r): Remove prototype.
91479
91480 2000-12-06  Paul Eggert  <eggert@twinsun.com>
91481
91482         * m4/off_t-format.m4: Remove this file.
91483         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
91484
91485 2000-12-06  Jim Meyering  <meyering@lucent.com>
91486
91487         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
91488         replacement strtoull, we may well need the replacement strtoul, too.
91489         Check for declarations of strtoul and strtoull.
91490         Check for strtol.  Mainly as a cue to cause automake to include
91491         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
91492         Check for limits.h -- strtol.c needs it.
91493
91494 2000-12-05  Jim Meyering  <meyering@lucent.com>
91495
91496         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
91497
91498 2000-12-04  Jim Meyering  <meyering@lucent.com>
91499
91500         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
91501         Also include memory.h, stdlib.h, unistd.h if appropriate.
91502         Reported by Andreas Jaeger (conflicting declaration of malloc).
91503
91504 2000-12-02  Jim Meyering  <meyering@lucent.com>
91505
91506         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
91507         * m4/jm-macros.m4 (jm_MACROS): require it.
91508
91509 2000-12-02  Jim Meyering  <meyering@lucent.com>
91510
91511         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
91512
91513 2000-12-01  Paul Eggert  <eggert@twinsun.com>
91514
91515         * lib/memrchr.c: Include <config.h> before any system include file.
91516
91517 2000-11-30  Jim Meyering  <meyering@lucent.com>
91518
91519         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
91520
91521 2000-11-30  Jim Meyering  <meyering@lucent.com>
91522
91523         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
91524
91525 2000-11-29  Paul Eggert  <eggert@twinsun.com>
91526
91527         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
91528
91529 2000-11-26  Jim Meyering  <meyering@lucent.com>
91530
91531         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
91532
91533 2000-11-22  Paul Eggert  <eggert@twinsun.com>
91534
91535         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
91536         size of (size_t) -1; it's not portable.
91537
91538 2000-11-17  Jim Meyering  <meyering@lucent.com>
91539
91540         * lib/strstr.c: Update from GNU libc.
91541
91542 2000-11-17  Akim Demaille  <akim@epita.fr>
91543
91544         * lib/obstack.h: Formatting changes.
91545         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
91546         prevent type checking.
91547         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
91548         cast the value to (void *): assigning a `foo *' to a `void *'
91549         variable is valid.
91550         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
91551
91552 2000-11-16  Jim Meyering  <meyering@lucent.com>
91553
91554         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
91555
91556 2000-11-11  Jim Meyering  <meyering@lucent.com>
91557
91558         * lib/error.c: Add a couple #includes, merging from GNU libc version.
91559
91560 2000-11-10  Jim Meyering  <meyering@lucent.com>
91561
91562         * lib/obstack.h: Update from GNU libc.
91563         * lib/obstack.c: Likewise.
91564
91565 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
91566
91567         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
91568
91569 2000-11-06  Paul Eggert  <eggert@twinsun.com>
91570
91571         * lib/getusershell.c (setusershell): Use rewind rather than
91572         fseek/fseeko, to avoid configuration hassles with fseeko.
91573         Don't bother opening SHELLS_FILE if shellstream is NULL;
91574         it's not necessary.
91575
91576 2000-11-05  Jim Meyering  <meyering@lucent.com>
91577
91578         * lib/makepath.h (make_dir): Declare.
91579         * lib/makepath.c (make_dir): Remove `static' attribute.
91580         Tweak a comment.
91581
91582 2000-11-04  Jim Meyering  <meyering@lucent.com>
91583
91584         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
91585
91586 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
91587
91588         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
91589         last one in a bucket, advance to the next bucket.
91590
91591 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
91592
91593         * lib/fnmatch.c: Do not comment out all the code if we are using
91594         the GNU C library, because in some cases we are replacing buggy
91595         code in the GNU C library itself.
91596
91597 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
91598
91599         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
91600         (regex_compile): Catch bogus \(\1\).
91601
91602 2000-10-30  Paul Eggert  <eggert@twinsun.com>
91603
91604         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
91605         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
91606         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
91607
91608 2000-10-30  Paul Eggert  <eggert@twinsun.com>
91609
91610         * lib/error.h, getline.h, modechange.h:
91611         Remove "2000" from Copyright line, as the file hasn't been
91612         changed this year other than in the copyright notice.
91613
91614         * lib/xalloc.h: Add "2000" to Copyright line, as this file
91615         was changed this year.
91616
91617 2000-10-29  Jim Meyering  <meyering@lucent.com>
91618
91619         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
91620         renaming.
91621         * m4/ls-mntd-fs.m4: Likewise
91622
91623 2000-10-29  Jim Meyering  <meyering@lucent.com>
91624
91625         * lib/xstat.in: Fix grammar in comment.
91626
91627 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
91628
91629         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
91630         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
91631         doesn't define __restrict_arr.
91632
91633 2000-10-28  Jim Meyering  <meyering@lucent.com>
91634
91635         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
91636         (jm_PREREQ_MEMCHR): New function.
91637
91638 2000-10-28  Jim Meyering  <meyering@lucent.com>
91639
91640         * lib/memchr.c: Update from libc.
91641         Adjust for portability:
91642         [HAVE_STDLIB_H]: Include stdlib.h.
91643         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
91644         Undef __memchr, too.
91645         [!weak_alias]: Define __memchr to memchr.
91646
91647         * lib/regex.c: Update from libc.
91648         * lib/regex.h: Likewise.
91649         * lib/getopt1.c: Likewise.
91650         * lib/memcmp.c: Likewise.
91651
91652         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
91653         Avoid using fseek, when possible -- it's broken by design.
91654         Patch by Ulrich Drepper.
91655
91656 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
91657
91658         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
91659         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
91660         Giving in to popular pressure to shut up the compiler with casts.
91661
91662 2000-10-26  Jim Meyering  <meyering@lucent.com>
91663
91664         * lib/strftime.c: Update from libc.
91665
91666 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
91667
91668         * regex.c: More `unsigned char' -> `re_char' changes.
91669         Also change several `int' into `re_wchar_t'.
91670         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
91671         (PUSH_FAILURE_POINTER): Don't cast any more.
91672         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
91673         We want GCC to complain, since this piece of code makes
91674         re_match non-reentrant, which *should* be fixed.
91675         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
91676         (EXTEND_BUFFER): Use RETALLOC.
91677         (SET_LIST_BIT): Don't cast.
91678         (re_wchar_t): New type.
91679         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
91680         that those two functions will always properly return.
91681         (IMMEDIATE_QUIT_CHECK): Cast to void.
91682         (analyse_first): Use recursion rather than an explicit stack.
91683         (re_compile_fastmap): Can't fail anymore.
91684         (re_search_2): Don't check re_compile_fastmap for failure.
91685         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
91686         Now also sets the new value (passed in a new argument).
91687         (re_match_2_internal): Use it.
91688         Also, use a new var `reg' of type size_t when looping through regs
91689         rather than reuse the inappropriate `mcnt'.
91690
91691 2000-10-25  Jim Meyering  <meyering@lucent.com>
91692
91693         * lib/obstack.c: Update from libc.
91694
91695 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
91696
91697         * regex.c (regex_compile): Change the way of handling a range from
91698         a char less than 256 to a char not less than 256.
91699
91700 2000-10-24  Andrew Innes  <andrewi@gnu.org>
91701
91702         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
91703         NT-Emacs only.
91704         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
91705         so that re_search functions only quit when callers expect them to.
91706
91707 2000-10-23  Jim Meyering  <meyering@lucent.com>
91708
91709         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
91710         wrong.  That set_locale call must not have any side effects.
91711         From Paul Eggert.
91712
91713 2000-10-22  Jim Meyering  <meyering@lucent.com>
91714
91715         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
91716         [CYCLIC]: Remove now-unused definition.
91717
91718         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
91719         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
91720         Suggestion from Ulrich Drepper.
91721
91722 2000-10-21  Jim Meyering  <meyering@lucent.com>
91723
91724         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
91725         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
91726         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
91727
91728 2000-10-21  Jim Meyering  <meyering@lucent.com>
91729
91730         * lib/dirname.c (memrchr): Declare if necessary.
91731         (dir_name): Remove the restriction that there be no
91732         trailing slashes.  Now, this code skips past them, effectively
91733         ignoring them.
91734         [TEST_DIRNAME] (main): New unit tests.
91735
91736         * lib/memrchr.c: New file from GNU libc.
91737         Undef __memrchr, too.
91738         [!weak_alias]: Define __memrchr to memrchr.
91739         Guard weak_alias use with `#ifdef weak_alias'.
91740
91741 2000-10-21  Jim Meyering  <meyering@lucent.com>
91742
91743         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
91744         (dir_name): Use dir_name_r.
91745         * lib/dirname.h (dir_name_r): Declare it.
91746
91747 2000-10-17  Jim Meyering  <meyering@lucent.com>
91748
91749         * lib/quote.h (PARAMS): Define and use.
91750         Reported by Akim Demaille.
91751
91752         * lib/getopt.c: Update from libc.
91753
91754 2000-10-16  Jim Meyering  <meyering@lucent.com>
91755
91756         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
91757         setlocale.
91758         From Jan Fedak.
91759
91760 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
91761
91762         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
91763
91764 2000-09-25  Jim Meyering  <meyering@lucent.com>
91765
91766         * lib/md5.h (rol): Define (from GnuPG).
91767
91768         * lib/sha.c: Give credit (GnuPG) where due.
91769         (M): Use rol rather than open-coding it.
91770         Add a FIXME comment.
91771
91772 2000-09-21  Jim Meyering  <meyering@lucent.com>
91773
91774         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
91775         Reported by Michael Stone.
91776
91777 2000-09-20  Jim Meyering  <meyering@lucent.com>
91778
91779         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
91780         (noinst_HEADERS): Add sha.h.
91781         Based on code from Scott G. Miller and from GnuPG.
91782
91783 2000-09-18  Jim Meyering  <meyering@lucent.com>
91784
91785         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
91786         LIBS. Otherwise, everyone ends up linking with -lelf for some
91787         configurations.
91788         Reported by Mike Stone.
91789
91790 2000-09-15  Jim Meyering  <meyering@lucent.com>
91791
91792         * lib/regex.c: Update from libc.
91793
91794 2000-09-10  Jim Meyering  <meyering@lucent.com>
91795
91796         * lib/getopt.c (_getopt_internal): Update from glibc.
91797
91798 2000-09-09  Jim Meyering  <meyering@lucent.com>
91799
91800         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
91801         think it should be used as a general replacement for isascii.
91802         * lib/fnmatch.c: Likewise.
91803         * lib/mbswidth.c: Likewise
91804         * lib/regex.c: Likewise.
91805
91806         Don't use atoi.
91807         * lib/userspec.c: Include sys/param.h and limits.h.
91808         Include xstrtol.h.
91809         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
91810         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
91811         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
91812         UID, GID.  Check range.
91813
91814 2000-09-06  Jim Meyering  <meyering@lucent.com>
91815
91816         * lib/getopt.c (_getopt_internal): Update from glibc.
91817
91818 2000-08-30  Jim Meyering  <meyering@lucent.com>
91819
91820         * lib/strftime.c: Merge in changes from GNU libc.
91821
91822 2000-08-26  Jim Meyering  <meyering@lucent.com>
91823
91824         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
91825         * m4/fpending.m4: New file.
91826
91827 2000-08-26  Jim Meyering  <meyering@lucent.com>
91828
91829         * lib/closeout.c: Include "__fpending.h".
91830         (close_stdout_status): Return right away if there's nothing to flush.
91831
91832         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
91833         * lib/__fpending.c: New file.
91834         * lib/__fpending.h: New file.
91835
91836 2000-08-20  Jim Meyering  <meyering@lucent.com>
91837
91838         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
91839         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
91840         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
91841
91842 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
91843
91844         Improve fileutils installation on systems where running
91845         programs (like install) can't be unlinked.
91846         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
91847         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
91848
91849 2000-08-07  Paul Eggert  <eggert@twinsun.com>
91850
91851         Standardize on "memory exhausted" instead of "Memory exhausted"
91852         or "virtual memory exhausted".
91853         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
91854         "virtual memory exhausted".
91855         * lib/same.c (same_name): Invoke xalloc_die instead of printing
91856         our own message.
91857         * lib/userspec.c (parse_user_spec): Likewise.
91858         * lib/bumpalloc.h: comment fix
91859         * lib/same.c, userspec.c: Include xalloc.h.
91860
91861         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
91862         not char *const and pointing to a constant array.
91863         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
91864         (xrealloc): Comment fix.
91865
91866         * lib/userspec.c (parse_user_spec):
91867         Don't translate a message until just before returning,
91868         to avoid unnecessary translation.
91869
91870 2000-08-07  Jim Meyering  <meyering@lucent.com>
91871
91872         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
91873         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
91874         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
91875         getgroups.c, gethostname.c, getopt.h, group-member.c,
91876         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
91877         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
91878         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
91879         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
91880         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
91881         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
91882         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
91883         yesno.c: Back out Copyright date changes for each file with no change
91884         this year.  This eases coordination with other programs using the same
91885         source code modules.  From Paul Eggert.
91886
91887 2000-08-06  Paul Eggert  <eggert@twinsun.com>
91888
91889         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
91890         not char, for compatibility with glibc 2.1.3 strftime.c.
91891
91892 2000-08-03  Greg McGary  <greg@mcgary.org>
91893
91894         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
91895         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
91896         (EXTEND_BUFFER): Use them.
91897
91898 2000-08-01  Jim Meyering  <meyering@lucent.com>
91899
91900         * lib/dirname.c (ISSLASH): Define.
91901         (BACKSLASH_IS_PATH_SEPARATOR): Define.
91902         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
91903         both `\' and `/' may be use as path separators.
91904         Based on a patch from Prashant TR.
91905
91906 2000-07-31  Paul Eggert  <eggert@twinsun.com>
91907
91908         * lib/quotearg.c (quotearg_n_options): Don't make the initial
91909         slot vector a constant, since it might get modified.
91910
91911 2000-07-31  Jim Meyering  <meyering@lucent.com>
91912
91913         * lib/xmalloc.c: Use `virtual memory exhausted', not
91914         `Memory exhausted'.
91915         * lib/obstack.c (print_and_abort): Likewise.
91916
91917 2000-07-30  Paul Eggert  <eggert@twinsun.com>
91918
91919         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
91920         buffer, so that the caller can always quote one small
91921         component of a "memory exhausted" message in slot 0.
91922         From a suggestion by Jim Meyering.
91923
91924 2000-07-30  Jim Meyering  <meyering@lucent.com>
91925
91926         * lib/makepath.c (make_path): Quote the other instance, too.
91927
91928         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
91929         (STATIC_BUF_SIZE): Define.
91930         (quotearg_n_options): Use only statically allocated storage when
91931         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
91932         than STATIC_BUF_SIZE.
91933
91934 2000-07-29  Jim Meyering  <meyering@lucent.com>
91935
91936         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
91937         * lib/dirname.c (dir_name): Likewise.
91938
91939         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
91940         `/'.
91941
91942         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
91943         (dir_name): Assert that there are no trailing slashes.
91944
91945 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
91946
91947         * lib/mbswidth.h (mbswidth): Add a flags argument.
91948         (mbswidth): New declaration.
91949         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
91950         * lib/mbswidth.c (mbswidth): Add a flags argument.
91951         (mbsnwidth): New function.
91952
91953 2000-07-24  Jim Meyering  <meyering@lucent.com>
91954
91955         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
91956
91957 2000-07-23  Paul Eggert  <eggert@twinsun.com>
91958
91959         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
91960
91961 2000-07-23  Paul Eggert  <eggert@twinsun.com>
91962
91963         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
91964         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
91965         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
91966         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
91967         invoke multibyte primitives.
91968
91969 2000-07-23  Paul Eggert  <eggert@twinsun.com>
91970
91971         * lib/quotearg.c:
91972         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
91973         so that mbstate_t is always defined.
91974
91975         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
91976         be 1 in at least one GCC installation, and this configuration
91977         error is likely to be common.  Ignoring MB_LEN_MAX hurts
91978         performance on hosts that have mbrtowc but have only unibyte
91979         locales, but I assume these hosts are rare.
91980
91981 2000-07-23  Paul Eggert  <eggert@twinsun.com>
91982
91983         * lib/mbswidth.c (_XOPEN_SOURCE):
91984         Don't define; this causes problems on Solaris 7.
91985         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
91986
91987 2000-07-23  Jim Meyering  <meyering@lucent.com>
91988
91989         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
91990         too: getgrgid, getpwuid, getuid.
91991
91992 2000-07-23  Jim Meyering  <meyering@lucent.com>
91993
91994         * lib/basename.c (base_name): Add an assertion.
91995
91996 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
91997
91998         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
91999         shadow its mbsinit function.
92000
92001 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
92002
92003         * lib/mbswidth.h: New file.
92004         * lib/mbswidth.c: New file.
92005         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
92006         (noinst_HEADERS): Add mbswidth.h.
92007
92008 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
92009
92010         * lib/config.charset: Add support for FreeBSD. Improve support for
92011         HP-UX and IRIX 6.
92012
92013 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
92014
92015         * m4/mbswidth.m4: New file.
92016         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
92017
92018 2000-07-15  Jim Meyering  <meyering@lucent.com>
92019
92020         * lib/makepath.c: Include quote.h.
92021         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
92022         corresponding argument in a `quote (...)' call.
92023         Give better diagnostics.
92024
92025         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
92026         (noinst_HEADERS): Add quote.h.
92027
92028         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
92029         from tar's src/misc.c.
92030         * lib/quote.h: New file.  Prototypes for same.
92031
92032 2000-07-14  Paul Eggert  <eggert@twinsun.com>
92033
92034         From a suggestion by Bruno Haible.
92035         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
92036         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
92037         to decide whether to define the BeOS workaround macro;
92038         this adjusts to the change to AC_MBSTATE_T.
92039
92040 2000-07-14  Jim Meyering  <meyering@lucent.com>
92041
92042         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
92043         jm_AC_TYPE_UINTMAX_T.
92044
92045 2000-07-13  Paul Eggert  <eggert@twinsun.com>
92046
92047         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
92048
92049         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
92050         quotearg_buffer_restyled): Add support for
92051         clocale_quoting_style.  Undo previous change to
92052         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
92053         and "{RIGHT QUOTATION MARK}" msgids.
92054
92055 2000-07-10  Paul Eggert  <eggert@twinsun.com>
92056
92057         From a suggestion by Bruno Haible.
92058         * m4/mbstate_t.m4 (AC_MBSTATE_T):
92059         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
92060         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
92061         and mbstate_t, to a single-part test that simply defines mbstate_t.
92062         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
92063         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
92064
92065 2000-07-10  Jim Meyering  <meyering@lucent.com>
92066
92067         * m4/strerror_r.m4: Mirror the correction made in autoconf.
92068
92069         * m4/gnu-source.m4: Output to confdefs.h directly.
92070         Suggestion from Akim Demaille.
92071
92072 2000-07-09  Paul Eggert  <eggert@twinsun.com>
92073
92074         The old behavior of quoting `like this' doesn't look good with
92075         newer, ISO-style fonts.  See:
92076         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
92077
92078         Instead, quote "like this" by default.  Let the translator
92079         tailor the locale-specific quoting behavior by providing
92080         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
92081
92082         * lib/quotearg.c (N_): New macro.
92083         (gettext_default): New function.
92084         (quotearg_buffer_restyled): Use
92085         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
92086         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
92087
92088 2000-07-09  Jim Meyering  <meyering@lucent.com>
92089
92090         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
92091         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
92092
92093         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
92094         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
92095
92096 2000-07-09  Jim Meyering  <meyering@lucent.com>
92097
92098         * lib/Most files: Update copyright dates to include 2000.
92099
92100 2000-07-08  Jim Meyering  <meyering@lucent.com>
92101
92102         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
92103         if not defined.
92104         (xgethostname): Remove now-unnecessary #ifdef.
92105         Move declaration of `err' into loop where it's used.
92106
92107 2000-07-05  Paul Eggert  <eggert@twinsun.com>
92108         and Bruno Haible  <haible@clisp.cons.org>
92109
92110         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
92111         only if the test for an object-type mbstate_t fails.  This
92112         prevents us from mistakenly reporting that mbstate_t is a
92113         system object type after we "#define mbstate_t int" to work
92114         around its lack.
92115
92116 2000-07-05  Paul Eggert  <eggert@twinsun.com>
92117         and Bruno Haible  <haible@clisp.cons.org>
92118
92119         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
92120
92121 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
92122
92123         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
92124         to strerror_r.
92125         Include <ctype.h> for use of isalpha.
92126
92127 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
92128
92129         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
92130         by allocating a larger buffer. Test the gethostname return value for
92131         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
92132         returns an error and ENAMETOOLONG isn't defined.
92133
92134 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
92135
92136         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
92137         dimension.
92138
92139 2000-07-04  Jim Meyering  <meyering@lucent.com>
92140
92141         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
92142         of the deprecated AC_CHECKING.
92143
92144 2000-07-04  Jim Meyering  <meyering@lucent.com>
92145
92146         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
92147         Reported by Bruno Haible.
92148
92149 2000-07-04  Jim Meyering  <meyering@lucent.com>
92150
92151         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
92152         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
92153         lacks mbrtowc.
92154
92155 2000-07-03  Paul Eggert  <eggert@twinsun.com>
92156
92157         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
92158         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
92159
92160 2000-07-03  Paul Eggert  <eggert@twinsun.com>
92161         and Bruno Haible  <haible@clisp.cons.org>
92162
92163         * lib/quotearg.c (mbrtowc):
92164         Assign to *pwc, and return 1 only if result is nonzero.
92165         (iswprint): Use ISPRINT when substituting our own mbrtowc.
92166
92167 2000-07-03  Jim Meyering  <meyering@lucent.com>
92168
92169         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
92170
92171 2000-07-03  Jim Meyering  <meyering@lucent.com>
92172
92173         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
92174         This is necessary to get a definition of e.g., UTMP_FILE on
92175         HP-UX 10.20.
92176         From Bob Proulx.
92177
92178 2000-07-02  Jim Meyering  <meyering@lucent.com>
92179
92180         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
92181
92182         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
92183         AC_LIBOBJ(function_name).
92184         * m4/chown.m4: Likewise.
92185         * m4/fnmatch.m4: Likewise.
92186         * m4/ftruncate.m4: Likewise.
92187         * m4/getgroups.m4: Likewise.
92188         * m4/getline.m4: Likewise.
92189         * m4/group-member.m4: Likewise.
92190         * m4/jm-macros.m4: Likewise.
92191         * m4/lstat.m4: Likewise.
92192         * m4/malloc.m4: Likewise.
92193         * m4/memcmp.m4: Likewise.
92194         * m4/nanosleep.m4: Likewise.
92195         * m4/putenv.m4: Likewise.
92196         * m4/realloc.m4: Likewise.
92197         * m4/regex.m4: Likewise.
92198         * m4/stat.m4: Likewise.
92199         * m4/strftime.m4: Likewise.
92200
92201 2000-07-02  Jim Meyering  <meyering@lucent.com>
92202
92203         * lib/quotearg.c (mbstate_t): Don't define here.
92204
92205 2000-07-02  Jim Meyering  <meyering@lucent.com>
92206
92207         * lib/nanosleep.c (SIGCONT): Define if not already defined.
92208
92209 2000-07-01  Jim Meyering  <meyering@lucent.com>
92210
92211         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
92212
92213 2000-07-01  Jim Meyering  <meyering@lucent.com>
92214
92215         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
92216         problem.
92217
92218 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
92219
92220         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
92221         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
92222
92223 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
92224
92225         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
92226         per change in ../m4/ls-mntd-fs.m4.
92227         (read_filesystem_list): Ignore symbolic links.
92228
92229 2000-06-29  Jim Meyering  <meyering@lucent.com>
92230
92231         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
92232         for declaration of strcmp.
92233
92234         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
92235
92236         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
92237         Avoid warning by casting result to `char *' to remove `const'.
92238
92239 2000-06-28  Jim Meyering  <meyering@lucent.com>
92240
92241         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
92242         included by quotearg.c, for which we perform this test.  From
92243         Bruno Haible.
92244
92245 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
92246
92247         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
92248         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
92249         <utmpx.h> exists, put readutmp.o into LIBOBJS.
92250
92251 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
92252
92253         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
92254
92255 2000-06-26  Paul Eggert  <eggert@twinsun.com>
92256
92257         savedir now sets errno on failure and invokes xmalloc to get memory.
92258         Fix a couple of other minor bugs while we're at it.
92259
92260         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
92261         (NAMLEN): Remove macro.
92262         (malloc, realloc): Remove decls.
92263         (stpcpy): Likewise.
92264         ("xalloc.h"): Include.
92265         (NAME_SIZE_DEFAULT): New macro.
92266         (savedir): Use xmalloc / xrealloc to allocate memory.
92267         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
92268         Skip "" directory entries.
92269         Use strlen to calculate directory entry length, since the old method
92270         is rarely used these days and isn't worth supporting.
92271         Don't use a pointer after freeing it.
92272         Check for integer overflow when calculating allocation size.
92273         Use memcpy to copy entries, instead of stpcpy.
92274         Set errno properly when returning NULL.
92275         Check for readdir error.
92276
92277 2000-06-26  Jim Meyering  <meyering@lucent.com>
92278
92279         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
92280
92281 2000-06-25  Jim Meyering  <meyering@lucent.com>
92282
92283         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
92284         Linux header bug when _XOPEN_SOURCE is defined to 500.
92285
92286 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
92287
92288         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
92289         deficiency.
92290
92291 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
92292
92293         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
92294         Include xalloc.h.
92295         Don't include <stdlib.h>.  Don't declare malloc, realloc.
92296
92297 2000-06-24  Jim Meyering  <meyering@lucent.com>
92298
92299         * m4/strerror_r.m4: Revive this file -- to try out an experimental
92300         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
92301         for which strerror does return char*, but which lacks a conveniently
92302         accessible declaration of the function.  If the compile-test says
92303         strerror_r doesn't work, then resort to a `run'-test that works on
92304         BeOS and segfaults on DEC Unix.
92305
92306 2000-06-24  Jim Meyering  <meyering@lucent.com>
92307
92308         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
92309
92310 2000-06-23  Paul Eggert  <eggert@twinsun.com>
92311
92312         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
92313         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
92314
92315 2000-06-23  Paul Eggert  <eggert@twinsun.com>
92316
92317         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
92318         (mbrtowc, mbstate_t): Define substitutes if
92319         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
92320         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
92321         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
92322
92323 2000-06-23  Jim Meyering  <meyering@lucent.com>
92324
92325         * m4/afs.m4: Add missing AC_MSG_RESULT.
92326         Reported by Bruno Haible.
92327
92328         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
92329         Suggestion from Bruno Haible.
92330
92331 2000-06-23  Jim Meyering  <meyering@lucent.com>
92332
92333         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
92334
92335 2000-06-21  Jim Meyering  <meyering@lucent.com>
92336
92337         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
92338
92339 2000-06-21  Jim Meyering  <meyering@lucent.com>
92340
92341         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
92342         (noinst_HEADERS): Add getstr.h.
92343
92344         * lib/getline.c (getstr): Move into a separate file.
92345         * lib/getstr.c (getstr): New file, extracted from getline.c, with
92346         the following changes: new parameter, delim2; both delim[12]
92347         parameters have type `int', not `char'.  The latter would lose
92348         with 8-bit delimiters.
92349         * lib/getstr.h: New file.
92350
92351 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
92352
92353         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
92354         than 1024, return a memory chunk of least possible size, instead
92355         of size PATH_MAX + 2. In the loop, increment the size proportionally.
92356         Use free/xmalloc instead of xrealloc to avoid copying for very long
92357         paths.
92358
92359 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
92360
92361         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
92362         the empty string.
92363
92364 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
92365
92366         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
92367         address, not strdup.  Include <stdlib.h> and don't declare free().
92368
92369 2000-06-19  Jim Meyering  <meyering@lucent.com>
92370
92371         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
92372
92373 2000-06-18  Jim Meyering  <meyering@lucent.com>
92374
92375         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
92376
92377         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
92378         `checking whether...' message to be consistent with that of the
92379         lstat test.
92380
92381 2000-06-18  Jim Meyering  <meyering@lucent.com>
92382
92383         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
92384         Besides, these days every porting target provides a mkdir function.
92385
92386         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
92387         needed. (this snippet comes from src/system.h).
92388
92389 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
92390
92391         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
92392
92393 2000-06-15  Paul Eggert  <eggert@twinsun.com>
92394
92395         * lib/human.c (adjust_value): New function.
92396         (human_readable_inexact): Apply rounding style even when
92397         printing approximate values.
92398
92399 2000-06-14  Paul Eggert  <eggert@twinsun.com>
92400
92401         * lib/human.c (human_readable_inexact): Allow an input block
92402         size that is not a multiple of the output block size, and vice versa.
92403         Reported by Piergiorgio Sartor.
92404
92405 2000-06-14  Paul Eggert  <eggert@twinsun.com>
92406
92407         * lib/getdate.y (get_date): Apply relative times after time
92408         zone indicator, not before.  Reported by Todd A. Jacobs.
92409
92410 2000-06-13  Jim Meyering  <meyering@lucent.com>
92411
92412         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
92413
92414         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
92415
92416 2000-06-12  Paul Eggert  <eggert@twinsun.com>
92417
92418         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
92419
92420 2000-06-12  Jim Meyering  <meyering@lucent.com>
92421
92422         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
92423         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
92424         optional argument.
92425         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
92426         the optional argument, `lib'.
92427
92428 2000-06-08  Jim Meyering  <meyering@lucent.com>
92429
92430         * m4/largefile.m4: Remove file (now that it's part of autoconf).
92431
92432 2000-06-04  Paul Eggert  <eggert@twinsun.com>
92433
92434         Rewrite largefile configuration so that we don't need to run
92435         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
92436         AC_CANONICAL_HOST in configure.in -- jmm]
92437
92438         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
92439         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
92440         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
92441         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
92442         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
92443         All uses changed.
92444         Instead of inspecting the output of getconf, try to compile the
92445         test program without and with the macro definition.
92446         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
92447         for getconf.  Instead, check for the needed flags by compiling
92448         test programs.
92449
92450 2000-06-04  Paul Eggert  <eggert@twinsun.com>
92451
92452         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
92453
92454 2000-06-04  Jim Meyering  <meyering@lucent.com>
92455
92456         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
92457         SunOS 4.1.4 for which gid_t is an unsigned type.
92458
92459 2000-06-03  Jim Meyering  <meyering@lucent.com>
92460
92461         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
92462         now that autoconf requires that.
92463
92464         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
92465         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
92466         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
92467
92468 2000-06-03  Jim Meyering  <meyering@lucent.com>
92469
92470         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
92471
92472 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
92473
92474         * m4/glibc21.m4: New file.
92475         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
92476
92477 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
92478
92479         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
92480         newer, don't install charset.alias.
92481         * lib/config.charset: Change the Linux/glibc rules so they become empty
92482         on glibc-2.1 or newer.
92483
92484 2000-06-02  Jim Meyering  <meyering@lucent.com>
92485
92486         * lib/mountlist.c: Back out last change.  Instead, do this...
92487         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
92488         me_dummy member using the same `ignore'-testing code.
92489         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
92490         fs_type strings.
92491         From Mark D. Roth.
92492
92493 2000-05-29  Jim Meyering  <meyering@lucent.com>
92494
92495         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
92496         mounts with the `ignore' attribute.  Based on a patch from
92497         Mark D. Roth.
92498
92499 2000-05-28  Jim Meyering  <meyering@lucent.com>
92500
92501         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
92502         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
92503         * m4/stat.m4: Likewise.
92504         * m4/lstat.m4: Likewise.
92505         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
92506
92507         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
92508         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
92509
92510 2000-05-26  Jim Meyering  <meyering@lucent.com>
92511
92512         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
92513
92514 2000-05-24  Jim Meyering  <meyering@lucent.com>
92515
92516         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
92517         autoconf requires that.
92518         * m4/lib-check.m4: Likewise.
92519         * m4/jm-macros.m4: Likewise.
92520         * m4/strftime.m4: Likewise.
92521
92522         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
92523         AC_CHECK_DECLS, now that autoconf requires that.
92524
92525 2000-05-22  Jim Meyering  <meyering@lucent.com>
92526
92527         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
92528         * m4/lstat.m4: Likewise.
92529
92530 2000-05-22  Jim Meyering  <meyering@lucent.com>
92531
92532         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
92533
92534 2000-05-20  Jim Meyering  <meyering@lucent.com>
92535
92536         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
92537         (jm_PREREQ): Use it.
92538
92539 2000-05-18  Jim Meyering  <meyering@lucent.com>
92540
92541         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
92542         back, too, since it may have been modified by allocate_entry.
92543         (hash_delete): Rewrite to use neither the assignment operator
92544         nor the comma operator in an if-expression.
92545
92546 2000-05-15  Paul Eggert  <eggert@twinsun.com>
92547
92548         * lib/closeout.c:
92549         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
92550         Remove; no longer needed.
92551         "quotearg.h": Add include.
92552         (file_name): Do not bother to explicitly initialize to NULL; it's less
92553         efficient on some hosts.
92554         (close_stdout_status): Remove test as to whether stdout was already
92555         closed; it breaks for the case "echo x | sort >&-".
92556         Quote file name colons.
92557         Do not assume that _("write error") lacks format strings.
92558
92559 2000-05-15  Jim Meyering  <meyering@lucent.com>
92560
92561         * lib/version-etc.c (version_etc_copyright): Update the copyright
92562         string used in all --version output.
92563
92564 2000-05-14  Jim Meyering  <meyering@lucent.com>
92565
92566         * lib/closeout.c (close_stdout_set_file_name): New function.
92567         (close_stdout_status): Use new file-scoped global.
92568         Return right away if fstat says the stdout file descriptor is invalid.
92569         * lib/closeout.h (close_stdout_set_file_name): Declare.
92570
92571 2000-05-10  Jim Meyering  <meyering@lucent.com>
92572
92573         * lib/closeout.c [default_exit_status]: New file-scoped variable.
92574         (close_stdout_set_status): New function.
92575         * lib/closeout.h (close_stdout_set_status): Declare.
92576
92577 2000-05-09  Jim Meyering  <meyering@lucent.com>
92578
92579         * m4/gettext.m4: Rename this...
92580         * m4/libintl.m4: ...to this.
92581
92582 2000-05-08  Jim Meyering  <meyering@lucent.com>
92583
92584         * lib/long-options.c: Don't include closeout.h.
92585         (parse_long_options): Don't call close_stdout for --version.
92586
92587 2000-05-06  Paul Eggert  <eggert@twinsun.com>
92588
92589         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
92590         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
92591         2.1.3 bug.  This avoids a clash when files like regex.c define
92592         _GNU_SOURCE.
92593
92594 2000-05-06  Jim Meyering  <meyering@lucent.com>
92595
92596         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
92597         (AC_REPLACE_FUNCS): Add strnlen.
92598
92599         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
92600         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
92601
92602         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
92603         AC_SEARCH_LIBS call for nanosleep.
92604         (LIB_NANOSLEEP): Set and AC_SUBST.
92605
92606 2000-05-06  Jim Meyering  <meyering@lucent.com>
92607
92608         * lib/strnlen.c: Undefine __strnlen and strnlen.
92609         [!weak_alias]: Define __strnlen to strnlen.
92610
92611         * lib/atexit.c: New file, from libiberty.
92612
92613 2000-05-06  Jim Meyering  <meyering@lucent.com>
92614
92615         * lib/closeout.c (close_stdout_status): Also check for errors on the
92616         stderr stream.
92617
92618 2000-05-05  Jim Meyering  <meyering@lucent.com>
92619
92620         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
92621         AC_SEARCH_LIBS call for clock_gettime.
92622         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
92623
92624         * m4/search-libs.m4: Update from autoconf.
92625
92626         su doesn't work on Solaris 2.6.
92627         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
92628         <shadow.h>.  Reported by Dragos Harabor.
92629
92630 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
92631
92632         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
92633         memcpy instead of xmalloc, xrealloc, path_concat.
92634         (locale_charset): Treat empty environment variables as absent.
92635         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
92636
92637 2000-05-04  Jim Meyering  <meyering@lucent.com>
92638
92639         * lib/getopt.c: Update from glibc.
92640         * lib/obstack.c: Likewise.
92641         * lib/obstack.h: Likewise.
92642         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
92643         file
92644
92645         * lib/regex.h: Likewise.
92646         * lib/strndup.c: Likewise.
92647         * lib/strnlen.c: New file, from glibc.
92648
92649 2000-05-03  Jim Meyering  <meyering@lucent.com>
92650
92651         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
92652
92653 2000-05-02  Paul Eggert  <eggert@twinsun.com>
92654
92655         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
92656         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
92657         compile-time test, rather than inspecting host and OS, to
92658         decide whether to define _LARGEFILE_SOURCE.
92659
92660 2000-05-01  Jim Meyering  <meyering@lucent.com>
92661
92662         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
92663
92664         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
92665         Based on a patch from Bruno Haible.
92666
92667 2000-05-01  Jim Meyering  <meyering@lucent.com>
92668
92669         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
92670
92671 2000-04-29  Jim Meyering  <meyering@lucent.com>
92672
92673         * lib/path-concat.c: Declare strdup only if it's not defined.
92674         * lib/canon-host.c: Likewise.
92675
92676 2000-04-28  Jim Meyering  <meyering@lucent.com>
92677
92678         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
92679         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
92680         is included first, then limits.h is included by locale.h by libintl.h.
92681         From John David Anglin.
92682
92683 2000-04-25  Jim Meyering  <meyering@lucent.com>
92684
92685         * lib/makepath.c (S_IRWXUGO): Define.
92686         (make_path): Always perform explicit chmod if MODE specifies any
92687         of the `special' permission bits.  Prompted by a bug report against
92688         install from Mate Wierdl and Joost van Baal.
92689
92690 2000-04-18  Jim Meyering  <meyering@lucent.com>
92691
92692         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
92693         (jm_PREREQ): Use it.
92694
92695 2000-04-18  Jim Meyering  <meyering@lucent.com>
92696
92697         * lib/README: New file.
92698
92699         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
92700         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
92701
92702 2000-04-17  Jim Meyering  <meyering@lucent.com>
92703
92704         Get it right :-)
92705         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
92706         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
92707         Suggestion from Akim Demaille.
92708
92709 2000-04-17  Jim Meyering  <meyering@lucent.com>
92710
92711         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
92712         the definition of it to rpl_strftime also defined-away the system's
92713         declaration.
92714
92715 2000-04-15  Jim Meyering  <meyering@lucent.com>
92716
92717         Use `C' to denote so-called `contiguous' files, the same way
92718         that tar does.
92719         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
92720         (ftypelet): Use S_ISCTG.
92721         From Michael Deutschmann.
92722
92723 2000-04-14  Jim Meyering  <meyering@lucent.com>
92724
92725         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
92726         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
92727         clobbered.
92728
92729 2000-04-14  Jim Meyering  <meyering@lucent.com>
92730
92731         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
92732
92733 2000-04-13  Jim Meyering  <meyering@lucent.com>
92734
92735         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
92736         AH_VERBATIM to insert required #ifndef into config.h.in.
92737         Suggestion from Akim Demaille.
92738
92739 2000-04-12  Jim Meyering  <meyering@lucent.com>
92740
92741         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
92742         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
92743         Christian Krackowizer.
92744
92745         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
92746         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
92747         (AC_SYS_LARGEFILE): Require.
92748         (AM_C_PROTOTYPES): Require.
92749
92750 2000-04-08  Jim Meyering  <meyering@lucent.com>
92751
92752         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
92753         names don't conflict.  Reported by Eli Zaretskii.
92754
92755 2000-04-07  Jim Meyering  <meyering@lucent.com>
92756
92757         * lib/putenv.c: Move inclusion of errno.h so it follows that of
92758         sys/types.h, to work around system header problems on AIX 3.2.5.
92759         From Bruno Haible.
92760
92761 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
92762
92763         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
92764         bug.  Deal with the different error behavior of Irix iconv.
92765
92766 2000-04-05  Paul Eggert  <eggert@twinsun.com>
92767
92768         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
92769         IRIX if the installer said otherwise.
92770
92771 2000-04-05  Jim Meyering  <meyering@lucent.com>
92772
92773         Portability tweaks required for ultrix4.3.
92774         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
92775         (jm_CHECK_DECLS): Add getutent to the list of functions.
92776         (_jm_DECL_HEADERS): Add utmpx.h.
92777         From John David Anglin.
92778
92779         * m4/strftime.m4: Back out the 2000-04-02 change.
92780         Instead of that change, simply undefine putenv in the test program.
92781
92782 2000-04-05  Jim Meyering  <meyering@lucent.com>
92783
92784         Portability tweaks required for ultrix4.3.
92785         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
92786         getutent.
92787         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
92788         * lib/canon-host.c: Declare strdup.
92789         * lib/path-concat.c: Likewise.
92790         From John David Anglin.
92791
92792 2000-04-04  Jim Meyering  <meyering@lucent.com>
92793
92794         Be more DOS 8.3-friendly.
92795         * lib/ref-add.sin: Renamed from ref-add.sed.in.
92796         * lib/ref-del.sin: Renamed from ref-del.sed.in.
92797         * lib/Makefile.am: Reflect renaming.
92798         Reported by Eli Zaretskii.
92799
92800         Use a temporary file name that won't clash with `charset.alias'
92801         in the DOS 8.3 name space.
92802         * lib/Makefile.am (charset_tmp): Define.
92803         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
92804         (uninstall-local): Likewise.
92805         Reported by Eli Zaretskii.
92806
92807 2000-04-03  Jim Meyering  <meyering@lucent.com>
92808
92809         * m4/gettext.m4: Fix typo in comment.
92810
92811         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
92812         textutils/configure.in).  Suggestion from Paul Eggert.
92813         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
92814
92815 2000-04-02  Paul Eggert  <eggert@twinsun.com>
92816
92817         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
92818         variable in the shell rather than using putenv, which isn't
92819         portable.  This avoids the configure-time inter-test dependency
92820         on the potentially-renamed putenv function.
92821
92822 2000-03-30  Paul Eggert  <eggert@twinsun.com>
92823
92824         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
92825         before checking struct stat.st_blksize, so that
92826         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
92827
92828 2000-03-29  Paul Eggert  <eggert@twinsun.com>
92829
92830         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
92831         since strftime.c uses HAVE_STRFTIME to decide whether to use
92832         the underlying strftime.
92833
92834 2000-03-29  Paul Eggert  <eggert@twinsun.com>
92835
92836         * lib/time/strftime.c (my_strftime): Make sure we call the system
92837         strftime, not ourselves, when invoking the underlying strftime.
92838
92839 2000-03-24  Jim Meyering  <meyering@lucent.com>
92840
92841         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
92842         (charset_alias): Define.
92843         (install-exec-local): Factor out common code.
92844         (uninstall-local): Split lines longer than 80.
92845         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
92846         (SUFFIXES): Define.
92847         (.sed.in.sed): New rule.  Don't redirect directly to $@.
92848         (CLEANFILES): Add ref-add.sed and ref-del.sed.
92849
92850 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
92851
92852         * lib/config.charset: Output a line containing "Packages using this
92853         file".
92854         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
92855         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
92856         ref-del.sed): New rules.
92857
92858 2000-03-17  Jim Meyering  <meyering@lucent.com>
92859
92860         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
92861         Otherwise, include <strings.h>
92862
92863 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
92864
92865         * lib/unicodeio.c (utf8_wctomb): New function.
92866         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
92867         format instead of in UCS-4 with platform dependent endianness.
92868
92869 2000-03-10  Jim Meyering  <meyering@lucent.com>
92870
92871         * m4/lib-check.m4: Look for getspnam in -lgen, too.
92872         From Marco Franzen.
92873
92874 2000-03-07  Paul Eggert  <eggert@twinsun.com>
92875
92876         * lib/savedir.c (savedir): Work even if directory size is
92877         negative; this can happen with some screwy NFS configurations.
92878
92879 2000-03-06  Jim Meyering  <meyering@lucent.com>
92880
92881         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
92882         if it's NULL (because we ran out of memory).  From Bruno Haible.
92883
92884 2000-03-05  Jim Meyering  <meyering@lucent.com>
92885
92886         * lib/localcharset.c ("path-concat.h"): Include.
92887         (get_charset_aliases): Use path_concat instead of ANSI string
92888         concatenation.
92889
92890         * lib/unicodeio.h (PARAMS): Define.
92891         Use it to guard prototype.
92892
92893 2000-03-04  Jim Meyering  <meyering@lucent.com>
92894
92895         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
92896         for lib/localcharset.c.
92897
92898 2000-03-04  Jim Meyering  <meyering@lucent.com>
92899
92900         * lib/Makefile.am (install-exec-local): Create $(libdir) before
92901         installing into it.
92902         (uninstall-local): Uncomment this rule so `make distcheck' works
92903         once again.
92904
92905         * lib/unicodeio.c (<errno.h>): Include it.
92906         (errno): Declare if not defined.
92907
92908         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
92909
92910         * lib/config.charset: New version, incorporating remarks from a linux
92911         i18n mailing list.  From Bruno Haible.
92912
92913 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
92914
92915         * m4/codeset.m4: New file.
92916         * m4/iconv.m4: New file.
92917         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
92918
92919 2000-03-03  Jim Meyering  <meyering@lucent.com>
92920
92921         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
92922
92923 2000-03-02  Jim Meyering  <meyering@lucent.com>
92924
92925         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
92926         the messages come out on separate lines.
92927
92928         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
92929         rather than jm_CHECK_DECLARATIONS.
92930         * m4/decl.m4: Remove now-unused file.
92931
92932         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
92933         geteuid.
92934
92935 2000-03-02  Jim Meyering  <meyering@lucent.com>
92936
92937         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
92938
92939 2000-03-01  Jim Meyering  <meyering@lucent.com>
92940
92941         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
92942         * lib/unicodeio.c: Likewise.
92943
92944 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
92945
92946         * lib/config.charset: New file.
92947         * lib/localcharset.c: New file.
92948         * lib/unicodeio.h, lib/unicodeio.c: New files.
92949         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
92950         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
92951         (noinst_HEADERS): Add unicodeio.h.
92952         (all-local, install-exec-local, charset.alias): New targets.
92953
92954 2000-02-28  Paul Eggert  <eggert@twinsun.com>
92955
92956         * lib/quotearg.c (ALERT_CHAR): New macro.
92957         (quotearg_buffer_restyled): Use it.
92958
92959 2000-02-27  Jim Meyering  <meyering@lucent.com>
92960
92961         * m4/check-decl.m4: Add getenv to the list.
92962
92963 2000-02-27  Jim Meyering  <meyering@lucent.com>
92964
92965         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
92966         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
92967
92968         * lib/backupfile.c: Guard inclusion of stdlib.h with
92969         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
92970         Declare malloc if needed.
92971
92972         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
92973         `#ifndef HAVE_DECL..'
92974         now that autoconf always defines the HAVE_DECL_ symbols.
92975         * lib/human.c: Likewise.
92976         * lib/same.c: Likewise.
92977         * lib/strtoumax.c: Likewise.
92978
92979         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
92980         declaration check was not run.
92981         * lib/hash.c: Likewise.
92982         * lib/human.c: Likewise.
92983         * lib/same.c: Likewise.
92984         * lib/strtoumax.c: Likewise.
92985
92986         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
92987         `.', then first look up the entire `.'-containing string as a login
92988         name.
92989
92990 2000-02-23  Jim Meyering  <meyering@lucent.com>
92991
92992         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
92993         in place of my hack.
92994
92995 2000-02-18  Paul Eggert  <eggert@twinsun.com>
92996
92997         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
92998         (textint): New typedef.
92999         (parser_control): Member year changed from int to textint.
93000         All uses changed.
93001         (YYSTYPE): Removed; replaced by %union with int and textint members.
93002         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
93003         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
93004         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
93005         (tSNUMBER, tUNUMBER): Now of type <textintval>.
93006         (date, number, to_year): Use width of number in digits, not its value,
93007         to determine whether it's a 2-digit year, or a 2-digit time.
93008         (yylex): Store number of digits of numeric tokens.
93009         Reported by John Kendall.
93010
93011         (parser_control): Changed from struct parser_control to typedef (for
93012         consistency).  All uses changed.
93013
93014         (tID): Removed; not used.
93015         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
93016
93017 2000-02-14  Paul Eggert  <eggert@twinsun.com>
93018
93019         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
93020         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
93021
93022 2000-02-12  Jim Meyering  <meyering@lucent.com>
93023
93024         * lib/userspec.c (ISDIGIT): Define it.
93025         (isdigit): Remove definition.
93026         (is_number): Use ISDIGIT, not isdigit.
93027         <libintl.h>: Include.
93028         (_ and N_): Define.
93029         (parse_user_spec): Mark translatable strings.
93030
93031 2000-02-10  Jim Meyering  <meyering@lucent.com>
93032
93033         With these changes, nanosleep.[ch] are finally enough like the other
93034         lib/* replacement files to compile on a few more losing systems.
93035
93036         * lib/nanosleep.h: Don't include config.h.
93037         Remove prototype from declaration of nanosleep.
93038         (PARAMS): Remove now-unneeded definition.
93039         * lib/nanosleep.c: #undef nanosleep.
93040         (rpl_nanosleep): Rename from nanosleep.
93041
93042 2000-02-10  Jim Meyering  <meyering@lucent.com>
93043
93044         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
93045         gnu_nanosleep to rpl_nanosleep.
93046
93047 2000-02-09  Jim Meyering  <meyering@lucent.com>
93048
93049         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
93050         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
93051
93052 2000-02-08  Akim Demaille  <akim@epita.fr>
93053
93054         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
93055         `[' and `]' and remove uses of `changequote'.
93056         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
93057         (AC_SYS_LARGEFILE): Likewise.
93058         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
93059         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
93060         of changequote.
93061         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
93062         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
93063         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
93064         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
93065
93066 2000-02-05  Jim Meyering  <meyering@lucent.com>
93067
93068         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
93069         Remove explicit use of AC_HEADER_TIME.  It is required by
93070         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
93071         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
93072         in autoconf whereby the expansion of the latter ended up preceding
93073         the expansion of its prerequisite, AC_HEADER_TIME.
93074         Reported by Volker Borchert.
93075
93076 2000-02-03  Jim Meyering  <meyering@lucent.com>
93077
93078         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
93079
93080 2000-02-03  Jim Meyering  <meyering@lucent.com>
93081
93082         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
93083         rather than with `#if HAVE_UTMPNAME'.
93084
93085 2000-02-02  Jim Meyering  <meyering@lucent.com>
93086
93087         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
93088         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
93089         Reported by Eli Zaretskii.
93090
93091 2000-02-01  Jim Meyering  <meyering@lucent.com>
93092
93093         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
93094
93095 2000-01-31  Jim Meyering  <meyering@lucent.com>
93096
93097         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
93098         functions.  Add the time.h and sys/time.h headers along with the
93099         AC_REQUIRE'ment of AC_HEADER_TIME.
93100
93101 2000-01-31  Jim Meyering  <meyering@lucent.com>
93102
93103         * lib/nanosleep.h (nanosleep): Guard declaration with
93104         `#if ! HAVE_DECL_NANOSLEEP'.
93105         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
93106         the declaration in that vendor's sys/timers.h.
93107         Reported by Christian Krackowizer.
93108
93109         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
93110         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
93111         (ISPRINT): Likewise.
93112         Reported by Tom Tromey.
93113
93114 2000-01-30  Jim Meyering  <meyering@lucent.com>
93115
93116         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
93117
93118         * m4/prereq.m4 (utmp_includes): Define.
93119         Check for ut_user and ut_name members in both struct utmpx
93120         and struct utmp.
93121
93122 2000-01-30  Jim Meyering  <meyering@lucent.com>
93123
93124         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
93125         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
93126         header files where only utmpx.ut_user is declared.
93127
93128         * lib/readutmp.h (UT_USER): Define.
93129
93130 2000-01-29  Jim Meyering  <meyering@lucent.com>
93131
93132         * m4/lib-check.m4: New file containing library-related checks from
93133         fileutils and sh-utils (textutils had none).
93134
93135 2000-01-28  Jim Meyering  <meyering@lucent.com>
93136
93137         * m4/perl.m4: Change format of warning message to look more like that
93138         from the missing script.  Suggestion from François Pinard.
93139
93140 2000-01-25  Jim Meyering  <meyering@lucent.com>
93141
93142         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
93143         well as time.h in the compile check.
93144         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
93145         Fix typo in cross-compiling case: s/yes/no/.
93146
93147 2000-01-23  Jim Meyering  <meyering@lucent.com>
93148
93149         * m4/jm-macros.m4: Move df-related tests here from
93150         fileutils/configure.in
93151
93152         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
93153         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
93154
93155         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
93156         s/space/ac_fsusage_space/.
93157         (jm_FILE_SYSTEM_USAGE): Take two parameters.
93158
93159         * m4/ftruncate.m4: New file (derived from part of
93160         fileutils/configure.in).
93161         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
93162         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
93163
93164         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
93165         AC_SUBST these here, rather than just in sh-util/configure.in, so
93166         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
93167         all the same.
93168         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
93169         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
93170         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
93171         (AC_SUBST(POW_LIBM)): Likewise.
93172         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
93173
93174 2000-01-23  Jim Meyering  <meyering@lucent.com>
93175
93176         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
93177         obstack.c.
93178
93179 2000-01-22  Jim Meyering  <meyering@lucent.com>
93180
93181         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
93182
93183         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
93184
93185         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
93186         configure.in
93187         (AC_CHECK_HEADERS): Likewise for sh-utils.
93188         (AC_CHECK_HEADERS): Likewise for textutils.
93189         Merge the three lists of headers.
93190
93191         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
93192         from fileutils' configure.in.
93193
93194         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
93195         code. Moved tests into their own function (_jm_DECL_HEADERS) in
93196         check-decl.m4.
93197
93198         * m4/check-decl.m4: Use #if rather than #ifdef.
93199         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
93200         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
93201         (_jm_DECL_HEADERS): Define new function.
93202         (jm_CHECK_DECLARATIONS): Require it.
93203
93204 2000-01-22  Jim Meyering  <meyering@lucent.com>
93205
93206         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
93207         [! HAVE_DECL_STRTOULL]: Declare strtoull.
93208         Required for some AIX systems.  Reported by Christian Krackowizer.
93209         [TESTING] (main): New function.
93210
93211         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
93212         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
93213         letters.
93214
93215         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
93216         iswprint.
93217
93218         * lib/strverscmp.c (ISDIGIT): Define.
93219         (strverscmp): Use ISDIGIT, not isdigit.
93220
93221 2000-01-19  Jim Meyering  <meyering@lucent.com>
93222
93223         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
93224         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
93225         defines `struct timespec' in <sys/time.h>
93226
93227         * m4/c-bs-a.m4: Remove uses of changequote altogether.
93228         Thanks to Akim for explaining.
93229
93230 2000-01-17  Paul Eggert  <eggert@twinsun.com>
93231
93232         * lib/nanosleep.c (nanosleep):
93233         Don't use SA_INTERRUPT to decide whether to call sigaction, as
93234         POSIX.1 doesn't require SA_INTERRUPT and some systems
93235         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
93236         it's been part of POSIX.1 since day 1 (in 1988).
93237
93238 2000-01-17  Jim Meyering  <meyering@lucent.com>
93239
93240         * lib/interlock: Remove unused file.  Reported by François Pinard.
93241
93242 2000-01-16  Paul Eggert  <eggert@twinsun.com>
93243
93244         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
93245         alert, backslash, formfeed, and vertical tab unnecessarily in
93246         shell quoting style.
93247
93248 2000-01-16  Jim Meyering  <meyering@lucent.com>
93249
93250         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
93251         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
93252         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
93253         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
93254
93255 2000-01-16  Jim Meyering  <meyering@lucent.com>
93256
93257         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
93258         because the latter didn't work.
93259
93260 2000-01-15  Jim Meyering  <meyering@lucent.com>
93261
93262         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
93263         (AC_REPLACE_FUNCS): Add memcpy and memset.
93264         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
93265         Add strpbrk.
93266         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
93267
93268 2000-01-12  Jim Meyering  <meyering@lucent.com>
93269
93270         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
93271         (jm_PREREQ): Use it.
93272         (jm_PREREQ_READUTMP): New macro.
93273         (jm_PREREQ): Use it.
93274
93275 2000-01-11  Paul Eggert  <eggert@twinsun.com>
93276
93277         Quote multibyte characters correctly.
93278         * m4/c-bs-a.m4: New file.
93279         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
93280         (jm_PREREQ): Use it.
93281
93282 2000-01-11  Paul Eggert  <eggert@twinsun.com>
93283
93284         * m4/uintmax_t.m4: Port to autoconf 2.13.
93285
93286 2000-01-08  Jim Meyering  <meyering@ascend.com>
93287
93288         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
93289         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
93290
93291 2000-01-04  Jim Meyering  <meyering@ascend.com>
93292
93293         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
93294         jm_STRUCT_DIRENT_D_TYPE.
93295         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
93296         jm_STRUCT_DIRENT_D_INO.
93297         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
93298         jm_STRUCT_UTIMBUF.
93299         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
93300         renamings.
93301         * m4/utime.m4: Likewise.
93302
93303         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
93304         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
93305
93306 2000-01-03  Paul Eggert  <eggert@twinsun.com>
93307
93308         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
93309         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
93310
93311 2000-01-02  Jim Meyering  <meyering@ascend.com>
93312
93313         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
93314         remember if this is necessary.
93315
93316 1999-12-26  Jim Meyering  <meyering@ascend.com>
93317
93318         * m4/jm-macros.m4: Use it here.
93319         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
93320
93321 1999-12-23  Jim Meyering  <meyering@ascend.com>
93322
93323         * m4/jm-macros.m4: Check for clock_gettime (moved from
93324         fileutils/configure.in)
93325         Check for gettimeofday.
93326
93327 1999-12-20  Jim Meyering  <meyering@ascend.com>
93328
93329         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
93330         autoconf-2.14a-1999-12-20.
93331
93332 1999-12-19  Jim Meyering  <meyering@ascend.com>
93333
93334         * m4/lstat-slash.m4: New file.
93335         * m4/jm-macros.m4: Use the new macro:
93336         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
93337
93338 1999-12-07  Jim Meyering  <meyering@ascend.com>
93339
93340         * m4/perl.m4: Require that File::Compare be available, too.
93341         Too many systems seem to lack it.
93342
93343         * m4/strftime.m4: Add checks for most of the cpp macros tested in
93344         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
93345
93346 1999-11-18  Paul Eggert  <eggert@twinsun.com>
93347
93348         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
93349         problem with the QNX 4.25 shell, which doesn't propagate exit
93350         status of failed commands inside shell assignments.
93351
93352 1999-11-17  Jim Meyering  <meyering@ascend.com>
93353
93354         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
93355
93356 1999-11-07  Jim Meyering  <meyering@ascend.com>
93357
93358         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
93359
93360 1999-11-06  Jim Meyering  <meyering@ascend.com>
93361
93362         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
93363         * m4/jm-macros.m4 (jm_MACROS): Use it here.
93364
93365 1999-11-05  Jim Meyering  <meyering@ascend.com>
93366
93367         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
93368         configure.in of textutils, fileutils, and sh-utils into this one
93369         (shared between those packages) file.
93370         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
93371         AC_STRUCT_ST_BLKSIZE.
93372
93373 1999-11-03  Jim Meyering  <meyering@ascend.com>
93374
93375         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
93376         of AC_CHECK_TYPE checks includes unistd.h.
93377         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
93378         Suggestion from Akim Demaille.
93379
93380 1999-10-30  Jim Meyering  <meyering@ascend.com>
93381
93382         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
93383         m4-quoted string.
93384         * m4/ls-mntd-fs.m4: Likewise.
93385         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
93386         * m4/jm-winsz1.m4: Likewise.
93387
93388         * m4/const.m4: Remove file, since the fix made it into the experimental
93389         version of autoconf.
93390         * m4/mktime.m4: Likewise.
93391
93392         * m4/check-type.m4: Remove file, now that the latest version of
93393         AC_CHECK_TYPE takes a third arg to specify additional #includes.
93394
93395         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
93396         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
93397         AC_CHECK_TYPE.
93398
93399 1999-10-04  Jim Meyering  <meyering@ascend.com>
93400
93401         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
93402
93403 1999-09-22  Paul Eggert  <eggert@twinsun.com>
93404
93405         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
93406         2.95.1 bug with HP-UX 10.20.
93407
93408 1999-09-17  Jim Meyering  <meyering@ascend.com>
93409
93410         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
93411         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
93412         due to missing strdup (against sh-utils-2.0).
93413
93414 1999-08-29  Jim Meyering  <meyering@ascend.com>
93415
93416         * m4/jm-macros.m4: Require jm_BISON.
93417         * m4/bison.m4: New file.
93418
93419 1999-08-17  Paul Eggert  <eggert@twinsun.com>
93420
93421         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
93422         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
93423
93424 1999-08-05  Jim Meyering  <meyering@ascend.com>
93425
93426         * m4/getline.m4: Rename test file from conftestdata to conftest.data
93427         to avoid conflicts with `conftest' on 8+3 filesystems.
93428         Suggestion from Eli Zaretskii.
93429
93430 1999-08-04  Jim Meyering  <meyering@ascend.com>
93431
93432         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
93433         fileutils and sh-utils (textutils's getline test was inadequate).
93434         (AM_FUNC_GETLINE): Run this test.
93435         (AC_CHECK_FUNCS): Check for getdelim.
93436         Reported by Bob Proulx.
93437
93438 1999-08-02  Jim Meyering  <meyering@ascend.com>
93439
93440         * m4/jm-macros.m4: Add a comment.
93441
93442 1999-08-01  Paul Eggert  <eggert@twinsun.com>
93443
93444         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
93445         <inttypes.h> defines strtoumax as a macro (and not as a
93446         function).
93447
93448 1999-08-01  Paul Eggert  <eggert@twinsun.com>
93449
93450         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
93451         that we can shift, multiply and divide unsigned long long
93452         values; Ultrix cc can't do it.
93453
93454 1999-08-01  Paul Eggert  <eggert@twinsun.com>
93455
93456         * m4/mktime.m4: New file, which is a preview of what should appear
93457         in the next public autoconf release.
93458
93459 1999-08-01  Paul Eggert  <eggert@twinsun.com>
93460
93461         * m4/lfs.m4: Remove this file.
93462         * m4/largefile.m4: New file.  It contains the old contents of
93463         lfs.m4, except that all names with prefix AC_LFS have been
93464         changed to use the prefix AC_SYS_LARGEFILE instead, to be
93465         compatible with future autoconf versions.  Also, some minor m4
93466         quoting problems have been fixed.
93467
93468 1999-08-01  Paul Eggert  <eggert@twinsun.com>
93469
93470         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
93471         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
93472         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
93473         and simplify the shell code.
93474
93475 1999-08-01  Jim Meyering  <meyering@ascend.com>
93476
93477         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
93478         m4.
93479
93480 1999-07-20  Jim Meyering  <meyering@ascend.com>
93481
93482         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
93483
93484 1999-07-15  Jim Meyering  <meyering@ascend.com>
93485
93486         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
93487
93488 1999-05-22  Jim Meyering  <meyering@ascend.com>
93489
93490         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
93491
93492 1999-05-20  Jim Meyering  <meyering@ascend.com>
93493
93494         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
93495         Add a colon after each `then' in case $4 is empty.
93496
93497 1999-05-16  Jim Meyering  <meyering@ascend.com>
93498
93499         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
93500
93501 1999-05-10  Jim Meyering  <meyering@ascend.com>
93502
93503         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
93504
93505         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
93506         AC_FUNC_MKTIME.
93507
93508 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
93509
93510         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
93511
93512 1999-05-04  Paul Eggert  <eggert@twinsun.com>
93513
93514         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
93515         not CPPFLAGS, so that linking works correctly in IRIX.
93516
93517 1999-04-30  Paul Eggert  <eggert@twinsun.com>
93518
93519         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
93520
93521 1999-04-20  Paul Eggert  <eggert@twinsun.com>
93522
93523         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
93524         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
93525         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
93526         jm_AC_TYPE_UNSIGNED_LONG_LONG.
93527         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
93528
93529         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
93530
93531 1999-04-20  Jim Meyering  <meyering@ascend.com>
93532
93533         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
93534         AC_REPLACE xstroull if necessary.  From Paul Eggert.
93535         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
93536
93537 1999-04-18  Jim Meyering  <meyering@ascend.com>
93538
93539         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
93540         * m4/jm-macros.m4: Use it.
93541
93542 1999-04-06  Jim Meyering  <meyering@ascend.com>
93543
93544         * m4/strftime.m4: Remove test for %f.
93545
93546 1999-03-29  Jim Meyering  <meyering@ascend.com>
93547
93548         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
93549         superset of the AC_TYPE_* checks in the textutils, fileutils,
93550         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
93551         AC_TYPE_PID_T.
93552
93553 1999-03-28  Jim Meyering  <meyering@ascend.com>
93554
93555         * m4/jm-macros.m4: Define GNU_PACKAGE here.
93556         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
93557         replaced e.g., in the *.sh files of the sh-utils.
93558
93559 1999-03-20  Jim Meyering  <meyering@ascend.com>
93560
93561         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
93562         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
93563         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
93564
93565 1999-03-19  Jim Meyering  <meyering@ascend.com>
93566
93567         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
93568
93569 1999-03-12  Jim Meyering  <meyering@ascend.com>
93570
93571         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
93572
93573 1999-03-07  Jim Meyering  <meyering@ascend.com>
93574
93575         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
93576         declared.
93577
93578 1999-02-17  Jim Meyering  <meyering@ascend.com>
93579
93580         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
93581         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
93582
93583 1999-02-07  Jim Meyering  <meyering@ascend.com>
93584
93585         * m4/group-member.m4: New file -- extracted from sh-utils'
93586         configure.in.
93587
93588         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
93589         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
93590
93591 1999-02-06  Jim Meyering  <meyering@ascend.com>
93592
93593         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
93594         * m4/fnmatch.m4: Likewise.
93595         * m4/getgroups.m4: Likewise.
93596         * m4/lstat.m4: Likewise.
93597         * m4/malloc.m4: Likewise.
93598         * m4/putenv.m4: Likewise.
93599         * m4/realloc.m4: Likewise.
93600         * m4/regex.m4: Likewise.
93601         * m4/stat.m4: Likewise.
93602         * m4/strftime.m4: Likewise.
93603         Suggestion from Alain Magloire.
93604
93605         * m4/chown.m4: Use `.$ac_objext', not `.o'.
93606         * m4/fnmatch.m4: Likewise.
93607         * m4/getgroups.m4: Likewise.
93608         * m4/getline.m4: Likewise.
93609         * m4/lstat.m4: Likewise.
93610         * m4/malloc.m4: Likewise.
93611         * m4/memcmp.m4: Likewise.
93612         * m4/putenv.m4: Likewise.
93613         * m4/realloc.m4: Likewise.
93614         * m4/regex.m4: Likewise.
93615         * m4/stat.m4: Likewise.
93616         * m4/strftime.m4: Likewise.
93617         Suggestion from Alain Magloire.
93618
93619         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
93620         an argument.
93621
93622         * m4/regex.m4: Add a run-time Test for proper operation of
93623         re_compile_pattern.
93624
93625 1999-01-31  Jim Meyering  <meyering@ascend.com>
93626
93627         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
93628
93629 1999-01-30  Jim Meyering  <meyering@ascend.com>
93630
93631         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
93632
93633         * m4/jm-mktime.m4: Make this a wrapper around the official
93634         AM_FUNC_MKTIME rather than my private copy, now that the official one
93635         is up to date.
93636         * m4/mktime.m4: Remove file.
93637
93638         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
93639         * m4/uptime.m4: Likewise.
93640         * m4/uintmax_t.m4: Likewise.
93641
93642 1999-01-28  Jim Meyering  <meyering@ascend.com>
93643
93644         * m4/jm-macros.m4: Use jm_AFS.
93645         * m4/afs.m4: New file (from fileutils' configure.in).
93646
93647         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
93648         * m4/chown.m4: Likewise.
93649         * m4/d-ino.m4: Likewise.
93650         * m4/d-type.m4: Likewise.
93651         * m4/fnmatch.m4: Likewise.
93652         * m4/getgroups.m4: Likewise.
93653         * m4/gettext.m4: Likewise.
93654         * m4/jm-mktime.m4: Likewise.
93655         * m4/jm-winsz2.m4: Likewise.
93656         * m4/lcmessage.m4: Likewise.
93657         * m4/ls-mntd-fs.m4: Likewise.
93658         * m4/malloc.m4: Likewise.
93659         * m4/memcmp.m4: Likewise.
93660         * m4/putenv.m4: Likewise.
93661         * m4/realloc.m4: Likewise.
93662         * m4/st_mtim.m4: Likewise.
93663         * m4/strftime.m4: Likewise.
93664
93665 1999-01-16  Jim Meyering  <meyering@ascend.com>
93666
93667         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
93668         (ARGMATCH_DIE_DECL): Define.
93669
93670 1999-01-12  Jim Meyering  <meyering@ascend.com>
93671
93672         * m4/Makefile.am.in: Rewrite to avoid using fmt.
93673         Reported by Lars Hecking.
93674
93675 1999-01-10  Jim Meyering  <meyering@ascend.com>
93676
93677         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
93678         gross kludge.
93679         * m4/inttypes_h.m4: Likewise.
93680         * m4/lstat.m4: Likewise.
93681         * m4/malloc.m4: Likewise.
93682         * m4/readdir.m4: Likewise.
93683         * m4/realloc.m4: Likewise.
93684         * m4/st_dm_mode.m4: Likewise.
93685         * m4/stat.m4: Likewise.
93686         * m4/utimbuf.m4: Likewise.
93687         * m4/utimes.m4: Likewise.
93688
93689         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
93690         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
93691         comments in config.h.in are meaningful.
93692
93693         * m4/jm-macros.m4: Require autoconf-2.13 here.
93694
93695         * m4/regex.m4: By default, don't use the included regex.c on systems
93696         with glibc 2.  Suggestion from Uli Drepper.
93697
93698 1999-01-02  Jim Meyering  <meyering@ascend.com>
93699
93700         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
93701
93702 1998-12-18  Jim Meyering  <meyering@ascend.com>
93703
93704         * m4/Makefile.am.in (Makefile.am): Simplify rule.
93705         Based on a suggestion from Lars Hecking.
93706
93707 1998-11-16  Paul Eggert  <eggert@twinsun.com>
93708
93709         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
93710
93711 1998-11-16  Jim Meyering  <meyering@ascend.com>
93712
93713         * m4/lfs.m4: Double-quote the `uname...` expression.
93714
93715 1998-11-14  Jim Meyering  <meyering@ascend.com>
93716
93717         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
93718         * m4/stat.m4: Likewise.
93719
93720 1998-11-03  Jim Meyering  <meyering@ascend.com>
93721
93722         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
93723         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
93724
93725 1998-10-18  Jim Meyering  <meyering@ascend.com>
93726
93727         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
93728
93729 1998-10-17  Jim Meyering  <meyering@ascend.com>
93730
93731         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
93732         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
93733         calls for those previously hard-coded headers.  Instead, take a new
93734         parameter.
93735         (jm_CHECK_DECLARATIONS): Reflect interface change.
93736         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
93737         (jm_CHECK_DECL_LOCALTIME_R): New macro.
93738
93739         * m4/mktime.m4: Test for spring-forward gap before long-running test.
93740
93741 1998-10-14  Jim Meyering  <meyering@ascend.com>
93742
93743         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
93744         instead of "TZ=America/Vancouver".  From Paul Eggert.
93745
93746 1998-10-11  Jim Meyering  <meyering@ascend.com>
93747
93748         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
93749         This adds a test for a recently added compatibility fix for mktime.c.
93750         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
93751
93752 1998-09-27  Jim Meyering  <meyering@ascend.com>
93753
93754         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
93755
93756         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
93757         ../configure.in, including a change from Gordon Matzigkeit to allow
93758         cross-compiling for the Hurd.
93759
93760         * m4/glibc.m4: New file/macro to test for the GNU C Library
93761         versions 1 and 2.  From Gordon Matzigkeit.
93762         Indent.
93763
93764 1998-09-21  Jim Meyering  <meyering@ascend.com>
93765
93766         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
93767
93768 1998-08-18  Paul Eggert  <eggert@twinsun.com>
93769
93770         Port nanosecond-resolution times to UnixWare 2.1.2 and
93771         pedantic Solaris 2.6.
93772
93773         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
93774         AC_STRUCT_ST_MTIM.
93775         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
93776         Generate name of ns member, instead of just 1 or undef.
93777         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
93778
93779 1998-08-15  Jim Meyering  <meyering@ascend.com>
93780
93781         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
93782         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
93783         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
93784         instead of jm_TYPE_SSIZE_T.
93785
93786 1998-08-12  Jim Meyering  <meyering@ascend.com>
93787
93788         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
93789
93790 1998-08-02  Jim Meyering  <meyering@ascend.com>
93791
93792         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
93793         in acconfig.h manually.
93794
93795 1998-07-31  Paul Eggert  <eggert@twinsun.com>
93796
93797         * m4/st_mtim.m4: New file.
93798
93799 1998-07-28  Jim Meyering  <meyering@ascend.com>
93800
93801         * m4/utimes.m4: Undef stat.
93802
93803 1998-07-25  Jim Meyering  <meyering@ascend.com>
93804
93805         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
93806         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
93807
93808 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
93809
93810         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
93811         uid and gid actually remain unchanged.
93812
93813 1998-07-07  Jim Meyering  <meyering@ascend.com>
93814
93815         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
93816
93817 1998-07-04  Jim Meyering  <meyering@ascend.com>
93818
93819         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
93820         to prove that this macro can be used in packages without regex.c.
93821
93822 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
93823
93824         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
93825         is to be used.
93826
93827 1998-07-03  Jim Meyering  <meyering@ascend.com>
93828
93829         * m4/gettext.m4: Add -lintl if it's found to be necessary.
93830
93831         * m4/gettext.m4: New file -- from gettext-0.10.35.
93832         * m4/lcmessage.m4: Likewise.
93833         * m4/progtest.m4: Likewise.
93834
93835         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
93836         * m4/jm-macros.m4: Require the new macro.
93837
93838 1998-06-29  Jim Meyering  <meyering@ascend.com>
93839
93840         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
93841         for the definition of NGROUPS (used in a system header included
93842         by sys/mount.h).
93843
93844 1998-06-28  Jim Meyering  <meyering@ascend.com>
93845
93846         * m4/ls-mntd-fs.m4: New file.
93847         * m4/fstypename.m4: New file.
93848
93849         * m4/jm-macros.m4: Require the new macro.
93850         * m4/jm-glibc-io.m4: New file.
93851
93852 1998-05-19  Jim Meyering  <meyering@ascend.com>
93853
93854         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
93855         * m4/lchown.m4: New file.
93856
93857         * m4/Makefile.am.in: New file.
93858         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
93859
93860 1998-05-14  Jim Meyering  <meyering@ascend.com>
93861
93862         * m4/Makefile.am (EXTRA_DIST): Add them.
93863         * m4/jm-macros.m4: New file.
93864         * m4/utimbuf.m4: New file.
93865
93866 1998-05-12  Jim Meyering  <meyering@ascend.com>
93867
93868         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
93869
93870 1998-05-11  Jim Meyering  <meyering@ascend.com>
93871
93872         * m4/isc-posix.m4: New file.
93873
93874 1998-05-10  Jim Meyering  <meyering@ascend.com>
93875
93876         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
93877
93878 1998-05-09  Jim Meyering  <meyering@ascend.com>
93879
93880         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
93881         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
93882         with automake.
93883
93884         * m4/ssize_t.m4: New file.
93885         * m4/mktime.m4: Remove file -- the new automake has this now.
93886
93887 1998-04-26  Jim Meyering  <meyering@ascend.com>
93888
93889         * m4/assert.m4: New file.
93890         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
93891
93892 1998-04-05  Jim Meyering  <meyering@ascend.com>
93893
93894         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
93895         (jm_PREREQ): Use it here.
93896
93897 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
93898
93899         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
93900         in acconfig.h.
93901
93902 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
93903
93904         * m4/prereq.m4: New file.
93905         * m4/error.m4: New file.
93906         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
93907
93908 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
93909
93910         * m4/getline.m4: Don't set am_cv_func_working_getline before the
93911         cache-check for the same variable -- that defeated the purpose of
93912         the test; the test program was never run.  This was a problem only
93913         on systems with losing getline functions -- HP-UX 10.20 is one.
93914         Reported by Bjorn Helgaas.
93915
93916 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
93917
93918         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
93919
93920 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
93921
93922         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
93923
93924         * m4/const.m4: New file.  Use an initializer in this declaration
93925         typedef int charset[2]; const charset x;
93926         Reported by Bob Glickstein.
93927
93928 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
93929
93930         * m4/chown.m4: Fix reversed types on -1 args to chown.
93931         From Kaveh Ghazi.
93932
93933 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
93934
93935         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
93936         Add lseek and memchr.
93937
93938         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
93939         T.E.Dickey <dickey@clark.net> said that some older preprocessors
93940         have a 20-character limit on names.
93941
93942 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
93943
93944         * m4/inttypes_h.m4: New file.
93945         * m4/uintmax_t.m4: New file.
93946         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
93947
93948
93949         -----
93950
93951         Local Variables:
93952         coding: utf-8
93953         End:
93954
93955         Copyright (C) 1997-2012 Free Software Foundation, Inc.
93956
93957         Copying and distribution of this file, with or without
93958         modification, are permitted provided the copyright notice
93959         and this notice are preserved.